Neu, oder mit Perwoll gewaschen? (Morgoth, 13. Feb 1996, 19:52:25):
Hi,
ich weiss, saubloeder Titel, aber was besseres ist mir nicht eingefallen.
Wie ihr der Rubrik schon entnehmen koennte, gibt es eine neue Region.
Neu? Nein. Es ist das verlorene Land. Da es durch reichlichen zuwachs
sehr schnell gross geworden ist und immer weiter und schneller waechst,
haben sich einige EMs dazu durchgerungen, das VL als Region anzuerkennen.
Dieser Entschluss kann Rueckgaengig gemacht werden, wenn wir, das sind :
Saikan und Ich, mist bauen. Wir beide haben die 'Gewalt' ueber das VL.
Wir suchen immer engagierte Mitarbeiter mit guten und ausgefallenen
Ideen. Wir haben fuer (fast) alles platz bei uns. Die Karte liegt (noch?)
auf der Insel-WWW-Seite.
OK. Es wird ne Zeit dauern, bis alles kopiert und geaendert ist, daher kann
es wohl anfaenglich mal den einen oder anderen Bug geben, der wohl schnell
behoben werden kann.
Ich hoffe auf eine gute Resonanz und auf gute Zusammenarbeit mit meinen
neuen Kollegen.
Danke
Morgoth
P.S.: Ich hoffe die formatierung ist ok....

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



Sehertor (Boing, 13. Feb 1996, 20:48:58):
Bitte das Sehertor ins verlorene Land momentan nicht benutzen, da
gibt es gerade Inkonsistenzen, die zu Fehlern fuehren koennen, die
ich nicht abschaetzen kann. Also nur per Hand (Schiff) ins verlorene
Land fahren.
  Boing

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



Re: Sehertor (Guybrush, 13. Feb 1996, 20:49:51):
~#! rn=Boing rt=824240938
~#! tid=824240938
Wie?
Gibts da jetzt ne Ruderschiffverbindung?

mir is oed....

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



Re: Re: Sehertor (Asmodis, 13. Feb 1996, 20:55:55):
~#! rn=Guybrush rt=824240991
~#! tid=824240938
Anscheinend hat Rochus das Sehertor etwas voreilig umgehaengt.
Deshalb kann man es von Vland aus nicht erkennen, also der
Hinweg klappt, aber der Rueckweg nicht :)

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



WWW Seite (Saikan, 14. Feb 1996, 10:56:38):

Neue ueberarbeitete und erweiterte Version der Web Seiten.

Saikan

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



Umzug vollzogen (Morgoth, 14. Feb 1996, 13:01:50):
Hi,
so..der Umzug des verlorenen Landes ist komplett.
Es kann sein, dass wir noch irgendwo einen Ausgang oder
ein Monster vergessen haben. Bitte meldet das dann sofort.
bis dann
Morgoth

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



Dartspiel eroeffnet !! (Morgoth, 14. Feb 1996, 17:44:30):
Da die Kneipe am Orkhausener Marktplatz schon lange keine schwarzen
Zahlen mehr schreibt, hat der Wirt nochmal einen Kredit bei der "
Zentralbank aufgenommen und dafuer einen Dartraum eingerichtet.
Er hofft, dass er damit wieder etwas Geld einnimmt. Also wenn
ihr darten geht, trinkt auch mal ne Cola.
Morgoth

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



Re: Dartspiel eroeffnet !! (Asmodis, 14. Feb 1996, 18:38:22):
~#! rn=Morgoth rt=824316270
~#! tid=824316270
Das Dartspiel ist doch mittlerweile ein alter Hut :)
Aber wegen dem Kredit, deshalb also geben die Laeden nicht mehr
soviel her, weil einige NPC-Wirte Kredite aufnehmen. Wahrscheinlich
koennen sie nichtmal die Raten zurueckzahlen, soso.

P.S.: :)

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



ACHTUNG! NEUEROEFFNUNG! (Morgoth, 15. Feb 1996, 19:31:23):
Lange Zeit haben die Orkhausener Buerger darauf gewartet.
Jetzt ist es endlich soweit. Sie haben ihren eigenen Supermarkt.

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



OjeOje das Sumpfviech! (Saikan, 15. Feb 1996, 21:28:51):
Huhu!

Seit langer Zeit geht das Geruecht durch das Drudenland, dass ein
schreckliches Monster in den Suempfen des Landes hausen soll.
Erste Abenteurer konnten diese Geschichten entlich bestaetigen!
Noch hat es ihnen nicht das Leben gekostet!

Saikan, Herr der Finsternis, Druden und Hexen

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



Re: OjeOje das Sumpfviech! (Asmodis, 15. Feb 1996, 21:37:19):
~#! rn=Saikan rt=824416131
~#! tid=824416131
Ist die Hydra umgezogen ? :)

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



Sumpfviech (Saikan, 15. Feb 1996, 21:38:44):
grins, leider hat das Ding nur einen Kopf.. mal sehen.. vielleicht wachsen
ihm ja die Spieler ueber den Kopf, dann muss man da was gegen unternehmen ;)

Saikan

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



Schattenwald (Saikan, 15. Feb 1996, 21:56:12):
Noch was neues!

Sehr mutige (lebensmuede) Abenteurer haben einen neuen Wald gefunden. Er soll
am Sumpfland
anschliessen und sehr unheimlich sein.

Saikan

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



Re: OjeOje das Sumpfviech! (Schrumpfi, 17. Feb 1996, 13:31:43):
~#! rn=Saikan rt=824416131
~#! tid=824416131
Nix da! Herr ueber Hexen, pah! Wir brauchen keine Herrn! ;-)
Schrumpfi und Lilith frauschen alleine

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



WWW Seiten (Saikan, 20. Feb 1996, 10:52:41):
Neue grafisch ueberarbeitete WWW Seiten.

Saikan

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



Neuigkeit beim Dartspiel (Morgoth, 20. Feb 1996, 11:41:14):
Es gibt jetzt fuer jeden Spieler noch die Maximale Punktezahl pro Runde und
die Anzahl der geworfenen 180er (wenn ueberhaupt).
Morgoth
P.S.: Bitte nicht wundern, wenn auf der Liste noch so viele mit 0
Punkte/Runde stehen...die haben noch nicht nach dem neuen System gespielt ;-))

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



Das fahrende Volk (Saikan, 20. Feb 1996, 13:45:19):
Hallo elende Spieler ;)

Ich soll euch von dem fahrenden Volk ausrichten, dass sie fuer eine Weile im
Drudenland verweilen werden.

Saikan

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



Wiccagraben (Saikan, 20. Feb 1996, 14:05:25):
Hallo!

Die Goettin der Mondin Diana, ist hinabgefahren und hat ihren Hexen
den heiligen Ritualort des Moorgrabens eroeffnet. Schon bald wird sich dort
der hohe Coven der Wicca versammeln.

Saikan

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



Gestoerte Nachtruhe (Morgoth, 21. Feb 1996, 18:58:02):
Da sich wiederholt Anwohner in Orkhausen ueber den Krach
im Handelskontor beschwert haben, haben die Mitglieder
der Orkhausener Hanse ihr Kontor verlegt. Es befindet
sich jetzt ein Stueck ausserhalb der Stadt.

i.A. Morgoth

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



NEUEROEFFNUNG (Jasper, 13. Mar 1996, 21:44:23):
Im Orkhausener Handelskontor kann man nun auch nach einem nervenden
Einkaufsbummel, in Martha's Bistro ein kuehles Bitburger schluerfen.

Jasper, sorgt fuer Bewegung in Orkhausen.

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



Re: NEUEROEFFNUNG (Caradhras, 13. Mar 1996, 23:46:59):
~#! rn=Jasper rt=826749863
~#! tid=826749863
fehler 2te Zeile, Komma gehoert weg

        Caradhras :)

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



Re: Re: NEUEROEFFNUNG (Jasper, 13. Mar 1996, 23:53:49):
~#! rn=Caradhras rt=826757219
~#! tid=826749863
na gut :) trotzdem war noch keiner hier :) sollte uebrigens der wink mit dem
zaunpfahl sein, dass es hier zum Schlachtfeld geht :)

Jasper

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



Aenderung der Stadtwache (Morgoth, 14. Mar 1996, 11:00:48):
Die Stadtwachen in Orkhausen sind nun etwas variiert. Man sollte sie sich
vorher genau anschauen und einschaetzen. Ausserdem haben die normalen Wachen
eine Ausbildung hinter sich, die ihnen einige neue Faehigeiten ermoeglichen.
Viel Spass...
Morgoth

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



Re: Re: NEUEROEFFNUNG (Hardil, 14. Mar 1996, 11:53:19):
~#! rn=Caradhras rt=826757219
~#! tid=826749863
fehler 2te Zeile, kein Apostroph nach Martha.

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



Re: Aenderung der Stadtwache (Aline, 14. Mar 1996, 11:54:26):
~#! rn=Morgoth rt=826797648
~#! tid=826797648
Hi Morgoth,

mal eine kleine Frage am Rande?
Wie schaetzt man, wenn man den Spruch nicht kann?
Ich meine so als kleiner Zauberer? Wie ist das bei den Karatekas?
Oder gilt hier wieder das Motto: Nicht schaetzen, ueberraschen lassen. :)

Aline

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



Re: Re: Aenderung der Stadtwache (Chicola, 14. Mar 1996, 11:55:57):
~#! rn=Aline rt=826800866
~#! tid=826797648
Die Karateka koennen auch schatzen :) Also ich zumindest :)
Ciao Chicola

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



Re^3: Aenderung der Stadtwache (Anatol, 14. Mar 1996, 12:23:22):
~#! rn=Chicola rt=826800957
~#! tid=826797648

/*
Die Zauberer lernen den "schaetz"-Spruch imho relativ spaet. Aber so wie ich
Morgoth einschaetze (*grins*), duerfe es in diesem Fall irrelevant sein, da
man als kleiner Zauberer (< Lv 9) sich mit den Orkwachen doch lieber "gut
Freund" stellen sollte.
*/

Just my two Senftuben,
Anatol


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



Kleine Aenderung (Morgoth, 18. Mar 1996, 13:50:54):
Es betrifft den Elementar. Er ist nur etwas intelligenter geworden. Mehr
nicht. ;-)) Testet es doch mal.
Morgoth

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



Parawelt in Orkhausen (Morgoth, 25. Mar 1996, 17:18:00):
Da es wiederholt vorgekommen ist, dass die Teleportsprueche der Zauberer
misslungen sind, sind dadurch in Orkhausen Risse in die Parallelwelt
entstanden. Schaut Euch also besser zweimal um, bevor ihr etwas angreift.
(Falls ihr ueberhaupt den Mut habt).
Morgoth

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



Re: Parawelt in Orkhausen (Jasper, 25. Mar 1996, 19:39:46):
~#! rn=Morgoth rt=827770680
~#! tid=827770680
Im Parallel-Orkhausen war noch niemand ausser todesmutigen Teststerbern :)

Jasper

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



Re: Re: Parawelt in Orkhausen (Asmodis, 25. Mar 1996, 20:01:11):
~#! rn=Jasper rt=827779186
~#! tid=827770680
Klar, mann ist ja nicht lebensmuede :)

P.S.: Ein Ork-Karateka, der einem Schwarzgurt 150 Lps pro Runde
      wegschlaegt, ist wohl ein klein bisschen zu stark

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



Re^3: Parawelt in Orkhausen (Mupfel, 26. Mar 1996, 01:02:04):
~#! rn=Asmodis rt=827780471
~#! tid=827770680
"Alle Monster, die unter 200 LP pro Kampfrunde weghauen, sind OK"
(Zitat Rochus, Erzmagier fuer Gilden oder so)

da liegen Morgoth' 150 LP noch locker drunter, also was solls? :-)

-mupfel- (ruft Morgoth zu: weiter so, lass sie sterben :-)

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



Re^4: Parawelt in Orkhausen (Mupfel, 26. Mar 1996, 01:03:05):
~#! rn=Mupfel rt=827798524
~#! tid=827770680
Oh sorry, hab was vergessen: *zwinker* *zwinker* *zwinker* *zwinker*
*zwinker*

-mupfel- *zwinker*








*zwinker*




*zwinker*



-> schmarrn  *zwinker* *zwinker*

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



Weitere Katakomben entdeckt (Morgoth, 28. Mar 1996, 16:29:17):
[Verlegt von gilden.karate, Morgoth, 28. Mar 1996, 16:28:40]:
Hallo ihr unerschrockenen Forscher,
unter Orkhausen wurden weitere Katakomben entdeckt.
Leider waren die Wissenschaftler nicht in der Lage, diese
weiter zu erforschen. Welcher mutige Abenteurer erklaert
sich bereit, dies fuer sie zu tun? Es werden starke und
mutige Leute gesucht. Allerdings soll es dort doch
recht gefaehrich sein. Also seid auf der Hut.
Eine Belohnung wartet auf Euch.
i.A. Morgoth


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



Re: Weitere Katakomben entdeckt (Asmodis, 28. Mar 1996, 19:43:01):
~#! rn=Morgoth rt=828026957
~#! tid=828026957
Hmm, wenn DU sagst, es ist gefaehrlich, dann ist es sicher wieder
eine Todesfalle :)

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



Re^3: Parawelt in Orkhausen (Mahatma, 28. Mar 1996, 22:43:00):
~#! rn=Asmodis rt=827780471
~#! tid=827770680
s
Was hast du bloss gegen diesen netten ork? Mein Zino hat den mal umgehauen,
war gar nicht so schlimm ;)

Mahatma

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



Re: Weitere Katakomben entdeckt (Azzuro, 29. Mar 1996, 01:36:15):
~#! rn=Morgoth rt=828026957
~#! tid=828026957
Auch der Tod ist eine Belohnung! ;)

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



NEUEROEFFNUNG (Jasper, 29. Mar 1996, 07:58:58):


N E U E R O E F F N U N G
-------------------------

D E S


S C H L A C H T F E L D S


So ab und nun duerft ihr auch alleine Euch gegenseitig die Schaedel
auf dem Schlachtfeld zerschmettern.


Fuer die wenigen, die noch an keinem Test teilgenommen haben:

Auf dem Schlachtfeld ist es erlaubt bzw. erwuenscht, dass Spieler sich
gegenseitig angreifen. Man verliert dabei weder sein Leben noch EP, man
kann allerdings auch nichts gewinnen, ausser eine vordere Position
auf den Bildern in Marthas Bistro.
Vorerst ist alle 4 Stunden eine neue Schlacht moeglich, die
Anmeldephase( fuer INSIDER :) ) betraegt jetzt 5 Minuten, also nicht
ungeduldig werden.

Genauere Information gibts bei Martha im Orkhausener Handelskontor.


Weitere Ideen, um das Schlachtfeld attraktiver zu machen, treffen bei
mir auf offene Ohren.


Jasper


PS: Prinzipiell hab ich nix dagegen wenn Magier mit ihren Testspielern an
der Schlacht teilnehmen, die sollten dann aber nicht wesentlich mehr
als die ueblichen Stats haben, und auch nur zugelassene Ausruestung
benutzen. Falls es noetig werden sollte einen Spieler vom Schlachtfeld
zu transen, erst bitte /d/schattenwelt/jasper/schlacht/.readme lesen.

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



Re: NEUEROEFFNUNG (Mango, 29. Mar 1996, 12:59:26):
~#! rn=Jasper rt=828082738
~#! tid=828082738




    Schoen, da kanns ja jetzt ganz offiziell losgehen ;).


Mango, freut sich hoellisch.




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



Re: Weitere Katakomben entdeckt (Mupfel, 29. Mar 1996, 16:03:35):
~#! rn=Morgoth rt=828026957
~#! tid=828026957
Belohnung == Tod ? :-)

-mupfel- (okok es hier ja '...wartet auf Euch' nicht '...wartet auf mich' :-)

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



Gedicht von Phygos (Acrimon, 29. Mar 1996, 18:42:40):

Liebe Leute lasst Euch sagen:
Morgoth hat uns mit neuen Monstern geschlagen!
Diese Monster, liebe Leute,
haben dicke, reiche Beute.
Geht zur Insel, die ward verloren;
dort wird ein vampir geboren.
Dieser hat ein geiles Schwert,
das dann und wann auch Heilung Dir gewaehrt.

Der Autor des Gedichtes ist Phygos.

Acrimon, der Rote Ritter

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



staunt. (Saikan, 30. Mar 1996, 14:44:45):
Ich staune nur.


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



Re: Re: Weitere Katakomben entdeckt (Ktk, 31. Mar 1996, 20:05:47):
~#! rn=Asmodis rt=828038581
~#! tid=828026957
Es *ist* gefaehrlich...

Fyt.
\~d\

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



Dank an die mutigen Forscher (Morgoth,  2. Apr 1996, 16:49:32):
An alle mutigen Forscher, die sich in die Katakomben unter Orkhausen
getraut haben moechte ich im Namen der Wissenschaft und des Orkhausener
Rates meinen Dank aussprechen.
Nun sind dabei schon wieder neue, unbekannte Wege entdeckt
worden, die natuerlich auch erforscht werden wollen.
Also ein erneuter Aufruf an alle mutigen und starken dieser
Welt: 'Erforscht die Katakomben weiter'

i.A. Morgoth

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



Neues zu den Katakomben (Morgoth,  4. Apr 1996, 11:32:36):
Da sich wiederholt die mutigen Abenteurer beschwert haben, dass ihnen kein
Einlass in die Katakomben gewaehrt wird, hat sich der Buergermeister
entschlossen, die Katakomben fuer alle zugaenglich zu machen.
Allerdings warnt er juengere Spieler davor, sich dorthin zu begeben. Deshalb
liess er eine Warnung einbauen, die beachtet werden sollte.
i.A. Morgoth

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



zwei kleine aenderungen (Morgoth, 16. Apr 1996, 11:57:51):
1. der Orkmagier hat wieder ein nettes Spielzeug dabei.
2. Der Vampir ist etwas staerker und schlauer geworden.

Morgoth

P.S.: 3. Ich hab jetzt ne Idee fuer Katakombenlevel 3 ;-))

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



Basilisken usw. (Saikan, 16. Apr 1996, 16:48:32):
Hallo!

Es wurden alle Fehler im Drudenwald die NPC betreffend behoben.
Sie erscheinen jetzt wie erwartet jedesmal neu ;)

Saikan

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



Basilisk2 (Saikan, 16. Apr 1996, 17:28:14):
Eine seltsame neue Abart des Basilisken scheint alle alten verdraengt zu
haben.
Diese Art scheint sich seltsamerweise der uebermacht seiner Feinde angepasst
zu haben.

Saikan

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



Vorankuendigungen (Azzuro, 16. Apr 1996, 23:11:38):
Warnungen, wenn Du ein Monster staerker machst sind fair.
Aber muss jedes Tool, das ein Monster erhaelt angekuendigt werden? Wo bleibt
denn da der Forschergeist der Spieler?

Gruss Azzuro

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



Re: Vorankuendigungen (Anatol, 17. Apr 1996, 09:26:22):
~#! rn=Azzuro rt=829689098
~#! tid=829689098

Noe Azzuro, es mag zwar nerven, ist aber ganz ok, denn wenn man einmal ein
Monster als "erkundet und fuer unwichtig befunden" abgehakt wird, kontrolliert
man nicht jede Woche, ob sich was geaendert hat.

Anatol


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



Re: Re: Vorankuendigungen (Jasper, 17. Apr 1996, 10:44:00):
~#! rn=Anatol rt=829725982
~#! tid=829689098
und ausserdem laesst sich sonst niemand im Vland blicken, wenn nicht staendig
was neues angekuendigt wird, abundzu werden auch neue dinge angekuendigt, die
es schon ewig gibt, aber die kaum jemand entdeckt hat, ach erwaehnte ich
uebrigens schon in einem artikel das schlachtfeld ? :)
In Marthas Bistro hat sich nun ein Saenger niedergelassen, der das ein oder
andere nervige lied von sich gibt :)

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



Orkmagier (Morgoth, 17. Apr 1996, 12:00:17):
So, er hat sich mal wieder auf eine Studienreise begeben. Dort hat er
gelernt, wie man Flueche von Gegenstaenden entfernt. Dieses bietet er nun auch
an, gegen ein kleines Entgeld natuerlich. Fragt ihn einfach nach Fluch, dann
wird er Euch schon etwas erzaehlen.
Anm. d. Red.: Die Chaoshaut laesst sich nicht entfluchen, gibt aber ne
witzige Meldung. ;-))

i.A. Morgoth

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



Schlachtfeld (Jasper, 22. Apr 1996, 19:40:03):
Hi lieber MitschlaechterInnen,

wenn Ihr nun den Hebel des Krieges bewegt habt, koennt Ihr Euch auch die
verbleibende Zeit bis zum Schlachtbeginn anzeigen lassen.
Wers genau wissen will, bekommt natuerlich die brandaktuellen Neuigkeiten
auch von Martha auf einem Stoffetzen, den sie sich vom Koerper reisst :)
Martha findet man uebrigens immer noch auf dem Verlorenen Land in der ersten
Etage des Handelskontors.
Jasper

PS: Der Artikel war schon gepostet, als mir noch einfiel, dass man das
'lieber' ganz oben durch 'liebe' ersetzen koennte, oder man ueberliest das
lieber lieber ganz. Aeh, naja also, interessiert wahrscheinlich eh keinen. Die
naechsten Aenderungen gehen nur noch an Mail an die, die mindestens eine
Schlacht geschlagen haben :)

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



Ein Besuch lohnt sich (Morgoth, 23. Apr 1996, 12:42:31):
tja, es gibt schon wieder etwas neues. schaut euch mal genau um.
eine klitzekleine aenderung koennte auch DEIN leben entscheidend veraendern.
bis bald und viel spass wuenscht
Morgoth

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



Kirchturm (Bombowski, 23. Apr 1996, 14:21:33):
Hallo !!

Der Kirchturm in Orkhausen kann jetzt auch betreten werden.

Gruss, Bom

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



Nervmonster in der AGilde (Marita, 24. Apr 1996, 03:41:59):

Hi Magier,

"If you make a monster that can walk out of the castle, be sure that
 it is a very nice monster." ( /doc/KURS/RULES.WIZ )

Anlass: Ich bin hier von zahlreichen Leidensgenossen umgeben, die genau wie
ich neuerdings dauernd von einem Vland-Kobold genervt werden. Dazu noch
folgende Bemerkungen:
a) Er laesst sich nicht ignorieren.
b) Auf Kaempfe laesst er sich nicht ein.
c) Es gibt immer noch Spieler, die kein TF haben und deshalb das Gescrolle
     ertragen muessen.
Mag ja sein, dass man ihn irgendwie loswird, aber dafuer, dass er "nur" die
Funktion einer wandelnden Littfasssaeule hat, finde ich es unpassend, dass
man mit den genannten Standardmethoden keinen Erfolg hat. Und nochwas:
d) Er hat mir unaufgefordert einen Zettel gegeben, den ich nicht
     fallenlassen kann und der mir nur mein Inventory aufblaeht. Nach
     'ende' und Wiedereinloggen kommt der Kobold wieder und reicht mir
     einen neuen. Das ist praktisch das gleiche wie Autoload.
Ich habe mir das Teil uebrigens von einer netten Magierin destructen lassen -
das hat der Kobold scheinbar nicht mitbekommen und schmeisst mich seitdem
nicht mehr mit seinen Zetteln zu... etwas umstaendlich fuer meinen Geschmack,
vor allem aergerlich fuer einen Magier, der von 20 verschiedenen Spielern
deswegen angesprochen wird.

Konstruktiver Teil:
1) Da man ihn nicht offiziell ignorieren kann (Ist das bei NPCs immer so?
Keine Ahnung), aber man kann das doch zumindest "zu Fuss" einbauen, indem man
die Meldungen nur an diejenigen Spieler ausgibt, fuer die
(member(pl->QueryProp(P_IGNORE),"kobold")==-1) gilt.
2) Die offensichtlich vorhandene P_NODROP-Zeile ersatzlos streichen.

Und schon sind auch Nicht-TF-Benutzer wieder zufrieden. Danke im Voraus im
Namen dieser Spielergruppe.
Ein weiterer Beitrach aus dem arroganten Sortiment von
Marita

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



Re: Nervmonster in der AGilde (Marita, 25. Apr 1996, 02:06:55):
~#! rn=Marita rt=830310119
~#! tid=830310119
Hi,
Ja, ich bins wieder. 24 Stunden ists her, und nichts ist passiert. Der Kobold
rennt immer noch rum. Wenn ich beim Questen einen NPC ausfragen will, steht
er daneben und suelzt mich voll. Ich kann keine Hinweise mehr vernuenftig
lesen. Bitte Bitte Bitte, wenn mich ein Magier hoert: Zap diesen Kobold und
destructe das File, das ihn erzeugt. Es muesste irgendwo in /d/vland liegen,
mehr weiss ich nicht (Aeh, destructe das OBJEKT, das ihn erzeugt, das File
koennt Ihr meinetwegen heile lassen).
Ich werde jetzt jeden Tag 1x nerven, bis man wieder fair questen kann, und
bis dahin rutscht mir den Buckel runter.
Wenn was ist: marita@ande
Ende der Durchsage

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



Re: Re: Nervmonster in der AGilde (Rimus, 25. Apr 1996, 13:34:25):
~#! rn=Marita rt=830390815
~#! tid=830310119
Was hasst du gegen Jasper's Kobold ? Es ist doch normal, dass er versucht
Aufmerksamkeit auf sein Schlachtfeld zu erwecken. So wie ein PR-Mensch eines
Reiseunternehmens. Jasper hat mir gesagt, wer einmal an so einer Schlacht
teilgenommen hat, der wird NIE WIEDER von den Kobold belaestigt werden.
Also mach dich mal da hin und teste deine Faehigkeiten im Kampf mit anderen
Mitspielern. Ich finde das das Schlachtfeld ein Superteil ist, wenn PK's
auserhalb verboten sind!

RIMUS

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



Re^3: Nervmonster in der AGilde (Boing, 25. Apr 1996, 13:48:47):
~#! rn=Rimus rt=830432065
~#! tid=830310119
Einen supernervigen Kobold zu programmieren um Leute praktisch zu
zwingen das Schlachtfeld zu besuchen ist ja wohl das Letzte. Es soll
Leute geben, die es NICHT moegen sich mit anderen Spielern zu metzeln,
ob man da jetzt wirklich stirbt oder nicht ist ja egal. Als Spieler
wuerde mich persoenlich das Schlachtfeld nicht die Bohne interessieren
und aufdringliche Werbung dafuer empfaende ich als Belaestigung.
Boing gibt Marita recht: Weg mit dem Kobold!

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



Re^4: Nervmonster in der AGilde (Predator, 25. Apr 1996, 17:08:22):
~#! rn=Boing rt=830432927
~#! tid=830310119
Aber durch den Kobold sind manche erstmal aufmerksam geworden auf das
Schlachtfeld, was ja sicherlich der zweck war
Und SOOOOOOOOO nervend ist er ja dann doch nicht..

Predator, haelt das Verlorene Land fuer die z.Zt. interessanteste Region

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



Re^5: Nervmonster in der AGilde (Marita, 25. Apr 1996, 18:00:22):
~#! rn=Predator rt=830444902
~#! tid=830310119
Hi,
Also heute hat mich der Kobold nicht belaestigt. Heisst das, meine Rufe
wurden erhoert? Danke an den Magier, der dafuer sorgte, wer auch immer das
war.
Ich habe nichts dagegen, wenn der Kobold die Spieler auf das Vland
aufmerksam macht, aber diese Funktion wuerde er auch erfuellen, wenn man
ihn ignorieren oder toeten koennte und wenn man seinen zettel fallenlassen
kann. Denn all dies setzt voraus, dass er den Spieler mindestens 1x
genervt hat und seine Botschaft anbringen konnte. Wenn ich den Zettel
gelesen habe, erwarte ich einfach, dass ich den Kobold irgendwie wieder
loswerde und auch den Zettel wieder ablegen kann. Ich brauche nun wirklich
nicht die selbe Weisheit 12x eingehaemmert zu bekommen.
Im uebrigen finde ich es unfair, dass der Kobold nur zu Nichtmagiern
transt. Ich sehe zwar keinen praktischen Nutzen fuer Magier, bin aber der
Meinung, die Magier sollten durchaus eine Kostprobe davon erhalten, wie
penetrant aus ihren eigenen Reihen teilweise NPCs designt werden.
Nicht sooooo nervig? Ich habe letzte Nacht versucht, mit dem Kobold im Nacken
die Nibelun-
genquest zu machen. Beim Ausfragen der NPCs sind deren Antworten laufend
rausgescrollt. Wer die Quest kennt, weiss, wie poetisch dort geredet wird,
und da muss man halt manches 3x lesen. Mit Kobold daneben GEHT ES EINFACH
NICHT!
So, durch diesen Thread hat das Vland samt Schlachtfeld bestimmt eine
enorme Bekanntheit erlangt, was ja wohl auch der Sinn der Werbeaktion war.
Schade fuer Morgoth, der bei seinem Einsatz fuer das Verlorene Land keine
Negativwerbung verdient hat und der hoffentlich an diesem abstossenden
Aushaengeschild unschuldig war. Also danke jedenfalls nochmal an wen auch
immer, der uns Spieler von dieser Last befreit hat.
Achja, eine Bemerkung noch: Die Reaktionen auf den Kobold waren tagsueber
etwas weniger anti als waerend der Nacht. Ein Schelm, der da einen Zusam-
menhang zur anwesenden Spielerzahl zieht, die der Kobold zum Besuchen zur
Auswahl hat! ;-)

Marita, seit gestern Fan der Regionen Dschungel, Ebene, Fernwest, Gebirge,
Inseln, Polar, Unterwelt, Wald, Wueste und Zoo (achnee ;-))

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



Re^6: Nervmonster in der AGilde (Jasper, 25. Apr 1996, 18:07:27):
~#! rn=Marita rt=830448022
~#! tid=830310119
Ja der Kobold ist raus, das geht ja nicht dass der dich nervt.
Den Zettel kann man sich natuerlich immer noch besorgen, und zwar bei Martha.

Jasper

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



Re^5: Nervmonster in der AGilde (Morgoth, 26. Apr 1996, 07:14:55):
~#! rn=Predator rt=830444902
~#! tid=830310119
oh danke
kriech im staub
fall auf die knie

Morgoth treibt seine Schaefchen zu Hoechstleistungen

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



Re^6: Nervmonster in der AGilde (Morgoth, 26. Apr 1996, 07:16:36):
~#! rn=Marita rt=830448022
~#! tid=830310119
ich wars selber, der dem kobold die kehle zugedrueckt hat ;-)

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



Neue Entdeckung (Morgoth, 27. Apr 1996, 22:53:37):
Im Auftrag des Buergermeisters muss ich mal wieder etwas verkuenden.
In den Katakomben wurde ein seltsames Portal entdeckt, das sich in einem,
bisher verstecktem, Gang befindet.
Wieder einmal werden mutige Abenteurer gesucht, die die andere Seite des
Portals erkunden.
Wir wuenschen Ihnen viel Spass und gutes Gelingen
Morgoth i.A. des Orkhausener Stadtrates und des Buergermeisters

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



Re: Re: Neue Entdeckung (Mupfel, 10. Mai 1996, 17:57:28):
~#! rn=Morgoth rt=831736387
~#! tid=830638417
Gibs zu, du hast mit der Peitsche hinter ihm gestanden, Morgoth :-)

-mupfel-

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



Tot eines Magiers (auch sowas gibt es!) (Saikan, 13. Mai 1996, 17:38:17):
Hallo alle zusammen,

leider kann ich heute mal nicht das schreiben was ich eigentlich moechte.
(hae, hae)

Denn wir VLaender sind etwas betruebt doch vor allem erzuernt ueber Dinge die
hier so
vorgehen.
Damit meine ich das Verhalten einiger Magier die es sich dem Anschein nach zur
Lebensaufgabe
gemacht haben nur bessere bzw. maechtigere Seher abzugeben.

Natuerlich war unser (die Goetter moegen ihn Vergeben) "ehemaliger" VLand
Mitarbeiter Bombowski
an der Ganzen Sache nicht voellig unschuldig, dennoch moechte ich hier ganz
klar verurteilen
wie gewisse Magier mit ihm umgegangen sind. Stand ja das Ansehen einer
Spielerin auf dem Spiel.
Natuerlich SpielerIN.
Nunja.
Lange Rede kurzer Sinn. Bombowski hat auf jedem Fall gemerkt das auch unter
uns Magiern nicht alles
Friede, Freude, Eierkuchen ist, sondern ganz im Gegenteil sehr viel
gegeneinander gearbeitet wird.

Ich kann damit leben, Bombowski nicht.
Er hat den, seiner Meinung Meinung nach einizig Richtigen Weg, gewaehlt und
sich getoetet bzw.
geloescht.

Fuer das MG bedeutet das wahrscheinlich nicht viel.
Fuer mich bedeutet das jedoch nur das ich abermals in meinem Glauben
bestaetigt wurde, das zu viele
Magier nur bessere Spieler sind und es nicht verdienen Magier zu sein.
Wir haben im VLand einen Magier verloren, der noch so einiges mit uns zusammen
auf die Beine
gestellt haette.
Bravo ihr Magier! Vergrault sie alle und ihr werdet festellen, dass ihr eines
Tages alleine
dastehen werdet.

Ich moechte hier nicht allen Magiern auf den Schlips treten. Die jenigen die
ich meine,
werde es wissen. (Ich mein dich nicht Hate ;) )
Natuerlich gibt es auch Magier die ihren Job hier ernst nehmen (auch wenn
viele Glauben, ich
selber wuerde es nicht tuen).

Das sollte dazu reichen.

Ein veraergerter Saikan der immer Boeser und grummeliger wird.... grummel
(und richtig schreiben kann er auch nicht.)

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



Re: Tot eines Magiers (auch sowas gibt es!) (Zardoz, 13. Mai 1996, 17:41:58):
~#! rn=Saikan rt=832001897
~#! tid=832001897
Ab nach Schmarrn...

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



Re: Re: Tot eines Magiers (auch sowas gibt es!) (Morgoth, 13. Mai 1996, 17:42:36):
~#! rn=Zardoz rt=832002118
~#! tid=832001897
warum?
findest du dieses verhalten ok?

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



Ich antworte nie auf RE (Saikan, 13. Mai 1996, 17:43:34):
s.o.

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



Re: Re: Tot eines Magiers (auch sowas gibt es!) (Yantro, 13. Mai 1996, 17:44:07):
~#! rn=Zardoz rt=832002118
~#! tid=832001897

Ok, Saikan... jetzt haben wir alle eine Runde geweint!!! Was soll das jetzt?
Wenn er sich nicht wohlfuehlt, dann ciao und wenn Saikan sich nicht
wohlfuehlt, dann ciao... 

Ich find es schade, wenn es ein Magier noetig hat, sich auf das Niveau von
Orktoeter herunterzulassen....

                         Yantro

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



Re^3: Tot eines Magiers (auch sowas gibt es!) (Jasper, 13. Mai 1996, 17:45:28):
~#! rn=Yantro rt=832002247
~#! tid=832001897
Worum gehts denn eigentlich ???
Kann mal einer das log veroeffentlichen oder mir senden ?


Jasper hat mal wieder keine ahnung von nix

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



War klar (Saikan, 13. Mai 1996, 17:47:58):
Den Artikeln von Zardoz und Yantro habe ich nichts entgegenzusetzen.
Das spricht fuer sich.. schade, dass ihr so wenig verstandet habt.

Saikan

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



Re: War klar (Zardoz, 13. Mai 1996, 17:54:56):
~#! rn=Saikan rt=832002478
~#! tid=832002478
Ich wundere mich halt nur immer wieder ueber Leute, die nicht merken, dass
dies hier nur ein Spiel ist und jeder seine Rolle spielt, oder spielen sollte.
Wer sein RL-Wuensche und Probleme hierhin projeziert, der bekommt natuerlich
Probleme. Da hilft dann wohl nur ein Seelenklempner...

Ciao Zardoz

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



Stimmt (Saikan, 13. Mai 1996, 17:59:35):
Da stimme ich mit dir voll ueberein Zardoz.
Desswegen bin ich ja auch noch hier. Ich habe ja keine Probleme damit.
Es geht mehr darum das zu viele Leute ihre Macht als Magier missbrauchen.
Wuerden sie das nicht tun haette Bombowski sich auch nciht geloescht.
Und ein wenig mehr zusammen arbeiten koennten die Magier auch. Wir schotten
uns
immer ab und suchen unsere eigenen Leute.

Saikan

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



Re: Stimmt (Yantro, 13. Mai 1996, 18:14:01):
~#! rn=Saikan rt=832003175
~#! tid=832003175

Also ich fuer meinen Teil schotte mich nie ab... alle anderen machen das,
jawoll ;-)

Ausserdem will ich einfach nix mit Morgoth zu tun haben, denn das Streiten mit
ihm macht zu sehr Spass ;)  und irgendwie sind wir doch alle zum Spass hier
(ausser Silvana, die ist zum Kinderkriegen da;) )

                Yantro

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



Re^3: Tot eines Magiers (auch sowas gibt es!) (Jof, 13. Mai 1996, 20:05:05):
~#! rn=Yantro rt=832002247
~#! tid=832001897

 Und ich finde es schade, wenn ein sog. Magier es nicht mal schafft, sich
die Klagen eines anderen anzuhoeren, ohne das gleich ins Laecherliche ziehen
zu wollen. Manchmal waere es besser, sich solche Kommentare zu verkneifen,
mit denen man ja doch nur sich selbst blosstellt.

 Jof

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



Re^4: Tot eines Magiers (auch sowas gibt es!) (Jasper, 13. Mai 1996, 20:06:00):
~#! rn=Jof rt=832010705
~#! tid=832001897
ARGL, was ist denn eigentlich passiert ?


Jasper, planlos in Bonn

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



Re: War klar (Jof, 13. Mai 1996, 20:08:10):
~#! rn=Saikan rt=832002478
~#! tid=832002478

 Hinter jedem Spieler in diesem Mud sitzt ein Mensch an der Tastatur, der in
der Regel durchaus zu verletzen ist. Vielleicht brauchen die einen Seelen-
klempner, die das schlicht nicht raffen koennen. 

 Jof

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



Re: Re: War klar (Asmodis, 13. Mai 1996, 20:14:20):
~#! rn=Jof rt=832010890
~#! tid=832002478
Hmm, warum besprecht ihr das nicht in magier.beschwerden oder wie die
Gruppe heisst, wenn es sie gibt ? :)

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



Re^3: War klar (Jasper, 13. Mai 1996, 20:15:10):
~#! rn=Asmodis rt=832011260
~#! tid=832002478
Wuerde ich ja gerne, wenn ich endlich mal wuesste was eigentlich los war.

Jasper neugierig in Bonn

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



Re^4: War klar (Oetti, 13. Mai 1996, 20:38:05):
~#! rn=Jasper rt=832011310
~#! tid=832002478
Kurze Zusammenfassung, fuer alle, die nix raffen...

Bombowski alias Sundance, hatte irgendnen Daemonen meiner Frau angegriffen
worauf sie ihn
mit den Worten Lass das Du Depp, bedachte.
Er meinte darauf irgendwas von Schlampe, das sagte sie mir und ich 
meinte zu ihm so nicht.
Dann kam in Caps Lock ein teile mit an mich HAST DU EIN PROBLEM ODER WAS...
Ich meinte noch nicht, aber Du gleich..
Ich hab ihn dann zu mir und meiner Frau und Dancer war auch dabei getranst um
das zu klaeren.

Tja er haute wieder ab ich transte nochmal und wollte ihm erklaeren
das es mioeglich ist, dass man (wie Jof treffend bemerkte) jemanden auch RL
mit
unbedachten auesserungen treffen kann (ja ich mach ese auch manchmal)

NA ja dann kan ein SCHLEIMSCHIESSER, was auch gleichzeitig seine letzten Worte
waren..


DEr Rest ist Selbstloeschung, gruss

Oetti

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



Re: Re: War klar (Schrumpfi, 14. Mai 1996, 01:37:38):
~#! rn=Jof rt=832010890
~#! tid=832002478
Ich dachte das ist ein Rollenspiel?
Wenn ein Magier seine Macht missbraucht hat, dann ist das ein Fall fuer
Catweazle und der sollte das dann klaeren. Klar sind die Leute, die sich
hinter einem Charakter verbergen verletzlich aber ich wunder mich halt immer
wieder, was die Leute hier fuer Probleme haben. Warum sich die Leute loeschen.
Sicher, is traurigfuer manche, wenn sich ein Charakter loescht aber der
Mensch, der sich hinter dem Charakter steckt, den gibts ja noch oder?
Rudiratter hatte einen Unfall, und da gabs nicht tausende Artikel wie schlimm
das ist. Und fuer mich IST das schlimm! Och Mensch, ihr habt hier Sorgen, is
ja tragisch...
Ihr solltet wirklich endlich mal begreifen, dass das hier nur ein Spiel ist.
Wenn manche damit nicht klar kommen, dann sollten sie sich was ueberlegen aber
nicht hier die Rubriken voll heulen.
Schrumpfi hat auch Porbleme, ist verletzlich und hat den Arsch offen. Wer
weint fuer mich?

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



Re^5: War klar (Jof, 14. Mai 1996, 09:03:46):
~#! rn=Oetti rt=832012685
~#! tid=832002478

 Wer da nu' im Recht war oder nicht sei dahingestellt, die Koellschen 'heul
nicht rum'-Artikel waren jedenfalls daneben und ueberfluessig.

 Jof

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



Re^6: War klar (Zardoz, 14. Mai 1996, 09:04:33):
~#! rn=Jof rt=832057426
~#! tid=832002478
Besser als die Muensteraner (und Anhang) wir-haben-immer-recht-artikel...

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



Kann man fuer Opfer nicht mal einen Club gruenden ? (Rzne, 14. Mai 1996, 11:44:22):
Womit dann jetzt also das wahre Opfer der "Affaire Bombowski" feststehen
duerfte. Denn die unglaubliche Ungerechtigkeit, die einem so wehrlosen, fuer
die Opferrolle praedestinierten Charakter wie Oetti hier zuteil wird, ist fuer
jeden mit einem Funken Gerechtigkeitssinn unertraeglich.

Sorry Oetti, aber wer gerade wie Du immer gerne mal austeilt, der sollte auch
einstecken koennen. Und wenn Du an der Sache tatsaechlich so unschuldig
waerst, wie Du hier vorgbist, dann wuerden Dich kleine Sticheleien sicher
souveraener reagieren lassen.

Rzne fordert: Gerechtigkeit fuer den armen Oetti!!!


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



Ah ja ! (Oetti, 14. Mai 1996, 11:52:10):
Hab aus Platzgruenden meinen letzten Flame geloescht.


Also gut ich hab Sundance gezappt, weil mir seine Nase nicht gefiel.

Ausserdem bin ich ein Machtgeiler Arroganter Idiot, der allen das
Spielen vermiesen will.
Und ein Jammerlappen bin ich auch noch.
Und ich hab schlechten bis gar keinen Sex.
Und ich bin doof
und stinke
und bin langweilig
und haesslich

Aber eines ist sicher, ich werde weiterhin Leute die sich 
benehmen wie ein Prolet, und im Ernstfall nich zugaenglich sind,
zappen, disconnecten, treten, beissen, schlagen, kratzen, vierteilen,
oder irgendwie sowas.

Gruss
 
Oetti



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



Re: Ah ja ! (Caradhras, 14. Mai 1996, 13:02:21):
~#! rn=Oetti rt=832067530
~#! tid=832067530
Alle die sich hier gegenseitig anflamen:
Stellt euch doch bitte in einen Raum und kloppt aufeinander ein.

Und jetzt bitte Ruhe, da es eh meist Magier sind die sich hier
kloppen koennt ihr das auch in einer Maggi-Rubrik machen.

          Danke :)      Caradhras

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



Aenderung der Wachen (Morgoth, 15. Mai 1996, 07:20:09):
Da immer mehr Leute sich in das schoene Orkhausen gedraengt haben und die
meisten davon mit friedlichen Absichten, haben die Wachen noch ein wenig dazu
gelernt. Bei Saufgelagen und Dartspielen kamen sie den Abenteurern naeher und
man erzaehlte sich den einen oder anderen Schwank aus der Jugend. Nun kurzum,
die Wachen sind nun etwas Magiebegabt. Seid also vorsichtig, wenn ihr meint
'Das is ja nur ein Ork'.
Morgoth

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



Ja mei, wenn ihr sonst nix Besseres zu tun habt... (Grimmborn, 15. Mai 1996, 09:12:10):
[Verlegt von allgemeines, Grimmborn, 15. Mai 1996, 09:11:17]:

Also, ich versuche mal, nachdem ich den ganzen Aerger hier quasi im Nachhinein
mitgelesen habe zu schildern, wie das auf mich wirkt.
Dass Oetti in der von ihm geschilderten Situation gezappt hat hat meine volle
Sympathie, ich haette spaetestens schon beim ersten capslock gezappt. Ich bin
sicher einer der letzten, der was gegen dumme Sprueche hat, aber ein
Mindestmass an Hoeflichkeit oder wenigstens Stil sollte gewahrt bleiben. Und
wenn einer mit dummen, plumpen Beleidigungen daherkommt dann hat er halt die
Niete gezogen.
Wo ich gerade beim Thema "mieser Stil" bin: Hier einen (grausamst
formatierten) Anklageartikel anzubringen, aus dem in keinster Weise hervorgeht
um was es geht, der dafuer aber ein Pauschalschlag gegen saemtliche Magier ist
(ich kann wenigstens meine Pauschalverurteilungen motivieren) ist nichts
weniger als guter Stil. Ich reg mich nichtmal gesondert darueber auf, dass da
Magier als "bessere Spieler, sonst nichts" abgekanzelt werden - sowas haette
mich zu meinen Spielerzeiten bis zur Weissglut gebracht.
Von wegen "nicht verdienen, Magier zu sein". Aber Schwamm drueber, wer ein
Arschloch geworden ist wird meistens versuchen, die Klasse der Arschloecher
als etwas Besonderes darzustellen (nein, ich meine nicht Magier =
Arschloecher, das war nur ein Beispiel...). Allerdings hat er damit nicht
zwangslaeufig recht.

Was die Reaktionen dann angeht bin ich tatsaechlich der Meinung, wer sich
selber loescht und dann rumheult (oder rumheulen laesst) ist selber schuld, da
kann ich nicht so fuerchterlich viel Mitleid empfinden. Vor allem, wenn er
sich anscheinend dermassen daneben benommen hat. Und mit einem Zweitie das
Arschloch raushaengen zu lassen um dann mit dem Erstie beleidigt zu sein ist
eh unter aller Kanone. Aber was solls, ich bin ja eh von den Koelnern
indoktriniert.

Ja, Saikan, Du hast ganz recht, fuer das MG (oder weite Teile davon) bedeutet
Bombowskis Selbstloeschung nichts. Ein paar sind traurig, ein paar froh (ich
kenn ihn nicht, aber alles, was ich ueber sein Verhalten erfahren habe macht
ihn mir nicht gerade sympatisch), also gleicht sich das aus.

Immer dran denken: Das hier ist ein Spiel. Oder so. Und ich kann nur aus
ganzen Herzen hoffen dass Saikan hier auch nur eine Rolle spielt. Die
Vorstellung, dass einer in rl so sein sollte macht mir Angst.

Grimmborn der Atheist

P.S. Ich hab mir hier Saikan rausgepickt. Alle anderen Idioten, Deppen,
Scheisskerle und Arschloecher duerfen sich gleichermassen angesprochen
fuehlen...



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



Neues zu den Kanaelen (Morgoth, 15. Mai 1996, 13:14:01):
So. Einige haben es schon bemerkt. Es gibt einen Vland Kanal in dem neuen
Kanalsystem.
Nein, kein Abwasserkanal. Hmpf.
Fuer Besucher des Vlands heisst das, ihr koennt euch neueste infos dort holen.
einschalten koennt ihr den mit -Vland+
ein 'ali' macht ihr mit ebene v=Vland
da dies leider nur ein temporaerer kanal ist, der sich loescht, wenn niemand
mehr drauf ist, kann es sein, dass er nicht existiert. also an alle VL-RMs.
beim einloggen einmal schauen ob der kanal da ist, wenn nicht eben aufmachen
(ebene neu Vland Fuer alle Interessierten des verlorenen Landes). das gleiche
gilt fuer den Katakomben-kanal.
ich hoffe ihr habt spass und tauscht eure erfahrungen dort aus. so kann ich,
wenn ich zuhoere auch sofort ideen dort ziehen.
Morgoth

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



Re: Neues zu den Kanaelen (Paracelsus, 15. Mai 1996, 13:26:06):
~#! rn=Morgoth rt=832158841
~#! tid=832158841
Ich sehs schon kommen: Jetzt macht hier jeder seine eigenen Kanaele auf.
Prinzipiell habe ich natuerlich nichts gegen Kanaele fuer die einzelnen
Regionen. Nur sollte soetwas bitte nicht ausufern!
Also bitte kein -OrkhausenOst -OrkhausenSued etc.
(Nein, auch kein -Drakonien ;)
Paracelsus.

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



Re: Re: Neues zu den Kanaelen (Grimmborn, 15. Mai 1996, 13:39:08):
~#! rn=Paracelsus rt=832159566
~#! tid=832158841

Ich haett gerne einen Kanal "Grimmborn".
Meine Frage: Wie mach ich den auf und wie verhindere ich, dass da Unbefugte
(also alle, die nicht Grimmborn heissen) an den Kanal gelangen?

Dankbar fuer eine ernsthafte Antwort auf eine ernsthafte Frage,

Grimmborn der Atheist


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



Re: Aenderung der Wachen (Mupfel, 15. Mai 1996, 15:09:15):
~#! rn=Morgoth rt=832137609
~#! tid=832137609
Wann kommt denn endlich der 'Orkelementar', der je nach Gegner in der
Abenteurer-, Chaos-, Karate-, Zauberer-, Klerus- oder Bierschuettlergilde ist?

-mupfel-

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



Das Boese ist erwacht. (Saikan, 15. Mai 1996, 23:01:48):

Das Finstere hat nicht geschlafen.
Dicke, schwarze Rauchschwaden steigen im Osten aus dem Gebirge empor.
Erstmal nach dem Zeitalter des Zorns ist der schreckliche Saikan ueber das
Drudenland gekommen und hat Finsternis ueber das gelobte Land gelegt.

Schon bald wird sich Ghor aus der Finsternis von Arkath erheben und die Gipfel
der Silberberge erklimmen und von dort voller Hass auf auch Sterbliche
hinabsehen.
Noch schaffen es die Bergzwerge die Geschoepfe des Saikans an der Ueberquerung
der Finsterschlucht zu hindern. Doch schon bald wird sich der Schreckliche
erneut
von seinem Thron in Arkath erheben und den Weg ebene, ein Sturm zieht auf.

Saikan

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



sorry (Saikan, 15. Mai 1996, 23:02:50):
argl immer diese Typos.. naja der sinn ist es der zaehlt ;)

saikan

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



Baumwaechter (Saikan, 17. Mai 1996, 23:09:41):
Der finstere Saikan ist erzuernt.
Mit der wiederauferstehung der schwarzen Magie von Arkath sind auch die
Baumwaechter in das
Drundenland zurueckgekehrt.
Diese Sterblichen gaben den Lebensbaeumen neue Kraft um dem Boesen
entgegenzuwirken.
Das Licht ist in den Wald zurueckgekehrt.

JSaikan

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



Orkbrenner Clane (Saikan, 17. Mai 1996, 23:18:39):
Es gibt nicht nur gutes zu berichten.

Der Finstere hat die ersten Heere der Vernichtung ausgeschickt.
Die Clane der Orkbrenner ziehe auf die Finsterschlucht zu. 
Es wurden sich schon grosse Schlachten geleistet. Die Bergzwerge koennen
nur noch geringen Wiederstand leisstn.
Sogar die Fahrleute ziehen schon Krieger zusammen um gehn Sueden zu ziehen.
Der Schlachtenlaerm toent ueber die Finsterbruecke.

Saikan

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



Re: Orkbrenner Clane (Wargon, 20. Mai 1996, 09:59:35):
~#! rn=Saikan rt=832367919
~#! tid=832367919
Sind da schon Forscherpunkte eingetragen?

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



Re: Re: Orkbrenner Clane (Jof, 20. Mai 1996, 10:23:13):
~#! rn=Wargon rt=832579175
~#! tid=832367919

 Muessen ja, wenn ers angeschlossen hat. Inzwischen sollten ja wohl alle RMs
mitbekommen haben, das FPs zwingende Voraussetzung fuer den Anschluss eines
Gebietes sind ...

 Jof

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



Silberdolch (Morgoth, 20. Mai 1996, 14:17:11):
hi,
leider war ein kleiner bug in dem dolch, der doch gravierende auswirkungen
hatte. also wer noch einen hat, sollte sich einen neuen besorgen und den alten
wegschmeissen.
Morgoth

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



Re: Das Boese ist erwacht. (Asmodis, 20. Mai 1996, 14:36:14):
~#! rn=Saikan rt=832194108
~#! tid=832194108
Hmm, und was ist dann? Crasht das MUD ? :)

just my 3 souls, Asmodis

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



Re: Silberdolch (Mupfel, 20. Mai 1996, 16:29:22):
~#! rn=Morgoth rt=832594631
~#! tid=832594631
war wahrscheinlich zu gut was? leute werft das teil nicht weg.. :-) :-)

-mupfel-
ps okok morgoth hat bestimmt recht... holt's euch....

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



So klare Sache! (Saikan, 28. Mai 1996, 15:21:18):
Hallo VLaender und andere erbaermliche Spieler,

es ist so weit, dass ich endlich mal klare Aussagen treffen kann.
Ich werde in kuerze meinen Internetzugang im Orstbereich verlieren.
Das liegt daran, dass ich aus Essen wegziehe und hier mein Studium
in die Tonne kippe. 
Ich bin nach Dortmund gewechselt werde dort aber nicht wohnen. Sondern
muss 2h mit dem Zug dort hinfahren. Und das werde ich nicht jeden Tag
nur wegen des Muddens machen. ;)
Also ich gebe mir noch 2 bis 3 Wochen, dann bin ich erstmal weg.
Reinschauen werde ich noch kurz hin und wieder.

Vielleicht komme ich ich des oefteren wieder wenn ich wirklich
in Dortmund studieren sollte.

Mein Land (Drudenland und Bergland) uebergebe ich an meinen Sohn
Lumungus. Er wird es warten, und erweitern. Vor allem das Bergland
wird er wohl endlich mal anschliessen.

So wer noch was von mir will, kann mir getrost was mailen... bitte
an saikan@www.asta.uni-essen.de
die Adresse steht auch noch in meinem Finger.

Also bis dann.. und lasst das VLand nicht unter gehen! 

Saikan
 

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



Bergland (Saikan, 31. Mai 1996, 20:22:49):
Hallo erbaermliche Sterbliche!

Die verdammten Bergzwerge haben doch tatsaechlich die Finsterbruecke
fertig.
Damit werden die Horden des Finsteren bald in das geheiligte Land
vordringen koennen. Es sollen schon die ersten Orkbrenner 
gesichtet worden sein.

Saikan

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



Re: WWW (Asmodis, 10. Jun 1996, 12:48:39):
~#! rn=Saikan rt=834403674
~#! tid=834403674
Hmm, schreib doch lieber nen Artikel, wenn das fertig ist :)

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



Re: WWW (Grimmborn, 10. Jun 1996, 12:54:33):
~#! rn=Saikan rt=834403674
~#! tid=834403674

Also, ich hab hier nur "d.vland" und "ausbauen" mitbekommen.
Ich bin ausnahmslos dafuer.

Grimmborn der Atheist laesst alte Feindschaften nicht so einfach einschlafen.

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



Elementar (Morgoth, 17. Jun 1996, 13:36:51):
Tja. Leider musste er verlegt werden. Paracelsus wollte es so. er ist aber
nicht sehr weit von seinem urspruenglichem ort entfernt.
Viel spass beim suchen
Morgoth

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



Orkschmied (Morgoth, 18. Jun 1996, 14:32:01):
In Orkhausen hat sich aufgrund der Nachfrage ein Schmied niedergelassen.
Er mag zwar nicht ganz billig sein, dafuer repariert er aber jede Ruestung und
jede Waffe.
Morgoth

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



Ich hab da was gehoert... (Shakedbeer, 18. Jun 1996, 16:22:59):
Hallo!

Ich habe von einer Sage gehoert, die sagt, dass einmal auf der 
Gefaengnisinsel vor Orkhausen ein Gefangener Pirat seinen Schatz
versteckt haben soll. Vielleicht habt Ihr ja Lust, dieses Ge-
ruecht zu ueberpruefen. Der Wanderer auf der Hochebene sollte
Euch noch ein paar Tips geben koennen.

Shakedbeer.

PS: Wie man in ein Gefaengnis kommt, sollte klar sein.
PPS: Bitte sendet Questkommentare gleich mit Kopie an Boing, denn
     die APs sind noch nicht eindeutig.

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



Re: Ich hab da was gehoert... (Shakedbeer, 18. Jun 1996, 16:28:59):
~#! rn=Shakedbeer rt=835107779
~#! tid=835107779
APs nicht eindeutig? Ich meinte natuerlich entgueltig.

Shakedbeer - etwas verwirrt.

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



Re: Re: Ich hab da was gehoert... (Shakedbeer, 18. Jun 1996, 16:31:27):
~#! rn=Shakedbeer rt=835108139
~#! tid=835107779
OHA!!!

DAS IST JETZT KEIN FREIBRIEF FUER PLAYERKILLS!!!

Shakedbeer.

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



Aenderung am /d/vland/std (Morgoth, 19. Jun 1996, 13:01:29):
Dies ist eigentlich nur fuer vland-mitarbeiter.
Es gibt jetzt auch weapon.c und armour.c, die ihr in euren waffen und
ruestungen verwenden solltet. ja hate, ich inherite std/weapon + armour ;-)
Morgoht

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



Re^5: Aenderung am /d/vland/std (Anatol, 19. Jun 1996, 16:29:23):
~#! rn=Raffi rt=835189905
~#! tid=835182089

In solchen Faellen duerfen auch Vland-Regionsmagier ruhig eine
Mail an mehrere Personen verschicken.

Alles kann man ihnen ja nicht verbieten.

(grins) Anatol


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



Re^6: Aenderung am /d/vland/std (Fyt, 19. Jun 1996, 16:29:55):
~#! rn=Anatol rt=835194563
~#! tid=835182089

Schade eigentlich.

Fyt.

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



Gefaengnisinsel (Shakedbeer, 19. Jun 1996, 16:44:08):
Hi!

Bevor jemand daran scheitert: Im Moment kann der Name des Tieres doch
diagonal auftreten (Betroffene wissen, wovon ich rede) Da meine Linux-
platte sich gestern abend verabschiedet hat, kann es mit der Korrektur
noch ein paar Tage dauern, bis ich wieder alle Files gezogen habe.

Shakedbeer - seufzt.


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



Re: Gefaengnisinsel (Shakedbeer, 19. Jun 1996, 17:14:33):
~#! rn=Shakedbeer rt=835195448
~#! tid=835195448
So. Ich hab doch mal etwas mit ed nachgeholfen ;) Es sieht nun folgender-
massen aus. Alle, die bis JETZT einen Schluesselbund bekommen haben sollten
NUR diagonal suchen. Alle anderen ganz normal Horizontal od. vertikal.

Shakedbeer.

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



Re^4: Aenderung am /d/vland/std (Caradhras, 19. Jun 1996, 18:13:28):
~#! rn=Fyt rt=835189767
~#! tid=835182089
Natuerlich hat reines Suppenwuerfelzeugs NICHT in einer
Spielerrubrik zu stehen, wo bleibt denn da die (na ja, bald nicht
mehr) vorhandene Spielatmosphaere?

          Golddrache Caradhras

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



Re: Gefaengnisinsel (Asmodis, 19. Jun 1996, 19:02:56):
~#! rn=Shakedbeer rt=835195448
~#! tid=835195448
Hmm, was ist schlimm daran, dass es diagonal auftritt ? wie waers noch
mit rueckwaerts oder rueckwaerts diagonal ?
Dafuer kannst du dann noch 10 Aps dazuschlagen :)

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



Re: Re: Gefaengnisinsel (Shakedbeer, 19. Jun 1996, 21:06:40):
~#! rn=Asmodis rt=835203776
~#! tid=835195448
Hihi!

Urspruenglich war ja alles moeglich. Waere aber doch zu
heftig geworden. :)

Shakedbeer.

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



Re^5: Aenderung am /d/vland/std (Paracelsus, 20. Jun 1996, 12:08:21):
~#! rn=Caradhras rt=835200808
~#! tid=835182089
Hmm, im Zweifelsfall benutze man das mail-Alias 'd.<xy>', also in diesem
Falle d.vland
Para.

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



Re: Re: Gefaengnisinsel (Predator, 20. Jun 1996, 14:47:16):
~#! rn=Asmodis rt=835203776
~#! tid=835195448
wenn man vorher erfaehrt, es KANN NICHT diagonal auftreten und man 3 stunden
etwas sucht, was es nicht gibt, da ist schlimm....
Predator, schreibt mal ohne die nachfolgenden Artikel zu kennen

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



Re^3: Gefaengnisinsel (Shakedbeer, 20. Jun 1996, 14:58:58):
~#! rn=Predator rt=835274836
~#! tid=835195448
Sorry. Das ist das Problem, wenn man als erster in neue Gebiete geht.
Klar! Einer muss der Erste sein. Der sollte dann etwas Geduld mitbringen.
Ich lade Dich fuer Deinen Forschergeist zu einem Schuettelbier ein.

Shakedbeer - weiss, dass man damit 3 verlorene Stunden nicht gutmachen
             kann.

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



Re^8: Gefaengnisinsel (Felagund, 20. Jun 1996, 17:46:17):
~#! rn=Boing rt=835285490
~#! tid=835195448
Aber du wirst dann von Cat* geloescht, weil du zuviel Speicher verbrauchst mit
deinen Mails....deinen Level wuerd ich dann kulanterweise uebernehmen ;)
  Fela

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



Re^3: Gefaengnisinsel (Asmodis, 20. Jun 1996, 17:51:47):
~#! rn=Shakedbeer rt=835211200
~#! tid=835195448
Wieso heftig? so ist es in jeder Raetselecke? und da man ja nur ein Tier 
finden muss, waere das vertretbar.

 Ciao, Asmodis (war frueher mal Raetsel-Fan)

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



Re^3: Gefaengnisinsel (Asmodis, 20. Jun 1996, 17:52:39):
~#! rn=Predator rt=835274836
~#! tid=835195448
Wo stand da, dass es nicht diagonal auftritt ? naja, muss ich dann
gluecklicherweise ueberlesen haben :)

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



Nochmal Gefaengnisinsel (Shakedbeer, 20. Jun 1996, 23:21:53):
Hi!

Leider gibt es da noch eine ungereimtheit. Alle, die einen Schluesselbund
vor diesem Artikel erhalten haben, koennen eine nicht ubedingt eindeutige
Aufgabe in Zelle 1A erhalten. Bei Problemen meldet Euch bitte bei mir.
Fuer alle, die ab jetzt beginnen gibt es Entwarnung. Der Bug ist nun weg.

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



Re^8: Gefaengnisinsel (Anatol, 21. Jun 1996, 00:01:05):
~#! rn=Boing rt=835285490
~#! tid=835195448

Hm, ich bin erst NACH den Artikeln in die Quest, und mein Wort war, 
trotz der Vorgabe "senkrecht oder waagerecht, auch rueckwaerts" 
diagonal von rechtsunten nach linksoben versteckt.

Anatol


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



Re^9: Gefaengnisinsel (Asmodis, 21. Jun 1996, 03:09:08):
~#! rn=Anatol rt=835308065
~#! tid=835195448
Bei mir war es genauso, diagonal, obwohl da steht, es ist nicht diagonal

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



Re^10: Gefaengnisinsel (Asmodis, 21. Jun 1996, 03:21:51):
~#! rn=Asmodis rt=835319348
~#! tid=835195448
Bei 4 Zweities war es genauso, von rechts unten nach links oben, schau
bitte nochmal nach, da stimmt doch was nicht

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



Re^11: Gefaengnisinsel (Shakedbeer, 21. Jun 1996, 11:01:57):
~#! rn=Asmodis rt=835320111
~#! tid=835195448
So. Jetzt ist Schluss damit ;)
Ich habe die Aufgabe so geaendert, dass das Buchstabenfeld kleiner ge-
worden ist, jetzt aber alle Moeglichkeiten erlaubt sind. Das sollte jetzt
eindeutig sein ;)

Shakedbeer - bekommt Alptraeume.

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



GI und Reboot (Shakedbeer, 24. Jun 1996, 00:58:20):
Liebe Gefaengnisinselspieler!

Fuer alle, die ab jetzt die Gefaengnisinsel beginnen, wird der Spielstand
gespeichert. Jeder Spieler, der die Quest spielte, hat nach einem Reboot
ca. 30 Minuten Zeit, um die Gefaengnisinsel wieder aufzusuchen. Dann kann
man mit den bereits gefundenen Schluesseln und Codes weiterarbeiten. Sollte
man nicht unverzueglich die Insel aufsuchen, so ist das nicht fair
gegenueber den Spielern, die die Quest am Stueck machen muessen und deshalb
wir einem der Schluesselbund von einer Wache entrissen. Die Folgen sollten
Euch klar sein ;)

Shakedbeer.

PS: Sollte in naechster Zeit ein Reboot stattfinden und der Schluesselbund
    ist trotzdem verschwunden, so war das noch ein alter. Wer so durch einen
    Reboot geschaedigt werden sollte, meldet sich bitte bei mir.

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



Re: GI und Reboot (Woa, 25. Jun 1996, 09:24:44):
~#! rn=Shakedbeer rt=835570700
~#! tid=835570700
bei mir gings nicht !!, ich bin echt sauer, weil ich seit 2 tagen an der quest
haenge und schon mehr als die haelfte gemacht hatte ( war gerade bei graf zahl
)
!

Woa, versteht die Welt nicht mehr

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



Wurm im vLand (Morgoth, 25. Jun 1996, 12:09:06):
Hi
also bei uns lebt der Wurm noch. Allerdings kann man den Waffen und Ruestungen
auch ihren Schaden ansehen.
Wer noch ein paar ideen hat, wie die Meldungen besser aussehen koennten. Immer
an mich. 
Aehm. Das ganze gilt natuerlich nur bei Waffen/Ruestungen die nach dem Artikel
erschaffen wuerden (nicht ermetzelt). Also nicht aergern, sondern bescheid
sagen. 
Morgoth

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



Orkpriester & Hammer (Morgoth, 25. Jun 1996, 15:45:20):
Der Priester ist nun ein bischen haerter. Dafuer habt ihr nun die moeglichkeit
immer an den Hammer zu kommen. Wie das? (nicht aufregen para, lies weiter)
Wenn jemand mit Hammer einschlaeft, nciht wundern wenn er hinterher weg ist.
Dann hat der Priester ihn wieder an sich genommen (und der der ihn killt dann
auch).
Also probierts mal aus.
Morgoth

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



Ganz neue Worte (Ghor, 12. Jul 1996, 22:33:08):
Boig bitte poste die Mail an Morgoth udn mich.
Es sah ueberhaupt nicht so aus als wuerden wir uns darueber
aeussern koennten um den Beschluss zua endern.
jetzt stell es nicht alles anders dar.
Und mich als Bloedmann der alles in Schuld ist, so ein Unsinn
Lies die Mail von Catweazle mal lieber nochmal

Saikan

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



Erzmagier sind machtgeil (Rudiratter, 13. Jul 1996, 18:18:50):
Die Diskussion um Saikans und Morgoths Runterstufung laesst mal wieder den
Eindruck entstehen, dass unsere Goetter und Erzmagier einfach nur machtgeil
sind und tun, was sie wollen, auch wenn sie damit fuerchterlich ungerecht sind
-einfach nur, weil Macht Spass macht.
Macht macht Spass, keine Frage ;), aber die Sache liegt hier ja wohl anders.
Wenn man zum Beispiel sieht, wie die EMs mit der Angelegenheit umgegangen sind
und dann vergleicht, welche Show Saikan hier direkt wieder in der MPA abzieht,
frag ich mich wirklich, ob er ernsthaft glaubt, auf diese Art zu beweisen,
dass er den Titel RM mit Recht traegt/trug.
-Dabei sollte gerade er aus juengster Vergangenheit und der erwaehnten
Geschichte um Rudigibsmir, Rudipopper etc. wissen, dass man solche
Unstimmigkeiten vielleicht besser erst mal per Mail oder Talk mit den
Betroffenen klaeren sollte.
Spaetestens durch seine Artikel jetzt hat er endgueltig bewiesen -jedenfalls
fuer mich- dass er nicht genuegend Disziplin hat, um einen solchen Titel hier
im MG zu tragen.
-Und damit hier nicht direkt wieder die Goetter und Erzmagier niedergemacht
werden, moechte ich mal bemerken, dass die ihren Job sicher ganz gut machen
und man froh sein kann, solche Leute an der 'Spitze' des MorgenGrauens zu
haben.
So, das musste mal gesagt werden.
Rudi

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



das geht zu weit (Kartoffel, 14. Jul 1996, 01:01:04):
Halloele!

Ich bin eigentlich ein sehr gutmuetiger Mensch, aber wenn das stimmt, was ich
gerade erfahren habe, platzt mir der Kragen! 
Die Magier koennen Aerger haben so viel sie wollen und mit wem sie wollen.Aber
es ist ja wohl eine Unverschaemtheit, wenn ich mich mit Ghor unterhalte und er
sich dort ueber die ihm widerfahrene Behandlung aergert, dass wir gesnoopt und
dann auch noch auf Grund dessen DESTRUCTED werden!!!
Ich hoffe nur, dass das nicht wahr ist, sonst muss ich meine Meinung ueber das
MG wohl grundlegend aendern.
Es sieht jedoch leider so aus, als waeren wir wirklich detructed worden (und
nicht nur wir beide, sondern Chondos auch noch, mit dem ich zur selben Zeit
geredet habe).
Der betreffende Magier sollte sich mal fragen, was er da eigentlich mit seinem
Magiervertrag unterschrieben hat.
Es kann ja wohl nicht angehen, dass man im Mud noch nicht einmal in einem
Gespraech seine MEinung aeussern kann.
Was Ghor gesagt hat, war wohl kaum als schlimm zu bezeichnen und dafuer
Spieler zu destructen ist mehr als laecherlich.
Ich hoffe dass sich das aufklaert und geregelt wird!
Wenn also irgendwelche Magier wieder mal Stress haben, DANN LASST DAS NICHT AN
SPIELERN AUS!!!

Kartoffel, stinksaue**

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



Re: es geht zu weit (Tigerauge, 14. Jul 1996, 01:03:56):
QUO VADIS, Morgengrauen? Traurig, Traurig...

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



Re: das geht zu weit (Marita, 14. Jul 1996, 14:26:52):
~#! rn=Kartoffel rt=837298864
~#! tid=837298864

Hi Kartoffel,

also zunaechst mal hast Du mein Verstaendnis, wenn Du Dich aufgrund von
Machtmissbrauch von Magierseite ungerecht behandelt fuehlst. Ich kenne das
aus eigener Erfahrung.
Leider ist Dein Artikel aber wenig hilfreich. Du hoertest davon, Ihr waeret
destructet worden. Von einem Magier, aber Ihr wisst nicht, von wem. Der
Artikel stuetzt sich auf Geruechte und ist deshalb hoechstens dazu geeignet,
eine bestimmte Stimmung zu erzeugen, aber nicht, um zweifellos vorhandene
Missstaende zu beseitigen oder zu klaeren.
Gut, Du kennst den Schuldigen nicht und kannst das deshalb nicht per Mail
mit ihm selbst loesen und gehst an die MPA. Dort schreibst Du einen wueten-
den Artikel, den die gesamte Oeffentlichkeit mitbekommt. Die Oeffentlich-
keit kennt die Fakten nicht, die den Anlass fuer Deine Wut darstellen, aber
reagiert vorsichtshalber mit "Quo vadis MG" und "traurig traurig".
Ich bin sicher, dass unsere Erzmagier dieser Geschichte nachgehen, wenn sie
Fakten erhalten. Wenn Du z. B. glaubst, Du wurdest gesnoopt, dann koennen
die Erzmagier feststellen, ob das stimmt, und haben dadurch sogar gleich
einen Namen in der Hand, der, wenn nicht Taeter, zumindest Zeuge ist. Ent-
schuldigt, wenn sich das jetzt alles oberlehrerhaft anhoert, aber ich weiss
nicht, wie ich es schwaecher ausdruecken soll. Ja, es gibt Schwarze Schafe
unter den Magiern. Aber die werden nie ausgefiltert, solange sie mit
haemischem Grinsen beobachen koennen, wie wir staendig wild herumflamen
anstatt nuetzliche Hinweise zu ihrer Ueberfuehrung zu geben.
Flames treffen auch die Mehrzahl der Magier, die sich hier eine Menge
Arbeit machen und bislang nicht (oder kaum ;-)) die Magierregeln verletzt
haben und vergroessern den Graben zwischen uns und denen, ohne die es das
MG ueberhaupt nicht geben wuerde.

Nochwas: Meckertante Marita waere nicht sie selbst, wenn sie nicht auch
noch was daran auszusetzen haette, in welcher Rubrik der Artikel erschienen
ist. ;-)

Ein Beitrach von
Marita

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



Re: das geht zu weit (Mupfel, 14. Jul 1996, 15:51:50):
~#! rn=Kartoffel rt=837298864
~#! tid=837298864
Niemand kann hier destructed werden, ohne das das mitgeloggt wird. Ich hab
nachgeschaut - keiner von euch dreien wurde destructed. Bist Du einfach
rausgeflogen? Passiert mir auch oefter, hat nix mit destructen zu tun sondern
ist ein Netzproblem. 
Uebrigens: Woher weisst Du, wenn Du gesnoopt wirst? Und wenn Du es weisst:
warum wendest Du Dich nicht direkt an den Magier? Wichtiger noch: wie um alles
in der Welt kommst Du darauf, dass der angeblich snoopende Magier euch
'destructen' wollte?? Das halte ich fuer ne boese Unterstellung.

-mupfel- (snoopt nur bei Bugs)

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



jetzt wird es langsam echt peinlich (Chondos, 14. Jul 1996, 17:17:44):
Ich hatte mir ja eigentlich vorgenommen, zu dem Thema hier nichts zu sagen, da
mir das alles echt zu bloede war !!!! Da ich hier nun aber lese, was einige
der Magier schreiben, sehe ich mich veranlasst nun doch mal ein paar Worte
dazu zu sagen. Tatsache ist das uns der Unterschied zwischen dem verlieren
eines Carriers und dem Destructen bewusst ist, und wir haben definitiv nicht
den Carrier verloren ( waere auch ein recht grosser Zufall wenn das 3mal zur
gleiche Zeit geschieht).Ich fand das zwar relativ bloede, aber da man als
Spieler ja nicht weiss ob man gesnoopt wird oder nicht, kann man das halt nur
vermuten. Wenn sich aber aufgrund von einigen Tatsachen dieser Verdacht
erhaertet, ist das schon sehr eigenartig !!!! Weiterhin wurde von KEINEM von
uns jemand beschuldigt !!!!
Kartoffel hat lediglich erwaehnt, dass es sich hoechst wahrscheinlich um einen
Snoopvorgang gehandelt hat, denn komisch ist das wir genau zu dem Zeitpunkt
destructet wurden, als wir privat ueber teile mit uns ueber das Verhalten
einiger Magier aufgeregt haben ( wir brauchen uns jetzt nicht darueber zu
unterhalten ob ein solches Verhalten besonderes toll ist oder nicht, nur
solange man das ueber teile mit privat mit jemanden bespricht geht das keinen
anderen was an ). Un d wenn wir nun ausgerechnet dann destructet werden, wenn
wir ueber bestimmte Perosnen abfaellig reden , liegt ein solcher Schluss von
unserer Seite aus nur nahe. Ich habe dann mit Hate darueber gesprochen, und
ihm diesen Vorfall geschildert, und ihn gebeten doch bitte mal nachzusehen was
da passiert ist. Das letzte was ich von ihm dann gehoert habe ist, das er zu
mir meinte " er haette wahrscheinlich denjenigen" . Ich finde es eigentlich
recht traurig, das man nun auf dieser dummen Angelegenheit auch noch rumreiten
muss, aber die Tatsache das sich jetzt schon wieder die ersten Magier darueber
aufregen, zeigt in meinen Augen doch einiges. Und jetzt nochmal zum Abschluss
es wird und es wurde von keinem von uns irgendein Magier weder direkt noch
indirekt beschuldigt, sondern es gab von unseres Seite aus lediglich den
Verdacht (der fuer uns nicht ganz unbegruendet ist). Ich will jetzt hier auch
nicht anfangen darueber zu spekulieren, das es vielliecht Luecken im system
gibt, so dass man auch an den Logfiles vorbei destructen kann.


           Chondos

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



Re: jetzt wird es langsam echt peinlich (Grimmborn, 14. Jul 1996, 17:56:42):
~#! rn=Chondos rt=837357464
~#! tid=837357464

Mir ist das ja letztlich alles herzlich egal, aber wenn ein Magier
"destructet" um jemandem eine reinzuwuergen verdient er Pruegel - da gibts
bessere Methoden.
Man kann sich ueber das snoopen aufregen, allerdings liegt es durchaus nahe,
einen Magier, der wegen Spielerhilfe eins auf die Muetze gekriegt hat ein
bischen unter Aufsicht zu halten. Denn so weit ich das sehe ist Weitergabe von
Informationen, die man als Magier erhalten hat auch mit anderen Charakteren
verboten. Und Saikan ist nun nicht gerade bekannt dafuer, ueber allem zu
stehen, sich nciht persoenlich angegriffen zu fuehlen und kleinliche
Racheaktionen weit von sich zu weisen...

Wo ich schon dabei bin zu schreiben: Grundsaetzlich bin ich natuerlich gegen
jeden Machtmiss- und -gebrauch. Schon weil ich selber eher zu den Opfern
zaehlen wuerde. ;-) Allerdings bin ich der Meinung, letztlich ist kein grosser
Schaden entstanden. Saikan ist ein (in meinen Augen) leider typischer Fall von
"selbst schuld", und Morgoth hat ein paar Magierlevel (und damit ein oder zwei
zusaetzliche Befehle) verloren und ist ansonsten gesund und munter. Bei aller
Feindschaft zu Morgoth, er ist ein sehr kreativer und nicht voellig unfaehiger
Programmierer, seine Sachen sind sicher bei Spielern beliebter als bei
Magiern, aber fuer wen ist denn das hier schliesslich, fuer Magier oder fuer
Spieler? Dass er bei seinem gelegentlich sorglosen Umgang mit der
Programmierung jemanden hat, der sich das erst durchschaut ist sicher kein
Fehler und dient der allgemeinen Stabilitaet und der Balance. Es taete so
manchem, der selbstgefaellig Sachen anschliesst nicht schlecht, wenn der code
erst nochmal durchgeschaut wuerde.
Aber Morgoth hat sich hier ja auch nicht beschwert. *gruebel* nicht dass der
Typ mir am Ende noch sympathisch wird...*schuettel*

Naja, das wars so an nem sonnigen Sonntagnachmittag.

Grimmborn der Atheist

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



Re: Re: das geht zu weit (Feuerwehr, 14. Jul 1996, 18:54:24):
~#! rn=Marita rt=837347212
~#! tid=837298864
Nun, nur zur Info. Falls man sich so unterhaelt und nicht mit Teile mit,
dann kann ein Magier unsichtbar dabeistehen und kommt nicht ins Log.
Andererseits kommt jeder ins Log, der einen Spieler zapot.
Aeh zappt. 
  
    Feuerwehr (findet solches Verhalten absolut sch@xc, man sollte wenigstens
den Namen nennen und nicht arrogant Moerder von hinten spielen!

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



Re^3: das geht zu weit (Guybrush, 14. Jul 1996, 19:18:46):
~#! rn=Feuerwehr rt=837363264
~#! tid=837298864
Hm, schoen waer's wenn jeder ins Log kaeme.
Man kommt nur ins snoop-log, wenn man auf normalem Wege snoopt. Aber leider
gibt es auch andere Moeglichkeiten.

Guybrush, ist froh, dass er keine Ahnung hat.

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



Re^4: das geht zu weit (Rantanplan, 14. Jul 1996, 21:12:29):
~#! rn=Guybrush rt=837364726
~#! tid=837298864
Aaalso !

Ich sag das nur ungern, aber mein Ex-Mann hat wohl recht.

Ich weiss nicht ob es vom Level des Magiers abhaengt, oder nur 
von der reinen Kompetenz und Systemkenntnis (leteres scheint mir
durchaus wahrscheinlich)
Aber geloggt werden nur Trivialzaps/snoops/destructs.

Meine Schuld, dass ich nur solche benutze, aber ich steh wenigstens
zu der Scheisse, die ich baue...

Rantanplan, klaefft Oettig in die Runde...

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



Re^5: das geht zu weit (Hate, 14. Jul 1996, 21:24:19):
~#! rn=Rantanplan rt=837371549
~#! tid=837298864
Das schoene an solchen Aktionen ist, dass es mir ermoeglicht etwas bessere
logs einzubauen. Man kann das prinzipiell beliebig erweitern.
Im Gegensatz zu MUpfel habe ich denjenigen gefunden, der das destruct
verzapft hat. Allerdings finde ich das grosse breitterten hier wirklich
unangebracht.
Hate.

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



Re: Erzmagier sind machtgeil (Schrumpfi, 15. Jul 1996, 00:06:02):
~#! rn=Rudiratter rt=837274730
~#! tid=837274730
Also mir persoenlich geht es nicht darum, welche Show Saikan hier abzieht. Mir
ersoenlich geht es darum, dass ich (und da bin ich mit Sicherheit nicht
allein)mich mal wieder von unseren lieben, netten, stinkenden Erzmagiern
uebergangen fuehle. Es ist ja alles schoen und nett, wenn das unter den
Erzmagiern und Goettern abgesprochen wird aber die Magier unter Level 66
kriegen mal wieder nix mit was da abgeht. Wenn Sachen passieren, wie die
Abstufung eines Regionsmagiers oder gar wenn ein Magier gebanisht wird, dann
moecht ich das gerne wissen und dann moecht ich auch gerne wissen warum.
Langsam aber sicher komm ich mir hier vo wie der Proggsklave und zwar nicht
der Proggsklave der Spieler sondern der Erzmagier. Das kuck ich mir auch nicht
mehr laenger mit an! Hiermit kuendige ich! Macht was ihr wollt liebe
Erzmagier, das macht ihr ja sowieso, aber macht es ohne mich!
Tschuess
Eine ziemlich frustrierte Schrumpfi.

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



Re^6: das geht zu weit (Schrumpfi, 15. Jul 1996, 00:10:37):
~#! rn=Hate rt=837372259
~#! tid=837298864
Achja, bevor ich jetzt auch noch grossartig eine aufs Maul krieg weil im
Logfile auftaucht, dass ich Kartoffel gesnoopt habe, wollt ich nur sagen, dass
ich ihn gesnoopt habe, weil er nicht mehr MPA schreiben konnte.
Schrumpfi ist das eigentlich eh alles egal.

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



ein spontaner Artikel ... (Bibo, 15. Jul 1996, 00:37:01):
Hi,

ich hab gerade den Artikel gelesen in dem Schrumpfi die Mitarbeit
kuendigt. Ist das wirklich ernst gemeint ? Wenn ja ... also Leute
(und damit meine ich sowohl Magier als auch Spieler) ... manchen
von euch scheint nicht klar zu sein dass die ein Spiel ist. Warum
sollte man sich in einem Spiel gegenseitig das Leben schwer machen ?
Ich weiss, nicht jeder ist auf ein nettes Miteinander aus, aber ...
fragt euch doch mal ob ihr so behandelt werden wollt wie ihr andere 
hier behandelt. Sollte sich wirklich jemand voellig danebenbenehmen
ist er halt nicht zum Erzi oder Gott geeignet, denk ich. ach sch*... 
die soll keine Moralpredigt werden. Dennoch will ichs mir noch ein paar
Worte nicht verkneifen: 
Es gibt hier im MG ein paar nette Mags die ich noch aus ihren
Spielerzeiten kenne...und jeden Menge Spieler die ich kennen und
schaetzen gelernt habe. Klar, neue kommen und alte gehen ... aber
wenn sowas wegen schlechter Stimmung geschieht oder weil irgendwelche
Leute Mist gebaut haben dann finde ich das verdammt traurig.
Gerade in dieser kleinen (oder mittlerweile grossen :-) virtuellen
Welt ist doch nichts einfacher als gemeinsam was zu unternehmen und
sich gegenseitig zu helfen, und wenn das bei Spielern in Sachen
Quests und Metzeleien geht, warum nicht auch bei Magiern beim
Programmieren ? Stress gibts im RL genug, erzeugt doch bitte hier
keinen ...

Musste mal gesagt werden.

 Traeumer Bibo



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



Re: ein spontaner Artikel ... (Eros, 15. Jul 1996, 01:30:16):
~#! rn=Bibo rt=837383821
~#! tid=837383821
Nun ich moechte jetzt mal einen philosophischen Beitrag zu den letzten
Meldungen beitragen:)
Der folgende Artikel soll bitte nocht als Angriff oder als Parteiname
gesehen werden, sondern vielleicht als Moeglichkeit meine Erfahrungen
zu gewissen Bereichen darzustellen:)
Soweit ich es sehe, ist das MG eine NonProfit Organisation, in der es
vorallem Personen, die sich gerne mit Programmieren, bzw. schaffen von
Ideen und Umsetzung dieser beschaeftigt. Weiters ist das MG auf Grund seiner
Groesse dazu "verdammt" gewisse Regeln und Hierarchieebenen zu fuehren,
damit das ganze auch funktioniert.
Hierarchien in NonProfit Organisationen haben halt leider den Nachteil,
dass sie nur sehr beschraenkt anerkannt werden, bzw. Aktionen die aus der
Sicht der jeweils hoeheren Hierarchischen Ebene wichtig und richtig waren
von den unteren Ebenen nur schwer akzeptiert werden, auf Grund mangelnder
Information auch falsch verstanden werden.
Die einzige Moeglichkeit UNstimmigkeiten so weit als moeglich zu vermeiden
ist ein guter Informationsfluss zu den Mitarbeitern, sich als hoher und
hoechster Level sich auch mal die Zeit nehmen sich mit unteren Levels zu
unterhalten, auch wenns einem auf den beruehmten "Geist" gehten sollte.
Ich fuer meinen Teil kann nur sagen, dass jede NonProfit Organisation zum
scheitern verurteilt ist, die nicht darauf achtet, dass der Informations-
fluss von oben noch unten funktioniert. Und ich kenne dies durchaus aus
eigener Erfahrung, und vorallem nicht aus Muds sondern aus RL Organisationen.
Daher die Bitte, versucht doch einfach mal, auch wenns nervt und Zeit kostet
ein bischen mehr Transparenz reinzubringen, warum und wieso manches 
passiert und getan wird. Ich bin der festen Ueberzeugung, dass sich das 
schon sehr bald auszahlen wird.
Mit freundlichen Gruessen
Eros

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



Re: Re: Erzmagier sind machtgeil (Lug, 15. Jul 1996, 04:55:21):
~#! rn=Schrumpfi rt=837381962
~#! tid=837274730
Moin,

mir tut der Weggang von Schrumpfi weh. Only the Good die young, all the Evil
seem to live forever...

Haette lieber Anderee gehen sehen

Lug

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



Re^3: Erzmagier sind machtgeil (Amazora, 15. Jul 1996, 05:16:00):
~#! rn=Lug rt=837399321
~#! tid=837274730
Find ich ja lieb von Dir Lug aber bitte erspart mir solche Artikeln weil ich
mir sonst vorkomme wie ein bestimmter Flohbeutelfan.
Amazora

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



Entschuldigung. Oder so... (Grimmborn, 15. Jul 1996, 11:17:48):

Also, es ist doch erstunlich was man so mitbekommt wenn man sich ein bischen
umhoert und mal genauer hinschaut.
Wisst ihr ueberhaupt, worueber ihr euch im Moment aufregt? Wird euch
vermutlich (nicht) wundern: Ueber gar nichts. Wege ueberhaupt nichts. Voellig
ohne Grund.

Also hier kommt die Darstellung dessen, was tatsaechlich passiert ist. Die
hats naemlich hier noch gar nicht gegeben.
Saikan und Morgoth sind aus diversen, durchaus auch programmiertechnischen
Gruenden hin und wieder negativ aufgefallen. Nicht drastisch, aber doch so,
dass diverse EM der Meinung waren, so kann man zwar programmieren aber nur,
wenn da noch eine Kontrolle ist. Dabei gings (soweit ich weiss) einerseits um
zu gute Waffen/Ruestungen (leidiges Thema ;-) ), andererseits um das, was der
Debug-Kanal zum Thema vland zu sagen hat.
Daher bekamen beide eine mail ungefaehr des Inhalts, dass sie sich in dieser
hinsicht zusammenreissen sollten, da sie SONST level 26 werden koennten. Wie
gesagt, es geht dabei um RM unter Vorbehalt, Vorbehalt ausdruecklich weil
beide zwar kreativ, aber programmiertechnisch nicht ganz so zuverlaessig
schienen. 
Als jetzt Saikan diese mail erhalten hatte ist er hingegangen und hat (als RM,
level 45) einem Spieler 100Mio Muenzen untergeschoben. Das hat dann doch Unmut
erregt und so ist er schliesslich (immer noch level 45) gebanished worden, und
zumindest in meinen Augen durchaus zu Recht. Wenn ein RM sowas macht muss er
auch eins auf die Muetze kriegen.

Also, wo ihr hier ellenlange Artikel schreibt und euch solidarisch und
frustriert verabschiedet, das alles tut ihr, weil ein zwei RM VERWARNT wurden
und ein RM gebanished wurde, weil er einem Spieler 100Mio untergeschoben hat.
Kommt euch das nicht ein bischen laecherlich vor?

Es ist meiner polemischen Ansicht nach sowohl bezeichnend, dass Saikan
offensichtlich ohne den Umweg ueber das Gehirn einen Artikel in die mpa
gesetzt hat, der den Eindruck erweckt hat, dass es nicht um eine Verwarnung
sondern um eine bereits geschehene Tatsache handelt also auch dass viele Leute
(und ich vorneweg) das nicht erst kritisch geprueft haben sondern gleich in
die beliebte (und i.a. ja auch richtige ;-) ) Kerbe "EM" gehauen haben. Ich
will ja nicht dazu auffordern, daraus zu lernen weil das eh keiner tut, weise
aber in dem Zusammenhang auf den nuetzlichen Befehl "finger" hin...

Grimmborn der Atheist hebt sich halt seine EM-Schelte fuer die naechste
Gelegenheit auf.

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



Re: Entschuldigung. Oder so... (Boing, 15. Jul 1996, 11:20:36):
~#! rn=Grimmborn rt=837422268
~#! tid=837422268
Ich muss den Artikel leicht korrigieren: Die Abstufung war durchaus bereits
geplant, allerdings noch nicht durchgefuehrt, da wir den zwei betroffenen
Moeglichkeit zur Stellungnahme geben wollten. In einem Fall wurde das 
einigermassen vernuenftig genutzt, im anderen leider nicht.
  Boing

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



Rerere erzmagier sind machtgeil (Torfdueng, 15. Jul 1996, 12:51:05):
Vergisses Lug, ich geh nich
TD

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



Re: Entschuldigung. Oder so... (Amazora, 15. Jul 1996, 18:04:32):
~#! rn=Grimmborn rt=837422268
~#! tid=837422268
Meine Erstie hat sich nicht verabschiedet weil Saiken gebanisht wurde, sondern
weil sie das Chaos hier nicht laenger mitmachen will. Naja, der Artikel viel
wohl etwas dumpf aus aber sie war ja auch mal wieder zugeschuettet bis oben
hin ;-)
Ich will halt wissen was passiert und warum vor allem wenn es so wichtige
Sachen sind wie der Bansish eines RM's. Und das ist nicht das einzige was wir
hier nicht erfahren haben aber naeheres sollte man in den magierrubriken
besprechen. Kann ich zwar im Mom nicht aber dumm gelaufen ;)
Amazora

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



Re: Re: Entschuldigung. Oder so... (Catweazle, 15. Jul 1996, 20:50:10):
~#! rn=Amazora rt=837446672
~#! tid=837422268
Hi!
Na dieser Artikel entspricht in etwa dem Brief, den Du geschrieben
hast, zumindest im Punkt Information.
Das ihr immer meckert, wenn ihr was nicht erfahrt ist ja
mittlerweile bekannt, und das Euch sowas nervt, wie 
die Abstufung ist in diesem Fall dann wohl auch klar. 

Allerdings ist in diesem Fall die fehlende Info nicht mein oder
eines anderen Erzmagiers Fehler. Eben _weil_ ich Euren Wissens-
durst mittlerweile kenne, versuche ich immer mich mitzuteilen.
In diesem Fall ist das schief gelaufen, weil Saikan den 
lauten gemacht hat.

ALso um Euch die CHronologie mal genau klarzulegen:
Wir haben mit 6 Erzmagiern beschlossen, das die Probezeit
von Morgoth und Saikan gescheitert ist, und deshalb eine Mail
an die beiden geschickt und sie darueber informiert, das sie
abgestuft werden. Wohlgemerkt nur _informiert_, NICHT
abgestuft. Am Ende dieser mail steht ein deutlicher Hinweis,
dass wir sie nicht sofort abstufen, sondern erst mal Zeit fuer
KOmmentare lassen wollen.

Du musst zugeben, kein Grund die Allgemeinheit zu informieren!

Naja, die beiden Magier haben darauf voellig unterschiedlich 
reagiert. Saikan hat mir eine winzige einzeilige Mail
geschickt, dazu haette er nix zu sagen, und danach ist er 
gelinde gesagt 'ausgetickt'. Er hat Spielern geholfen, 
spasseshalber versucht * zu banishen, etc. 
Grund genug einen der Erzies den 'Nothebel' ziehen zu lassen,
bevor er weiteren schaedlicheren Mist macht.

Naja, und dann hat ER seinen Frust in die Zeitung gesetzt, ohne
das wir auch nur das geringste getan zu haben, ausser einer
kleinen mail zu schicken. So, wo und wozu haetten wir Euch
denn da informieren koennen/sollen.

Naja, einziger Erfolg der ganzen Geschichte ist, dass Saikan
sich den Posten wohl ziemlich selbst versaut hat, im Gegensatz zu Morgoth.
DER hat naemlich seine Chance genutzt und hat vernuenftiger
auf die Mail reagiert und zurueckgemailt, mit dem Erfolg,
das er wahrscheinlich seine RM-Rechte (wohl in
abgeaenderter Konstellation) behalten wird.

So, ich hoffe, das klaert was auf. Ich sehe in diesem Fall
keinen Punkt, wo wir Infos zurueckgehalten haben, eben weil, 
wie Grimmborn es fast richtig formuliert hat, NIX 
passiert ist. Naja, mittlerweile schon, Saikan IST
jetzt Level 26, aber das brauche ich _jetzt_ wohl nicht mehr 
zu begruenden, oder?

Yours truly,
     Catweazle

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



Re^3: Entschuldigung. Oder so... (Asmodis, 16. Jul 1996, 02:09:40):
~#! rn=Catweazle rt=837456610
~#! tid=837422268
Och, also ich finde diesen ganzen Knatsch sehr unterhaltsam. Ich weiss ja
nicht, wie sich erwachsene Leute wegen einem 'Spiel' so in die Haare kriegen
koennen. Auf jeden Fall haben wir schon UNITopia-Niveau, fuer wann war jetzt
die Magierdaemmerung angesetzt ? :)

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



Titel (Elvnik, 17. Jul 1996, 02:14:18):

Eins kann ich bei dieser ganzen Diskussion nich verstehen. Morgoth und Saikan
sind 2 der kreativsten Magier im ganzen MG. d.vland ist schlechthin die beste
Region z.Z. und ihr vergrault beide ... Na ja, is ja euer Problem. Aber
meckert dann nich wenn am Ende immer mehr Spieler das MG verlassen und
woanders hin auswandern ...

Just my 2 Muenzen ... Elvnik@PK-Mud 

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



Re: Titel (Anatol, 17. Jul 1996, 02:17:05):
~#! rn=Elvnik rt=837562458
~#! tid=837562458


Die beste Region ist nicht in jedermanns/jederfraus Augen diejenige, die die
besten Ruestungen, Waffen oder sonstige Tools hat.

Anatol (hat andere Augen)


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



Re: Re: Titel (Elvnik, 17. Jul 1996, 02:27:27):
~#! rn=Anatol rt=837562625
~#! tid=837562458

Also d.vland is nich nur ne schoene Region weil es da guten Kram gibt, Ich
moechte nur mal auf den Drudenwald hinweisen, das Drudenmoor, Die Katakomben,
das Schlachtfeld u.s.w. ... nu behaupte noch einer das das Mist ist ....
 
Elvnik ... Fan von d.vland

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



Re: Titel (Morgoth, 17. Jul 1996, 07:15:52):
~#! rn=Elvnik rt=837562458
~#! tid=837562458
Morgoth grinst Elvnik@Pk-Mud an ;-))

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



Re^3: Titel (Bierchen, 17. Jul 1996, 07:51:13):
~#! rn=Elvnik rt=837563247
~#! tid=837562458
dies ist das erste mal, dass ich zu nem artikel was sage..und dass ich dies
alles "klein" schreibe, ist pure absicht. ich dachte immer, das mg sei ein
spiel, bei dem man spass haben soll..einige leute machen sich die arbeit,
andere haben die freude. evtl. sollten sich die alt-magier mal wieder an die
anfaenge erinneren, und nicht gleich jeden magier wegen eines laecherlichen
vergehens an die wand stellen und hinrichten oder kritik an seiner prog.
technik ueben oder oder oder.... besonders das verhalten von sogenannten [E] >
nervt mich momentan..da schickt dich so einer in den jail und haelt es nicht
mal fuer noetig, eine begruendung zu liefern..ein anderer droht mit loeschung,
nur wegen kommentare bzw. sprueche auf -allgemein. bei ihren selbst
produzierten bugs bekommt man keine antwort, auch wenn man deshalb abkratzt. 
egal..was ich sagen will ist : frueher war alles besser und momentan
entwickelt sich alles in richtung "kleingeister"!

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



Re^3: Titel (Anakin, 17. Jul 1996, 08:59:02):
~#! rn=Elvnik rt=837563247
~#! tid=837562458
Aehm....als die beste Region schlechthin....*huestel*.
Ich geh da fuer mein Teil lieber auf ne andere Insel. 

Anakin.

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



Re^4: Titel (Elvnik, 18. Jul 1996, 09:27:49):
~#! rn=Anakin rt=837586742
~#! tid=837562458

Ich tipp mal du meinst Toeters Insel, hmm, war ich eben noch nie, is
wahrscheinlich auch ein Fehler, aber so oft bin ich nun mal nich mehr im MG
*seufz* *hachja*

Elvnik ... der ohne Ahnung von gar nichts

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



Tacheles! (Grimmborn, 18. Jul 1996, 14:23:51):

Also, um das mal ganz klar zu stellen: Wenn ein Magier eins auf die Nase
bekommt fuer Sachen, die er programmiert hat dann koennen die Spieler diese
Sachen noch so toll und phantastisch finden wie sie wollen, das spielt
ueberhaupt keine Rolle. Gerade solche Aktionen haben so gut wie nichts mit
persoenlichen Animositaeten zu tun, dafuer gibts hinreichend andere
Spielwiesen.
Wenn in der einen oder anderen Weise unsaubere Programmierung ueberhand nimmt
dann gefaerdet das auf mittlere Sicht erst die Stabilitaet des Systems (nicht
beliebig viele und nicht alle bugs kann der GD verkraften) und dann auch die
Balance und damit auch den Spielspass. Daher ist ein gewisses Mass an
Aufsicht noetig und damit verbunden die Option, Leuten Verantwortung zu
entziehen. Und nochmal: Keiner ist hier runtergestuft worden, Morgoth ist
(jaja: leider) nichts geschehen und Saikan ist das, was ihm passiert ist,
zu 100% selber schuld.

EOF!

Grimmborn der Atheist

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



Re: Tacheles! (Myself, 18. Jul 1996, 18:14:07):
~#! rn=Grimmborn rt=837692631
~#! tid=837692631
Hi,

natuerlich spielt es eine wichtige Rolle, ob Dinge, die ein
Magier progt, zur spielerischen Atmophaere des Morgengrauens
beitraegt.  -Ideal, aber wohl auch unerreichbarer
Wunschtraum, waere natuerlich beides:  packende
Atmosphaere und effizienter, fehlerfreier Code....

Myself

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



Re: Re: Tacheles! (Matsushita, 19. Jul 1996, 09:27:40):
~#! rn=Myself rt=837706447
~#! tid=837692631
Hm, packender Code und fehlerfreie Atmosphaere sind aber auch nicht gerade wie
Feuer und Wasser, Myself... :) Beides sollte ja irgendwie machbar sein, oder?
Vielleicht in dem Zusammenhang mal die Frage eines in Magierangelegenheiten
sehr
unbedarften Anfaengers: Wie werden die neuen Gebiete o.ae. eigentlich
planungstechnisch
angegangen? Wird da was einigermassen detailliert ausgearbeitet, bevor es
seinen
Weg ins Mud findet? 
Matsu*

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



Re^3: Tacheles! (Mupfel, 19. Jul 1996, 17:43:31):
~#! rn=Matsushita rt=837761260
~#! tid=837692631
Ich glaube schon dass das VLand als neues Gebiet zunaechst 'durchgeplant'
wurde (Morgoth scheint Spezialist zu sein fuer sowas... :-). Fuer die anderen
Gebiete kann ich das nicht sagen, da alle anderen Domains schon da waren, als
ich im April 95 Magier wurde. Ich denke, die waren schon zu Anfang vorhanden,
und fuer den 'Grundaufbau' des MG gibts irgendwo in der Magierdoku
Richtlinien, wie die Wege/Gengenden aufgebaut werden.
Ich weiss nur wie es im AnderLand war (einem im Aufbau befindlichen MUD, dass
ich vor ca. 1 1/2 Jahren 'gegruendet' habe), da habe ich als damals einziger
Gott grob festgelegt, 'da kommt der Wald hind, da das Gebirge' etc. und das
wurde dann (mehr oder weniger :-) von den RMs uebernommen.

-mupfel-

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



Re^4: Tacheles! (Wurzel, 19. Jul 1996, 19:04:26):
~#! rn=Mupfel rt=837791011
~#! tid=837692631
im morgengrauen war es aehnlich, nur keine einzelentscheidung. der 
grundsaetzliche aufbau wurde schon 92 festgelegt (deswegen kenne ich mich
wenigstens ein bisschen aus :), nur fernwest kam spaeter.
wie der aufbau in den regionen intern laeuft, ist im wesentlichen sache der
rm. es gibt da die unterschiedlichsten auspraegungen, von null planung bis
zu detaillierten konzepten (theoretisch wenigstens, gesehen habe ich noch
keins :)). irgendeine idee sollte aber schon da sein, sonst gibt es nur
durcheinander.

wurzel

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



Re^4: Tacheles! (Matsushita, 19. Jul 1996, 20:09:34):
~#! rn=Mupfel rt=837791011
~#! tid=837692631
Thx, Mupfel... :)
Matsu*

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



wurfsterne (Morgoth, 20. Sep 1996, 08:21:26):
Da ich erneut Meldungen bekommen habe, dass sich eine ganz bestimmte Gilde mit
den Wurfsternen zu oft selbst verletzt hat, sind sie fuer diese nun etwas
schwaecher geworden. Die Armen sterben sowieso schon so oft ;-).
Morgoth
P.S.: Hi Siborit, Deine Idee ist eingebaut ;-)))

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



Elementar (Morgoth, 24. Sep 1996, 08:43:06):
Tja. Das das ES nun so abgewertet wurde, hab ich wenigstens den Elementar
etwas attraktiver gemacht. Testet ihn mal an. Aber sagt hinterher nicht, ich
haette Euch nicht gewarnt. ;-))
Morgoth, der miese Playerkill^h^h^h^h^h^h aeh...na ihr wisst schon...

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



Orks geaendert (Morgoth, 14. Nov 1996, 10:58:52):
Hi,
ich habe (oh wunder) mal wieder was getan. Ich hab die Orks etwas geaendert.
Viel Spass, Morgoth

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



Re: Orks geaendert (Mango, 15. Nov 1996, 11:06:37):
~#! rn=Morgoth rt=847965532
~#! tid=847965532

 Schmeissen sie jetzt noch mehr feuerbaelle, koennen sie noch mehr broetchen
essen, werfen sie noch schneller wurfsterne, koennen sie noch mehr leichen
tragen, noch mehr schwerter zuecken haben sie sich vermehrt oder GAR
SCHLIMMERES? ;)


s
Mango, arg aengstlich (voller Todesverachtung jetzt nach khausen gehend).



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



Re: Re: Orks geaendert (Asmodis, 15. Nov 1996, 11:14:20):
~#! rn=Mango rt=848052397
~#! tid=847965532
Soviel ich rausgefunden hab, sind die normalen Orks jetzt etwas staerker
geworden, kommen sogar durch meine Abwehr durch :)
Ansonsten fiel mir nur auf, dass bei einigen Stadtorks das Alarmsystem
ausfiel, die anderen Orks kloppten dann nicht auf mich ein :)

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



Re: Re: Orks geaendert (Morgoth, 15. Nov 1996, 11:26:43):
~#! rn=Mango rt=848052397
~#! tid=847965532
noch mehr feuerbaelle ?? gute idee....
aber das ist es nicht...probier es einfach aus. so schlimm ist es nciht, denke
ich.
Morgoth

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



Re^3: Orks geaendert (Mango, 15. Nov 1996, 12:57:36):
~#! rn=Morgoth rt=848053603
~#! tid=847965532




           Die Saecke haben SCHNELL gelrnt!



Mango, war auf der Hut.



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



Re^4: Orks geaendert (Morgoth, 15. Nov 1996, 14:57:50):
~#! rn=Mango rt=848059056
~#! tid=847965532
;-))))))
Hast Du ja SCHNELL gemerkt. ;-)
Morgoth

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



Vorsicht !! (Morgoth, 19. Nov 1996, 08:27:22):
Ich hab den Para-Karateka etwas geaendert.
Viel Spass und gutes Sterben wuenscht Euch...... Morgoth

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



Re: Vorsicht !! (Asmodis, 19. Nov 1996, 10:02:39):
~#! rn=Morgoth rt=848388442
~#! tid=848388442
Wirft er jetzt auch noch feuerbaelle ? :)

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



Ich bin wieder da ! (Morgoth,  2. Feb 1997, 16:45:58):
Hi Leute.
Nach laengerer (Zwangs)Pause hab ich mal wieder ein paar Dinge im MG, die ich
aendern moechte.
Angefangen hab ich bei meinen laufenden Orks. Schaut sie Euch vorher genau an,
bevor ihr draufhaut,
es koennte Euer Leben retten.
Demnaechst folgen noch Aenderungen am Elementar(+schwert) und in den
Katakomben.
Alle diese Ideen sind NICHT auf meinem Mist gewachsen, sondern kommen aus
Spielerkoepfen.
Falls ihr also was zu meckern habt, wendet Euch an Chondos, Pyro, Ringor und
weitere 
Dortmunder Stammtisch Besucher.
Bis denne.....Morgoth

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



Re: Ich bin wieder da ! (Morgoth,  2. Feb 1997, 16:46:29):
~#! rn=Morgoth rt=854898358 rg=d.vland
~#! tid=854898358
Argl, sorry fuer das Scheiss-Format.
M*

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



Re: Re: Ich bin wieder da ! (Sushi,  2. Feb 1997, 20:48:08):
~#! rn=Morgoth rt=854898389 rg=d.vland
~#! tid=854898358
Warum, die Orks sehen doch aus wie immer? Wo ist denn da der Formatwechsel?


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



Re: Ich bin wieder da ! (Anatol,  2. Feb 1997, 22:20:57):
~#! rn=Morgoth rt=854898358 rg=d.vland
~#! tid=854898358

Du meinst, dass Du das, wovon die Spieler meinten, dass es ziemlich unfair
waere, wenn man es implementieren wuerde, einbaust?

Naja, dann gibt ruhig uns Spielern die Schuld.

Einen Magierschlaechter zueckend, 
Anatol :)


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



Neues in und um Orkhausen (Morgoth,  3. Feb 1997, 16:36:42):
So, nachdem die Orks nun etwas vieseitiger geworden sind, hat sich nun noch
etwas getan.
**ARGL** Kein return, sonst versauts das Format.
1: Das Elementarschwert ist nun etwas abgeaendert, es ...ach nee, ich verrat
nix. Zardoz hat auf jeden Fall gesagt, dass er es so wies nun ist, wieder fuer
Chaoten zulaesst (wenns nicht ueberhand nimmt).
2: Die kleinen, niedlichen, stinkenden Untoten haben nun einen 'special touch'
bekommen, der sie unwiederstehlich macht ;-)). Keine Angst...schaut Euch nur
gut um, wenns Euch erwischt hat.
3: Weitere Aenderungen folgen in Kuerze ;-)
Morgoth

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



Re: Neues in und um Orkhausen (Bendeigid,  3. Feb 1997, 18:52:55):
~#! rn=Morgoth rt=854984202 rg=d.vland
~#! tid=854984202
Aehm, statt "Chaoten" setze "Kaempfer", ansonsten stimmts.
Und unwiederstehlich schreibt sich unwiderstehlich.... *grins*

Ich habs mir angesehen, Morgoth.... meinst Du nicht, dass das, was derzeit aus
der ** kommt reicht? faengt diese Epidemie auch im Vland an?
Mir ist's egal...

Z'par Servu,
             Bendeigid

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



Rauhe Sitten (Morgoth,  3. Feb 1997, 21:03:06):
Da im Moment eine Verrohung der Sitten nicht mehr aufzuhalten ist und (fast)
alle nur noch auf einander rumhacken, haben (leider) auch die Orks in
orkhausen etwas davon mitbekommen. Selbst der Priester schafft es nicht mehr,
seine Schaef..aeh Orkchen im Zaum zu halten. Es kann also passieren, dass
einer der Orks ploetzlich durchdreht und Euch angreift.
Habt acht und sputet Euch schnell......
Morgoth

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



Re: Rauhe Sitten (Anatol,  3. Feb 1997, 22:43:58):
~#! rn=Morgoth rt=855000186 rg=d.vland
~#! tid=855000186

Wenn man Dich dafuer auf Level 26 runterstuft, koenntest Du 
nichteinmal etwas dagegen haben, denn es waere noch zu gut fuer Dich.

Meine (unbescheidene) Meinung,
Anatol


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



Re: Re: Rauhe Sitten (Ringor,  3. Feb 1997, 22:46:46):
~#! rn=Anatol rt=855006238 rg=d.vland
~#! tid=855000186
Wieso, ist doch vollkommen harmlos. Man nehme einen Anfaenger, der die
Siegelringquest machen will, schenke ihm gute Ausruestung und schicke ihn los.

Fast so schoen wie ein PK. Oder habe ich da was falsch verstanden auf dem
Stammtisch?

Ringor. Findet das 'etwas' heftig.

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



Re^3: Rauhe Sitten (Wurzel,  3. Feb 1997, 22:48:09):
~#! rn=Ringor rt=855006406 rg=d.vland
~#! tid=855000186
hm, vielleicht sollte man die siegelringquest abhaengen...

fuer anfaenger ist das sicher nichts mehr.

wurzel

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



Re^4: Rauhe Sitten (Wurzel,  3. Feb 1997, 23:17:41):
~#! rn=Wurzel rt=855006489 rg=d.vland
~#! tid=855000186
ich korrigiere mich, einem anfaenger passiert dort nichts (jedenfalls nicht
mehr als vorher). grade mal nachgesehen.

wurzel

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



Re^3: Rauhe Sitten (Morgoth,  4. Feb 1997, 07:27:06):
~#! rn=Ringor rt=855006406 rg=d.vland
~#! tid=855000186
Jajaja, ich sehs ja ein. Die Kombination ist etwas 'ungluecklich' gewaehlt.
Chondos hatte ne gute idee, das Ganze in die Parawelt zu schaufeln......also
demnaechst wird es in Orkhausen die komplette Parawelt geben.
Morgoth (hat nachgeschaut...nur 1 Kill)

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



Re: Re: Neues in und um Orkhausen (Zardoz,  4. Feb 1997, 09:47:00):
~#! rn=Bendeigid rt=854992375 rg=d.vland
~#! tid=854984202
Ts ts. Immer den dummen Kommentar abgeben, auch wenn man keine Ahnung hat.
Statt Chaoten ist Kaempfer und Chaoten zu setzen.

Ciao Zardoz

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



Parawelt (Morgoth,  4. Feb 1997, 16:58:39):
So, wie angekuendigt, hat Orkhausen nun eine komplette (hoffentlich) Parawelt.
dort wird sich in naechster Zeit auch noch einiges tun, bis dahin koennt ihr
erstmal euer koennen und eure staerke beweisen.
M*

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



Re^4: Rauhe Sitten (Anatol,  4. Feb 1997, 17:50:41):
~#! rn=Morgoth rt=855037626 rg=d.vland
~#! tid=855000186
Klar, Morgoth, gab es nur sehr wenige Tote... die anderen waren vorgewarnt.
Und ausserdem, wenn Dich ein bis drei Magier verfolgen, ist Orkhausen nur
noch halb so schlimm - schliesslich greifen die Orks _alle_ an, und auch noch
gleichzeitig ;)

Fand vor allem die "Tesla-Karate/Paracelsus-Tautau"-Kombination gelugen,
Anatol


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



Para-Karateork (Morgoth,  5. Feb 1997, 15:24:58):
Er ist nun, da die Stadt komplett paraweltisiert ist, umgezogen.
Ihr koennt Euch sicher denken, wo er jetzt steht. 
...Es ist ein guter Tag zu sterben.....

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



Parawelt, 2 (Morgoth,  8. Feb 1997, 21:07:18):
Ich habe gehoert, dass die Parawelt mir etwas 'entglitten' waere, sie also zu
stark ist. Nun, erstens gibt es keine mir bekannten Regeln fuer die Parawelt.
Zweitens ist das Ganze noch in der Testphase, da ja auch die Veraenderung in
der normalen Welt noch nicht zu lange her ist und ich deshalb die
Gesamtstaerke, die durch die verschiedenen Gilden zusammenkommt, noch nicht
ganz abschaetzen kann. 
Mein Vorschlag: Ich bin vom 10.-17.2. im Urlaub. Da habt ihr genug Zeit, die
Parawelt ausfuehrlich zu testen und mir dann, per Mail, Eure
Verbesserungsvorschlaege zu unterbreiten. Da wird sich sicher ein Kompromiss
finden lassen. Schliesslich soll die Parawelt ja auch etwas gefaehrlicher und
haerter sein.
Bis dann....
Morgoth

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



Re: Parawelt, 2 (Phobos,  9. Feb 1997, 14:48:31):
~#! rn=Morgoth rt=855432438 rg=d.vland
~#! tid=855432438
Hmm, es soll auch Gegenden geben, die erst getestet, und dann angeschlossen
werden :)

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



Basilisk (Silvana, 13. Feb 1997, 10:43:43):
Hi.
Ich hab ne Kleinigkeit am Basilisken geaendert. Er ist nicht staerker
geworden, keine Sorge. Aber es ist nicht mehr ganz so leicht, zu
Unmengen von Schuppen zu kommen. Bei sehr starken Treffern wird nun
mal die Schuppenhaut verletzt...

  Silvana

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



Sorry... (Morgoth, 24. Feb 1997, 08:04:12):
Durch die ganze umstellerei hat sich ein Bug in die Siegelringquest
geschlichen. Man konnte den Schluessel nicht mehr bekommen. Ist gefixed !!! 
Danke an alle, die mich darauf aufmerksam gemacht haben.

M*

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



Re: Sorry... (Silvana, 24. Feb 1997, 08:24:20):
~#! rn=Morgoth rt=856767852 rg=d.vland
~#! tid=856767852
Durch die Umstellerei halte ich die sicheren Teleportziele in Orkhausen
nicht mehr fuer sicher. Ich hab sie aus der Zauberer-Teleportliste
gestrichen. Die unsicheren bleiben allerdings. :)

  Silvana

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



Korrektur (Paracelsus, 29. Apr 1997, 11:25:50):
Hi.
Kleine kosmetische Korrektur vorgenommen, ihr werdets schon merken.
(Nein, ich hab Orkhausen nicht abgehaengt ;)
Para*

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



Re: Korrektur (Anatol, 29. Apr 1997, 12:35:27):
~#! rn=Paracelsus rt=862305950 rg=d.vland
~#! tid=862305950
rm -rf /u/mud/mudlib/d/vland koennte man auch als "kosmetische Korrektur"
betrachten... ;-)

Anatol


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



Re: Re: Korrektur (Paracelsus, 29. Apr 1997, 21:04:01):
~#! rn=Anatol rt=862310127 rg=d.vland
~#! tid=862305950
Bring mich nicht auf dumme Gedanken ;)
Obwohl, Spass machen taets schon ...

Para.

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



Re: Re: Korrektur (Fyt, 30. Apr 1997, 10:26:00):
~#! rn=Jasper rt=862316050 rg=d.vland
~#! tid=862305950

Boah ey, wie haben die das gemacht? Wir haben in 40 Jahren nur die
Seitenwaende geschfatt...

Fyt.

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



Re^4: Korrektur (Paracelsus, 30. Apr 1997, 15:18:44):
~#! rn=Jasper rt=862342991 rg=d.vland
~#! tid=862305950
Also um das mal klarzustellen: Mit dem Dach hab ICH nix gemacht.
Para*

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



Laeden (Silvana,  7. Mai 1997, 19:19:46):
Hi.
Wenn in der Rubrik entwicklung von Aenderungen an Laeden, Pubs oder
Aehnlichem die Rede ist, gilt das, wie gesehen, nicht direkt auch 
fuers VLand. Das verwendet leider eigene std-Objekte. Also verlasst 
Euch bitte nicht darauf, das im Vland alles so ist wie sonst auch.
Der Zustand wird wohl leider noch ne Weile so bleiben, denn derzeit
gibt es weden nen VLand-RM, der sich fuer irgendwas zustaendig fuehlen 
wuerde, noch einen EM, der so viel Zeit ueber hat, ne ganze
Region im Alleingang zu debuggen.
Also, passt auf Euch auf und verkauft lieber wo anders. :)

  Silvana

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



Re: Laeden (Mupfel,  8. Mai 1997, 16:35:55):
~#! rn=Silvana rt=863025586 rg=d.vland
~#! tid=863025586
Hm, wenn ich mich recht erinner, benutzt auch der Wald fuer alles und jedes
eigene std-Objekte, aber da gibts da Dich, Silvana und den ruehrigen
Paracelsus der alles anpasst. Vielleicht solltest Du den zum Vland-Einsatz
abkommandieren, damit der nicht das Gefuehl bekommt, nix zu tun zu haben :-)

-mupfel-

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



Re: Re: Laeden (Yantro,  8. Mai 1997, 18:07:49):
~#! rn=Mupfel rt=863102155 rg=d.vland
~#! tid=863025586

Mupfel, ist vor allem witzisch, weil im wald BEIDE aktiven (?) RMs auch EMs
sind und ihre guten Ideen auch haetten in den eigentlichen /std/room etc
einbauen koennen... Ich mein, bei meiner Frau kann ichs noch verstehen, denn
die ist mal wegen einer lapalie von einem wortgewaltaetigen EM
zusammengeschissen worden, aber wieso macht Para das nicht? Der hat doch nix
zu verlieren ausser seinen guten (?) Ruf als BalanceEM.

Yantro, heute ist ihm nix heilig!

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



Re^3: Laeden (Mupfel,  8. Mai 1997, 18:59:43):
~#! rn=Yantro rt=863107669 rg=d.vland
~#! tid=863025586
Ich glaube der hat noch viel mehr Angst als Silva.... 
-mupfel-

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



Again (Paracelsus,  9. Mai 1997, 23:54:18):
Noch ne kleine Korrektur ... und ich hab das vland immer noch nicht
geloescht (Kommt Zeit ...).

Para*

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



*ARGL* (Paracelsus, 12. Mai 1997, 21:21:09):
Noch eine kleine Schoenheitskorektur: Saemtliche Ruestungen von Martha
wurden soeben von mir aus dem Verkehr gezogen, da diese nicht genehmigt
waren.
Ueber evtl.e weiterfuehrende Konsequenzen mache ich mir noch Gedanken.

Para*

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



Re: *ARGL* (Mupfel, 12. Mai 1997, 21:32:06):
~#! rn=Paracelsus rt=863464869 rg=d.vland
~#! tid=863464869
das kannst du den armen spielern doch nicht antun.... (da musst du dann deine
sachen wieder aufbuttern - wer soll dir schon reinreden :-)

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



Re: *ARGL* (Taz, 12. Mai 1997, 22:33:50):
~#! rn=Paracelsus rt=863464869 rg=d.vland
~#! tid=863464869
Wurde irgendwie Zeit, dass das einem Erzie auffaellt. :-)

Taz.

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



sowas (Feuerwehr, 12. Mai 1997, 23:03:47):
Hey,

wieso wird denn mal kein zusaetzlicher RM fuers VLand
gewaehlt/bestimmt/verdonnert?

Ich meine, Shakedbeer und Morgoth haben momentan kaum Zeit, da wuerde eine
weitere Ansprechperson nicht verkehrt sein.

   Feuerwehr (wedelt wild mit einem Jasper for RM - Faehnchen)

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



Re: *ARGL* (Patryn, 12. Mai 1997, 23:21:50):
~#! rn=Paracelsus rt=863464869 rg=d.vland
~#! tid=863464869
dachte ich es mir doch...hab mich schon gewundert :)

------
patryn

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



Re: sowas (Mupfel, 13. Mai 1997, 00:44:12):
~#! rn=Feuerwehr rt=863471027 rg=d.vland
~#! tid=863471027
Hm... was hatter den angestellt, der jasper, das Du ihn so bestrafen willst?
:-)

-mupfel-

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



Re: Re: *ARGL* (Paracelsus, 13. Mai 1997, 09:57:22):
~#! rn=Jasper rt=863470712 rg=d.vland
~#! tid=863464869
Tja, vor mir war Boing dafuer zustaendig, und den hab ich vorher gefragt.
Demnach waren sie nicht genehmigt.

Para*

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



Re^4: *ARGL* (Paracelsus, 13. Mai 1997, 13:54:17):
~#! rn=Jasper rt=863524372 rg=d.vland
~#! tid=863464869
Hmm, DAS war dann vielleicht die Meinung von Morgoth und oder Saikan,
aber dazu brauche ich wohl nicht mehr zu sagen, oder?

Para*

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



Re^4: *ARGL* (Bendeigid, 13. Mai 1997, 13:56:50):
~#! rn=Jasper rt=863524372 rg=d.vland
~#! tid=863464869
Dass ich nicht lache! Ausgerechnet Morgoth sollte, besonders in der
Anfangszeit, irgendetwas als "zu gut" abgehaengt/abgelehnt haben? Das ist ja
wohl ein starkes Geruecht....

Sorry, nimms nicht persoenlich, aber so wars halt...


Z'par Servu,
              Bendeigid

P.S.: Es stimmt uebrigens nicht, dass man was bei den RMs abnehmen lassen
konnte, wenn es ueber eine gewisse Staerke hinausing. Schon damals musste das
zu Boing, allerdings war die Grenze nicht genau festgelegt, sondern es war der
Verantwortung des Magiers ueberlassen, solche Sachen, die er als kritisch
einstuft, ihm vorzulegen. Hat sich leider leider nicht immer bewaehrt....

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



Re^5: *ARGL* (Morgoth, 23. Mai 1997, 07:37:55):
~#! rn=Paracelsus rt=863524457 rg=d.vland
~#! tid=863464869
Hi,
ja...ich bins tatsaechlich. Und ich vermute, es geht um die 'spaerliche'
Bekleidung von der erwaehnten 'Dame'.
Ja Ben*, ich hab damals tatsaechlich gemeckert und gesagt, er solls sich
abnemhem lassen ;-).
Para, es waer nett, wenn Du mir zu Aenderungen mails schicken koenntest. Ich
bin zwar lange nicht hier gewesen, meine Mails lese ich aber trotzdem. ;-)
Wenn mir jemand fuer Linux 4.04?? (oder so aehnlich) die crt1.o Library
vermachen koennte, wuerd ich auch endlich den driver compilieren und mal das
vLand zu Hause ueberarbeiten.
Hier hab ich leider seit laengerem kaum(keine) Zeit. Das wird sich wohl auch
nicht so schnell aendern. Sorry. 
Das wars erstmal wieder. 
Morgoth lebt **noch** 

P.S.: Mails bitte an morgoth@thor.chemie.uni-dortmund.de

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



Re^6: *ARGL* (Jasper, 26. Mai 1997, 12:14:40):
~#! rn=Morgoth rt=864365875 rg=d.vland
~#! tid=863464869
poeh jetzt faellt der mir schon in den ruecken :)

jasper steht zur adoption frei :)

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



Suche Autor (Alpha,  3. Jun 1997, 10:28:45):
Hmm, ich schreibe hier, weil ich gestern keinen VL-Magier finden konnte. Ich
suche den Autor des Zombie-Viruses. Dat Ding scheint mir ein bisschen
buggy(oder ist es ein Feature?). Naja. Folgendes. Gestern bin ich am
Zombie-Virus gestorben. Passiert halt. Waehrend der Todessequenz habe ich
weiterhin "Virusmeldungen" bekommen(Deine Haut schlaegt Blasen......). Sollte
ja wohl nicht sein, wenn ich bei Lars da irgendwo rumschwirre. Ist mir aber
auch schnuppe. Nicht so egal ist mir, das ich den Virus, nach meiner
Wiedergeburt immer noch hatte, und das der Virus auch noch ativ war, mir LPs
abgezogen hat, mir die Hand weggefault hat, und ich beinahe nochmal vereckt
bin. Fand ich dann gar nicht lustig.
Bug or Feature, thats the Question. Oder so.
Alpha

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



Re: Suche Autor (Fyt,  3. Jun 1997, 10:32:31):
~#! rn=Alpha rt=865326525 rg=d.vland
~#! tid=865326525
> Bug or Feature, thats the Question. Oder so.

Noe.

VLand is the question.

The answer is known ;-)

Fyt.

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



Re: Suche Autor (Ringor,  3. Jun 1997, 16:01:05):
~#! rn=Alpha rt=865326525 rg=d.vland
~#! tid=865326525
Der Autor ist derselbe wie von dem Gebiet, wo Du ihn Dir gefangen hast:
Morgoth. 

Und damit ist die Frage nach Bug oder Feature schon keine mehr. Die
eigentliche Frage ist dann eher, wer den Mist repariert. ;^)

Ringor

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



Re: Re: Suche Autor (Patryn,  3. Jun 1997, 16:47:28):
~#! rn=Ringor rt=865346465 rg=d.vland
~#! tid=865326525
das ist doch eher noch ein harmloser fehler, andere programmieren
sowas muehevoll, um spieler zu aergern... im verlorenen Land geht
sowas halt automatisch :)

------
patryn

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



Re^3: Suche Autor (Schoko,  3. Jun 1997, 17:11:02):
~#! rn=Patryn rt=865349248 rg=d.vland
~#! tid=865326525

Sei froh! Ich BIN an dem Ding nochmal verreckt, denn nach dem Tod ist es nicht
einmal mehr durch einen Kleeriker oder sonstige Mittel heilbar. Wenn es nach
dem Virus geht bist Du nach dem Tod nicht mehr krank ... wenn da nur nicht die
LP Abzuege waeren.

Schoko, dem das VLand immer noch wie ein Vorlagenkatalog fuer die letzten
"Neuerungen" im MG vorkommt

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



Bug behoben ? (Morgoth, 13. Jun 1997, 08:39:36):
Hi,
Der Bug in den herumlaufenden Orks scheint behoben. Deshalb gibt es sie jetzt
auch wieder in der normalen Welt in Orkhausen.
Das Zombievirus laesst sich eigentlich auch ganz gut heilen, ihr muesst halt
nur mal etwas suchen ;-). Ich werde aber trotzdem den Bug noch ausbauen, der
HP-Abzug nach dem Tod zulaesst.
Bis dann....
Morgoth...hofft, dass die crt1.o-Lib nun ok ist

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



Bugfix (Paracelsus, 13. Jun 1997, 22:46:02):
Da es in den Broetchen, die im Vland gekauft werden koennen, einen ziemlich
miesen Bug gab, sah ich mich gezwungen, die allesammt zu destructen.
Der Bug ist behoben, ihr koennt euch also getrost neue kaufen.

Paracelsus.

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



Re: Bug behoben ? (Mupfel, 21. Jun 1997, 01:08:16):
~#! rn=Morgoth rt=866183976 rg=d.vland
~#! tid=866183976
Was das warn Bug? Ich dachte das war Absicht... :-)

-mupfel-

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



Orkhausen (Dieder, 24. Jun 1997, 09:25:39):
Hi!

Also, mich kaest das langsam an hier, dass jeden zweiten Tag was an den
Orks gedreht wird und man das nur durch Sterben erfaehrt. Sicherlich
hat man keinen Anspruch drauf, aber ich moechte doch drum bitten, das dann
vielleicht mal hier anzukuendigen. Ich hab mittlerweile 6 tode aufm Konto
und bin grad wieder durch nen netten popeligen Stadtork (neue Todesmeldung)
hoppsgegangen. Im uebrigen buggt es auch etwas: Nach meinem Tod tragen
mittlerweile alle Orks in der Stadt mindestens eine Chaoshaut von mir
herum...

Ansonsten scheinen mir die Aenderungen wirklich ziemlich scharf zu sein,
sodass Asmodis wohl nicht unrecht hatte, wenn er vermutete, dass einige
Orks wohl aus der Parawelt umgezogen sind...

Dieder

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



Re: Orkhausen (Hardil, 24. Jun 1997, 11:31:34):
~#! rn=Dieder rt=867137139 rg=d.vland
~#! tid=867137139

Du hast die richtige Rubrik getroffen, Dieder.
Der Rest des Artikels entbehrt jeglicher Grundlage. 
Warum?
Siehe Rubirk. :-)

-Hardil.
NNN.

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



Re: Orkhausen (Mupfel, 24. Jun 1997, 15:26:00):
~#! rn=Dieder rt=867137139 rg=d.vland
~#! tid=867137139
auch fuer diese region gilt: keiner zwingt dich da rumzurennen. also alles
a.e.g. (auf eigene gefahr)

-mupfel-

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



Re: Re: Orkhausen (Hangover, 24. Jun 1997, 17:48:23):
~#! rn=Mupfel rt=867158760 rg=d.vland
~#! tid=867137139
Toller Kommentar...

Im Prinzip muss hier niemand irgendwo rumlaufen...Fakt ist 
nunmal, dass Orkhausen buggt und anscheinend jeden Tag 
anders bestueckt ist. Und ich kann durchaus Dieders Veraer-
gerung verstehen...mich haetten die Orks auch fast erwischt,
nachdem sie eine Zeitlang voellig harmlos waren. Ich
wuensche mir ja nur ein bisschen mehr Information von
Magierseite und ein bisschen mehr Konsequenz.

-Hangover
(auch mal leicht angenervt...)

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



Re^3: Orkhausen (Fyt, 24. Jun 1997, 18:03:36):
~#! rn=Hangover rt=867167303 rg=d.vland
~#! tid=867137139

Heult doch nicht, Muppi hat recht. Es gibt halt Magier, die programmieren
vernuenftig und es gibt Magier, die tun das nicht. Und eigentlich sollte
mit laengerem Aufenthalt hier klar sein, wer in welche Kategorie gehoert,
und es laesst sich auch rauskriegen, wer wo seine Finger im Spiel hat.
So what?

Fyt.

PS: Scheisse wird's, wenn Viecher aus den uebleren Regionen frei in
die vernuenftigeren wechseln duerfen...

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



Re^4: Orkhausen (Baboon, 26. Jun 1997, 10:10:01):
~#! rn=Fyt rt=867168216 rg=d.vland
~#! tid=867137139
Du meinst also, es gibt keinen Zwang sich in Gebieten wie dem Vland
rumzutreiben? Das mag zwar im Prinzip richtig sein, aber...
Hast du zum Beispiel mal an Zaubertraenke gedacht, oder Forscherpunkte, oder
Questen? Oder das sich vielleicht jemand dahin verirrt, oder das es jemandem
zu langweilig wird ewig nur die Gegend um Port Vain leer zu machen, oder mal
was neues sehen moechte (wenn auch eher keine neue Todessequenz)?
Ich bin zwar nur ein bloeder Wurstmagier, und vermutlich bald unter
Beobachtung des muensteraner Filz, weil ich ich hiermit gegen immer weitere
aufruestung der Gebiete mit supermonstern und Todesfallen und pro
Spielatmosphaere stimme. :-) 
Aber mal ehrlich: wenn ich irgendwo ein Monster hinstelle und ihn mit
"this_player()->die()" angreifen lasse, dann kann ich das mit "haettest ja
nicht angreifen brauchen" rechtfertigen?

Baboon (weinerlicher Wurstmagier)


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



Re^5: Orkhausen (Fyt, 26. Jun 1997, 14:19:20):
~#! rn=Baboon rt=867312601 rg=d.vland
~#! tid=867137139
Es wird Dich keiner dafuer zur Rechenschaft ziehen, wenn Du nicht ins
VLand gehst. Mir ist zumindest keine Passage des Strafgesetzbuches gelaeufig,
die das aussagt. Genausowenig zwingt Dich jemand zu Mudden, Du tust es
also aus freine Stuecken - und wirst mit den Konsequenzen leben muessen.
Genauso, wie Leute, die Altspielern das Gefuehl geben, beschissen zu
werden damit leben muessen, dass sie bei diesen nicht besonders beliebt
sind...

Fyt.

PS: Da fehlt'n Komma..

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



Re^3: Orkhausen (Morgoth, 27. Jun 1997, 10:13:54):
~#! rn=Hangover rt=867167303 rg=d.vland
~#! tid=867137139
Nun gut, also schreib ich mal was dazu.
Dass sie eine Zeit lang harmlos waren lag daran, dass Rochus vor urlanger Zeit
( 2-3 Monate) was an seinem INPC geaendert hat. Diese Aenderung hatte einige
Bugs in meinen Orks zur Folge. Da ich kaum Zeit hatte (Arbeit) etwas zu tun,
wurden die Orks von Silvana abgehaengt. Da ich jetzt wieder 'etwas' mehr Zeit
habe und Rochus auch seinen INPC repariert hat, sind die Orks, die abgehaengt
wurden wieder da. Sie sind NICHT staerker gemacht worden. Es sind immer noch
die alten, nur jetzt halt wieder ein paar mehr. 
Falls Orks aus der Parawelt in die normale gekommen sind, dann meckert nicht
hier rum, sondern schickt mir eine Mail. Die lese ich naemlich regelmaessig
(dazu reicht die Zeit).
Das wars erstmal....
M*

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



Re^4: Orkhausen (Rochus, 27. Jun 1997, 13:33:49):
~#! rn=Morgoth rt=867399234 rg=d.vland
~#! tid=867137139
Vollkommen falsch, in der Funktion, die buggte, habe ich seit
Ewigkeiten nichts geaendert, bis ploetzlich staendig
staendig Bugs in Orkhausen auftraten.
DANACH erst habe ich versucht den Fehler zu beheben.
Uebrigens steht da beim INPC ganz deutlich die Warnung
"Noch in Entwicklung - Benutzung auf eigene Gefahr!"
Wenn Morgoth jetzt ausgerechnet die Funktionen benutzt, die
ich noch nicht ganz fertiggestellt und ausgetestet habe, dann
ist das SEIN Fehler, nicht meiner.

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



Drudenland (Saikan, 13. Jul 1997, 13:34:23):
Hallo,

da ich jetzt wieder da bin, moechte ich von euch gerne wissen was ihr fuer
verbesserungsvorschlaege
fuer das ---> Drudenland habt.
Dazu zaehle ich den Drudenwald, Drudenmoor, Drudensumpf und das Gebirge.
Also nichts was mit Morgoth zu tun hat. Orkhausen etc.

Bitte schreibt mir doch mal als Mail was man an meinen alten sachen
erweitern oder aendern sollte.
Natuerlich werde ich auch ohne Ratschlaege das Drudenland erweitern.

SaiKAN

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



Re: Drudenland (Asmodis, 14. Jul 1997, 20:55:04):
~#! rn=Saikan rt=868793663 rg=d.vland
~#! tid=868793663
Wenn du deine Plaene, die auf der VLand-WWW-Seite stehen, verwirklichen
wuerdest, wuerde auch das VLand etwas oefter besucht werden.
Hoert sich ja alles gut an, was da steht, bisher ist aber nur
ein Bruchteil realisiert worden.

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



Plaene (Saikan, 14. Jul 1997, 21:57:56):
Hallo,

ich habe durchaus vor meine Plaene von damals zu vollenden.
Damit meine ich die ganze Druidensage. Evtl. endlich auch die
dazugehoerige Quest.

saiKAN

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



Re: Plaene (Lug, 14. Jul 1997, 23:16:47):
~#! rn=Saikan rt=868910276 rg=d.vland
~#! tid=868910276
Seufz,

die armen Druiden. Immer muessen die fuer alles mogliche herhalten.

Seine Anbeter schuetzend
Lug

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



npc's (Trekan, 15. Jul 1997, 01:09:02):
ich faende ncoh n paar basilisken net schlecht ;)
Trekan -> grinsend.

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



Re: npc's (Grimmborn, 15. Jul 1997, 09:00:29):
~#! rn=Trekan rt=868921742 rg=d.vland
~#! tid=868921742
Und den einen oder anderen typo weniger. Vielleicht sogar von Anfang an, und
nicht erst Jahre spaeter... ;-)

GdA

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



Hallo? (Saikan,  6. Aug 1997, 01:39:21):

Wird irgendwann jemand RM vom Vland?
Aeh.. sonst fuehle ich mich irgendwie fehl am Platze...

Saikan

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



Re: Hallo? (Mahatma,  6. Aug 1997, 02:29:40):
~#! rn=Saikan rt=870824361 rg=d.vland
~#! tid=870824361
Um die Typos aus Deinem Gebiet rauszumachen, brauchste keinen RM, und bis Du
damit fertig bist, findet sich sicher einer...

Mahatma (heute mal fies)

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



Re: Hallo? (Pampers,  6. Aug 1997, 08:30:36):
~#! rn=Saikan rt=870824361 rg=d.vland
~#! tid=870824361
Nehmt mich.

Pampers. Will immer noch rm-RM werden.

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



Re: Re: Hallo? (Yaren,  6. Aug 1997, 11:10:31):
~#! rn=Pampers rt=870849036 rg=d.vland
~#! tid=870824361
Das hoert sich eher nach rm -rf an, Pampers ...

Yaren. Could not resist ...

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



Re: Hallo? (Patryn,  6. Aug 1997, 11:12:28):
~#! rn=Saikan rt=870824361 rg=d.vland
~#! tid=870824361
angeblich will ja keiner :)
evtl. sollte mal irgendeiner ne urne aufstellen, wo sich bewerber eintragen
koennen, mein zettelchen laege schon so gut wie drinne *grins*

------
patryn wedelt mit einem me-for-RM-faehnchen

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



Re: Re: Hallo? (Morgoth, 17. Aug 1997, 17:19:34):
~#! rn=Patryn rt=870858748 rg=d.vland
~#! tid=870824361
Hi 
soweit ich mich erinnern kann ist Shakedbeer RM und ich bin immer noch
Vize-RM. Falls das irgendjemand geaendert hat, hat er wohl vergessen es uns zu
sagen. 
Morgoth

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



Re^3: Hallo? (Patryn, 17. Aug 1997, 20:43:27):
~#! rn=Morgoth rt=871831174 rg=d.vland
~#! tid=870824361
noe, hat bisher keiner geaendert und warum sollte auch? du hast die region
ja zum grossen teil hochgezogen. aber es ist gut, dass du es noch mal
ansprichst, dass du dort RM bist, ich denke mal, DAS haben viele
wahrscheinlich bereits vergessen oder fangen an, daran zu
zweifeln....ja warum denn nur???

------
patryn

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



Re^4: Hallo? (Boing, 18. Aug 1997, 13:10:42):
~#! rn=Patryn rt=871843407 rg=d.vland
~#! tid=870824361
Tatsaechlich ist Shakedbeer als RM zurueckgetreten, ich hatte bisher nur
vergessen ihn auszutragen. Und von Morgoth sieht man zu wenig, als dass
man von einem aktiven RM reden koennte.
  Boing

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



Re^5: Hallo? (Boing, 18. Aug 1997, 13:32:07):
~#! rn=Boing rt=871902642 rg=d.vland
~#! tid=870824361
So, wenn ich schon dabei bin ... Patryn ist jetzt RM fuers Vland, wenn
es also irgendwo bugs oder Probleme gibt, dann wendet euch an ihn.
  Boing

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



Re^6: Hallo? (Anatol, 18. Aug 1997, 19:26:37):
~#! rn=Boing rt=871903927 rg=d.vland
~#! tid=870824361
Noch ein Grund mehr, das verlorene Land zu meiden, wo immer es moeglich
ist. *seufz* Ob man wenigstens Patryns Kram ins Vland verlegen kann? :)

Anatol


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



Re^7: Hallo? (Patryn, 18. Aug 1997, 19:37:26):
~#! rn=Anatol rt=871925197 rg=d.vland
~#! tid=870824361
na ihr muesst es ja alle wissen. wie waers wenn ihr einfach etwas abwartet?
ich habe nicht vor, dort irgendetwas haerter zu machen.
derzeitige probleme dort:
 bugs: und von denen kenne ich ausreichend viele
 materialien
 gewisse monster so aendern, dass man sich wieder in gewisse staedte traut
 bug/ideen/typo-files abspecken...macht die meiste arbeit
bei dem derzeitigen magier-mangel im vLand ist erstmal weniger neues zu
erwarten sondern mehr detail-verbesserungen (ich hab nicht gesagt, nichts
 neues wuerde kommen)

na ja, eigentlich kann ich ja schreiben was ich will, die anatols werden
ihren muell sicherlich weiter hier von sich geben

------
patryn

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



Re^8: Hallo? (Key, 18. Aug 1997, 19:39:41):
~#! rn=Patryn rt=871925846 rg=d.vland
~#! tid=870824361
Aber lass die Spielerfreundlichen Bugs drin ;)

Key

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



Katakomben (Saikan, 20. Aug 1997, 11:09:15):
Hmmm... hoert sich alles recht lustig an.
Vorab: Nervt mich nicht mit meinen Typos. Die aender ich wenn ich
es will.
Meintewegen koennt ihr das vland auch loeschen. Sollte dies jedoch
nicht der Fall sein, werde ich weiter an den Katakomben von Arkath
arbeiten.
Und wer sich nicht in das Vland traut ist eine feige Lusche.

Mich juckt das alles nciht, ich weiss wem es dort gefaellt und wem nicht.

So, das solls gewesen sein.. jetzt halte ich mich wieder da raus..

SaiKAN

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



Morgoth ruft: ICH HABE DEN VIRUS GEAENDERT !!! (Morgoth, 25. Aug 1997, 09:31:45):
Der Titel sagt es bereits. Es gibt ein paar Aenderungen, die den Virus
betreffen.
M*

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



ParaGoblin (Morgoth, 25. Aug 1997, 09:53:50):
Sorry Zardoz, ich hab das ES uebersehen. Schau Dir mal den neuen Goblin an und
sag obs OK ist. 
Aehm...soll fuer alle anderen heissen...Der liebe Gobbo hat sich etwas
geaendert. ];-))
M*

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



Aenderung (Morgoth, 25. Aug 1997, 14:58:56):
Hm...wie sag ichs am besten?? 
Also die Lauforks sind nun auch Kleriker **duck**
Beschwerden bitte an mich oder Patryn ;-))
M*

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



Re: Aenderung (Mango, 25. Aug 1997, 15:01:31):
~#! rn=Morgoth rt=872513936 rg=d.vland
~#! tid=872513936
heilen die auch spieler? ;)

Mango, dumm labernd.


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



Re: Re: Aenderung (Bendeigid, 25. Aug 1997, 15:04:53):
~#! rn=Mango rt=872514091 rg=d.vland
~#! tid=872513936
Also so langsam glaub ich, die rassenbeschraenkung sollte auch fuer NPCs
gelten. Orks als Kleriker, ich glaub ich spinne.
Morgoth, ein wenig mehr rollenspielgerechtes ausstaffieren deiner absolut
unmoeglich spielerfreundlichen Orks ("besucht uns doch mal in Orkhausne, wir
sind alle soooooo nett und lieb und haben auch ne Kirche") ist ja wohl nicht
das Optimum. ;)
Ich waer fuer eine relativ radikale Verschlimmerung der orks. Tolkien wuerde
sich bei sowas wie Orkhausen im Grabe umdrehen, und eigentlich liegt deinem
zeug doch ideentechnisch mal HdR zugrunde, oder? (siehe Sam und Frodo etc)

Z'Par Servu,
            Bendeigid, geht nach Vland Heiligenscheine verteilen.

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



Re: ParaGoblin (Anatol, 26. Aug 1997, 15:08:38):
~#! rn=Morgoth rt=872495630 rg=d.vland
~#! tid=872495630
Nachdem der Artikel von Morgoth mit "Sorry Zardoz" anfangt und dieser
vermutlich gar nicht weiss, um was es eigentlich geht, muss ich das wohl
erklaeren...
Am Partywochenende veraeppelte ich Morgoth mit der Bemerkung, dass Zardoz
gar nicht erfeut gewesen waere, ein altes Elementarschwert angeschlossen zu
finden. Morgoth fiel (verstaendlicherweise) darauf rein, nahm es aber doch
gelassen... so dass ich schaebigerweise vergass, ihn ueber den Scherz auf-
zuklaeren.
Sorry, Morgoth, war echt nicht so beabsichtigt....
Trotzdem gut, dass das Schwert (hoffentlich?!) geaendert ist ;-)

Anatol


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



Re: Re: ParaGoblin (Zardoz, 26. Aug 1997, 15:09:56):
~#! rn=Anatol rt=872600918 rg=d.vland
~#! tid=872495630
Ah soooo. Dann war ich auf der Party also doch nicht soooooo breit, dass ich
das nicht mehr mitbekommen habe :)

Ciao Zardoz

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



Re^3: ParaGoblin (Boing, 26. Aug 1997, 15:12:35):
~#! rn=Zardoz rt=872600996 rg=d.vland
~#! tid=872495630
Daraus dass etwas nicht gesagt wurde zu schliessen, dass Du nicht sooooo
breit gewesen waerst, ist soviel ich weiss nicht ganz korrekt. :)
  Boing

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



Re^4: ParaGoblin (Key, 26. Aug 1997, 15:17:23):
~#! rn=Boing rt=872601155 rg=d.vland
~#! tid=872495630
Jede ausrede gilt .))

Key

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



Re^3: Aenderung (Lindir, 26. Aug 1997, 16:43:55):
~#! rn=Bendeigid rt=872514293 rg=d.vland
~#! tid=872513936
Hm wie waers mit Monstern mit gespaltenet Persoenlichkeit: Normalerweise hauen
sie als Karateka zu, aber wenns ihnen uebel geht, kommt die Klerikerseele
durch und sie heilen sich...

Lindir
P.S.: moeglichweise hat Morgoth genau das in seinem Artikel gemeint,
betrachtet in diesem Falle den Artikel als gegenstandslos :-)

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



Umbau !! (Morgoth, 29. Aug 1997, 14:02:24):
Hi,
alle, die ein Wegescript durch das vLand haben, sollten aufpassen. Es hat sich
etwas veraendert. Dadurch, dass Patryn und ich ein wenig umbauen/ausbauen
wollen, passen einige Wege nicht mehr.
Morgoth

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



seebaer (Patryn, 30. Sep 1997, 17:20:36):
eigentlich ist es kaum der rede wert, aber die warnung ist halt noetig:
 der erwaehnte seufer muss sich in letzter zeit leider desoefteren
 seines lebens erwehren. um den kampf nun etwas interessanter zu gestalten,
 hab ich ihm mal drei kleine tricks untergeschoben...
wer ueberlegt, besiegt ihn leichter, wer nicht aufpasst, stirbt leichter

------
patryn

PS: aehem, keine panik, er ist wirklich kaum schwerer geworden

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



Vorsicht !!! (Morgoth, 17. Okt 1997, 10:31:57):
Hi Leute, 
da das ftp wieder funktioniert, hab ich endlich meine Orks aktualisieren
koennen. Die normalen sind so geblieben, die in der Parawelt allerdings sind
nun auch Kaempfer. Da ich noch keine Erfahrung mit der Gilde habe, waer es
gut, wenn ihr mir die Staerke mitteilen koenntet. Ebenso evtl. noch einige
nette Ausruestungsgegenstaende fuer meine Jungs. (Keine Angst Para, Zardoz,
ich werd euch vorher fragen).

M*

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



Warnung! (Hangover, 18. Okt 1997, 16:12:31):
Moin!

Wer von Euch sich die neuen Parakaempferorks anschauen will, sei
hiermit darauf hingewiesen, dass diese netten Gesellen in der Lage sind,
mindestens 196 Punkte Schaden in einer Runde anzurichten...also besser
zuhause bleiben oder ne Abokarte fuer Lars mitnehmen...

-Hangover

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



Logfile... (Hangover, 18. Okt 1997, 16:16:32):
Moin!

Auf Wunsch von Ivo hier noch das Logfile des Kaempferorks...

Kurz blitzt eine gueldene Schutzaura um Dich auf.
Leben: 190  Magie: 206  Stab: 2 ;> Ok, Fluchtrichtung "sueden".;> Orkhausener
Stadttor.
Es gibt drei sichtbare Ausgaenge: osten, sueden und norden.;> Orkhausener
Hauptstrasse.
Es gibt zwei sichtbare Ausgaenge: sueden und norden.;> Der Ork sagt: Du hast
gute Sachen, her damit.
Ein Ork macht einen Schlag gegen Dich, der Dich kurzzeitig betaeubt.
Ein Ork beschleunigt seine Attacken!
Ein Ork schlaegt Dich ploetzlich und voellig unerwartet mit einem Morgenstern.
Die Ruestung des Hydratoeters ist nicht mehr verzaubert.
Matrix: Ein Ork ist leicht geschwaecht.
Der Ork schlaegt Dich mit dem Krachen brechender Knochen.
Leben: 161  Magie: 207  Stab: 2 
Ein Ork tritt Dich heimtueckisch.
Der Ork verfehlt Dich.
Ein Ork schlaegt Dich mit seinen Ellbogen.
Matrix: Ein Ork ist leicht geschwaecht.
Der Ork trifft Dich sehr hart.
Leben: 144  Magie: 207  Stab: 2 
Ein Ork stoesst Dir seinen Kopf in den Leib.
Der Ork trifft Dich.
Leben: 139  Magie: 207  Stab: 2 
Ein Ork rammt Dir das Knie in den Koerper.
Der Ork trifft Dich sehr hart.
Leben: 122  Magie: 207  Stab: 2 
Matrix: Ein Ork ist leicht geschwaecht.
Der Ork schlaegt Dich zu Brei.
Leben: 71  Magie: 207  Stab: 2 
Orkhausener Hauptstrasse.
Es gibt zwei sichtbare Ausgaenge: sueden und norden.
Ein Ork.
Du greifst den Ork mit blossen Haenden an.
Ein Ork macht ploetzlich schnelle, gefaehrlich aussehende Schlaege, die zwar
sehr aggressiv sind, die Deckung aber niemals oeffnen.
Du verfehlst den Ork.;>   Der Ork greift Dich schlangengleich mit einem
Morgenstern an.
Der Ork pulverisiert Dich.;Dein Partner ist leider nicht da, um Dir
beizustehen.;Ein Ork nimmt 5023 Muenzen.
Ein Ork nimmt einen Kartenteil.
Ein Ork nimmt einen Schluessel.
Ein Ork nimmt einen Kartenteil.
Ein Ork nimmt Ledermokassins.
Ein Ork nimmt eine Zauberrobe.
Ein Ork nimmt eine Hose.
Ein Ork nimmt einen Guertel.
Ein Ork nimmt einen Matrixkristall.
Ein Ork nimmt ein Paket.
Ein Ork nimmt ein ``Born to Kill''-Stirnband.
Ein Ork nimmt einen Mithrilring.
[Tod:Lars] Ein Ork hat gerade Lilaf umgebracht.
Leben: 0  Magie: 207  Stab: 3 

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



Re: Logfile... (Ringor, 18. Okt 1997, 18:00:01):
~#! rn=Hangover rt=877184192 rg=d.vland
~#! tid=877184192
War klar - Morgoths Orks halten sich halt generell nicht an irgendwelche
Restriktionen in den Gilden. Wenn andere Orks schon Sprueche fuer 4 Runden in
eine quetschen koennen, warum die Kaempfer-Orks dann nicht? *argl*

Nur, damit hier keiner auf falsche Ideen kommt: so eine Kombination kann ein
Spieler nicht machen. Und auch bei vorhandenen Kaempfer-NPCs hab ich die noch
nicht gesehen. 

Naja, das meinte Morgoth also damit, er habe die noch nicht testen koennen :-)

Ringor

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



Re: Re: Logfile... (Hangover, 19. Okt 1997, 12:26:15):
~#! rn=Ringor rt=877190401 rg=d.vland
~#! tid=877184192
Nochmal zum Thema testen:

Ich kann wohl mal erwarten, dass ein Magier, der weiss, dass er gemeine
Sachen proggt, sie wenigstens mal auf einen Testcharakter oder aehnliches
loslaesst...ich finde diese Art von Betatesting etwas anstrengend :(

-Hangover

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



Re: Warnung! (Morgoth, 19. Okt 1997, 13:37:19):
~#! rn=Hangover rt=877183951 rg=d.vland
~#! tid=877183951
Upps,
ich hab ja gesagt dass ich keine Ahnung hab, wie gut diese kaempfer sind. ich
hab sie runtergestuft.
Sorry...
Morgoth

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



Re: Logfile... (Morgoth, 19. Okt 1997, 13:39:13):
~#! rn=Hangover rt=877184192 rg=d.vland
~#! tid=877184192
PULVERISIERT ????!!!!!
Ich werde mir mal das Spellbook bzw. die Gildenfunktion anschauen und das
ausrechnen.
M*

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



Re: Re: Logfile... (Sharia, 19. Okt 1997, 15:28:04):
~#! rn=Morgoth rt=877261153 rg=d.vland
~#! tid=877184192
Ich wuerde sagen dies ist jetzt wiedereinmal ein wirklich gutes Beispiel
dafuer was passiert, wenn Magier Dinge von anderen Magiern uebernehmen ohne
wirklich AHnung davon zu haben was das fuer Folgen haben koennte... Ich finde
es auch ganz klasse das Morgoth es scheinbar ablehnt von Sehern Quests zu
bekommen. Er verlaesst sich da lieber uf irgendwelche /std/npc als auf
Erfahrungen.. und da kommt dann soetwas raus... Magier die Soetwas proggen
sollten, meiner unmassgeblichen Meinung nach vielleicht darueber nachdenken,
ob sie nicht mit Testies (und da meine ich jetzt Seher mit 20 er Stats und
NORMALEN Gildenskills) die ganzen sachen einmal vorher testen... 
Ich bin eh der Meinung Magier die viele Dinge zum metzeln proggen, sollten
gezwungen sein selbst nen Spieler zu haben, oder zumindest regelmaessig
ueberprueft werden...
(und nicht nur rein rechnerisch ...)


Naja was solls ich sagte ja: meine ganz persoenliche und unmassgebliche
Meinung

Gruss Sharia

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



Re^3: Logfile... (Morgoth, 19. Okt 1997, 15:36:41):
~#! rn=Sharia rt=877267684 rg=d.vland
~#! tid=877184192
Aehm. Was meinst Du mir "...von Sehern Quests zu bekommen" ??
Ausserdem sind diese Orks in der Parawelt, dort gibt es keine Restiktionen.
Ich kann sie deshalb nicht richtig testen, weil ich zu hause halt nciht das
komplette mud hab, sondern nur ein paar directories, die direkt mit den gilden
zu tun haben. d.h. ich habe nicht die ausruestung zur verfuegung, die spieler
haben. Desweiteren habe ich angekuendigt, dass es hart werden kann und dass
man mir das mitteilen soll. ich habe von lilaf eine mail beommen und daraufhin
die stats runtergesetzt. 
wenn man mir sowas vernuefntig sagt, bin ich auch dazu bereit. wenn man mir so
kommt wie du kann ich da nur sagen "leck mich am arsch!"
Morgoth

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



Re^4: Logfile... (Schoko, 19. Okt 1997, 15:40:39):
~#! rn=Morgoth rt=877268201 rg=d.vland
~#! tid=877184192
Hmm also testen kann man nur von zu Hause??? Spricht was dagegen sich hier im
mud nen Testie zu machen (oder machen lassen) und das mal zu testen? Solche
Dinge, wie die um die es hier geht koennte man auch schon nach ein zwei
Kampfrunden bemerken!

Schoko (fragt sich, wie Magier OHNE Modem ueberhaupt was proggen koennen
sollten,,,)

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



Re: Re: Logfile... (Ringor, 19. Okt 1997, 20:53:24):
~#! rn=Morgoth rt=877261153 rg=d.vland
~#! tid=877184192
Ach, doch schon? :-)

Ist Dir eigentlich schonmal der Gedanke gekommen, dass die Gilden mit Absicht
auf Stats deutlich unter 30 ausgelegt sind, und die zeitlichen Begrenzungen,
wie oft man gewisse Spells machen kann, auch irgendwo ihre Berechtigungen
haben?

Wenn Du zwei Topseher gegeneinander kaempfen laesst (_nur_ mit
Gildenfaehigkeiten), dauert der Kampf so schon nur wenige Runden - ohne
Mega-Stats und kuenstlich hochgepowerter Geschwindigkeit. Und in Orkhausen hat
man durchaus auch mal zwei bis vier Gegner.

Und bevor Du Ork-Zauberer anschliesst, die viermal pro Runde 'verletze'
koennen, rechne das vielleicht mal durch und gib ihnen gleich ein Zap in die
Hand. Einen Unterschied macht das dann auch nicht mehr.

Und bevor jetzt wieder das Argument kommt, man muss ja nicht alleine metzeln
gehen: so, wie es bisher implementiert ist, kassiert leider immer genau ein
Spieler den kompletten Schaden der ersten Kampfrunde - egal, mit wievielen
Leuten man den Raum betritt. Naja, abgesehen vom Erdbeben der Schuettler
vielleicht - die Teile der eigentlich nicht vorhandenen Decke treffen jeden im
Raum (*seufz*). Daher ist der Unterschied zwischen dem 'Team'kampf in
Orkhausen zum Einzelmetzler eigentlich nur die wenigen Sekunden Verzoegerung,
mit der die Spieler auf -T erscheinen ;-)

Ringor

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



Re^4: Logfile... (Freund, 19. Okt 1997, 23:56:59):
~#! rn=Morgoth rt=877268201 rg=d.vland
~#! tid=877184192
kann ich da nur sagen leck mich am arsch!
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Zitat Morgoth, vorne gekuerzt.

1. Die Haltung entwickeln leider immer mehr Leute im MG. Und: komisch - immer
mehr groessenwahnsinnige Magier, die vergessen haben, wie das Spielerdasein so
ist.

2. Wenn jemand (um bei dem Lieblingsbeispiel der Deutschen zu bleiben) einem
anderen jemand eine Beule ins Auto faehrt, und der zweite jemand daraufhin dem
ersten jemand auch ins Auto faehrt, ist das dann Ok?
Oder macht sich der zweite jemand dann nicht mindestens genau so strafbar?

Freund, vermisst seit Jahren Umgangsformen und erinnert stets daran, dass auf
der anderen Seite des Bildschirms Menschen sitzen.

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



Re^5: Logfile... (Wurzel, 20. Okt 1997, 00:00:19):
~#! rn=Freund rt=877298219 rg=d.vland
~#! tid=877184192
umgangsformen sind nicht unbedingt jedermanns sache. manch einer hat sie nie
gelernt, andere sind einfach nicht in der lage sich entsprechend zu verhalten
und werden es auch niemals lernen. egal ob da menschen sind oder nicht...
das nennt man dann "die geistige elite, unsere akademiker". na toll...

wurzel

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



Re^6: Logfile... (Sharia, 20. Okt 1997, 00:01:55):
~#! rn=Wurzel rt=877298419 rg=d.vland
~#! tid=877184192
Ich entschuldige mich hiermit dafuer, dass ich Dich angegriffen habe, es war
nur meine Meinung, und meine Hoffnung, dass die Magier vielleicht etwas mehr
testen, da ichs nicht OK finde, wenn man etwas anschliesst (ungetestet) und
sagt: testet IHR mal .. aber wie gesagt, nur MEINE Meinung... 

Sorry nochmals, wollt hire niemandem auf die langen Haare treten :-)

Sharia

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



Re^5: Logfile... (Morgoth, 20. Okt 1997, 07:11:42):
~#! rn=Freund rt=877298219 rg=d.vland
~#! tid=877184192
Also wenn Du schon kuerzt, dann solltest du das so machen, dass der sinn
erhalten bleibt.
M*

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



Re^7: Logfile... (Morgoth, 20. Okt 1997, 07:12:16):
~#! rn=Sharia rt=877298515 rg=d.vland
~#! tid=877184192
**grins**

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



Saeuredaemon (Morgoth, 20. Okt 1997, 11:35:58):
So, hier nun mal etwas, was leichter geworden ist. Leider muss ich hiermit der
bevorstehen Erweiterung der Katakomben schon vorgreifen. Also der 'alte'
Saeuredaemon ist nun etwas leichter, dafuer sind die Schuhe schlechter ;-)
Wenn alles umgebaut ist, koennt ihr die grossen Brueder bewundern.
Lach nich, warum lachst Du? Lach isch, oder was? Lach nisch, sonst hol ich
meine Brueder.
M*

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



Re: Saeuredaemon (Key, 20. Okt 1997, 16:52:57):
~#! rn=Morgoth rt=877340158 rg=d.vland
~#! tid=877340158
Ups ... aehm das replay ist eigentlich fuer die artikel davor ;)

Also ... ich nehm Morgoth jetzt mal in Schutz :) Das Paravland hart ist, weiss
jeder, und wenn Morgoth dann was anschliesst und sagt das es verdammt hart
sein kann, kann man es ihm glauben ;)

Oki oki ... so hart hatte ich es mir auch net gedacht :) Aber wuerde mal
behaupten das man mit Morgoth noch relativ normal reden kann ....

Hmm und dann zu seiner "Leck mich am Arsch"-Haltung die er angeblich hat ... 
Das Mg ist zwar nur ein Spiel ... aber es hat Konsequenzen ins RL ... und
keiner laesst sich gerne bloed anmachen :) Und seine Reaktion ist normal ...
Wer das net versteht der ist entweder ein Ismirallesscheissegal-Typ, oder er
brauch nen bisserl int ;)


Oki jetzt hab ich wiedermal vergessen was ich eigentlich wollte ... Hmm ich
frag mal die orks ;)

Key hat die Alzheimer von Tyrion geklaut. :)

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



Re^5: Logfile... (Patryn, 20. Okt 1997, 20:10:10):
~#! rn=Freund rt=877298219 rg=d.vland
~#! tid=877184192
hey, nehmt das nich so ernst.
die umgangsformen enden meist dort, wo der aerger beginnt, und wenn man
viel arbeit in etwas steckt, was dann von allen seiten ins negative
gezogen wird, dann sind solche reaktionen schon mal moeglich.
raucht die friedenspfeife und denkt auch daran, dass manche leute spontan
keine lust mehr haben koennten, ueberhaupt noch etwas zu programmieren.
er hat es doch korrigiert, oki?

------
patryn

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



Re^6: Logfile... (Freund, 21. Okt 1997, 00:40:04):
~#! rn=Patryn rt=877371010 rg=d.vland
~#! tid=877184192

Alles klar. Ich reiche dann mal die virtuelle Friedenspfeife. :-=)

Lieber einmal "Leck mich am Arsch" schreiben, als gleich Selbstloeschung zu
begehen. ;-)

Freund, gelaeutert und Hate zufluesternd: "Du hattest damals Recht.
Selbstloeschung ist keine Loesung und wird das MG nicht aendern."


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



Re^7: Logfile... (Morgoth, 21. Okt 1997, 07:11:34):
~#! rn=Freund rt=877387204 rg=d.vland
~#! tid=877184192
Morgoth raucht mit, aber nur wenns das richtige Kraut ist. ;-)

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



Re^8: Logfile... (Sharia, 21. Okt 1997, 12:30:58):
~#! rn=Morgoth rt=877410694 rg=d.vland
~#! tid=877184192
Sharia raucht eh :-)

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



Re^9: Logfile... (Snuggle, 21. Okt 1997, 15:42:01):
~#! rn=Sharia rt=877429858 rg=d.vland
~#! tid=877184192
Meine Guete, 
wenn Ihr jetzt auch noch anfangt Erdbeertee zu rauchen, wander ich aus :-)

Snuggle

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



Wiese... (Anatol, 17. Dez 1997, 19:47:54):
[Allgemein:Patryn] na ja, hab sie nur para-faehig gemacht, ihr wisst, was das
[Allgemein:Patryn] heisst? :)

*seufz* :)

Anatol


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



Updates (Morgoth, 30. Dez 1997, 07:40:50):
Hi Leute,
ich hab den Paraorks mal den umgang mit den Bummis beigebracht. Mal sehen
welche fang&wirf-Trigger schneller sind.
Desweiteren ist der Orkschmied nun etwas waehlerischer mit den Sachen. Etwas
Metall sollte schon dran sein, damit er daran herumschmieden kann. (Ich werd
auch irgendwann einen Schneider usw. proggen).
Das wars glaub ich erstmal.....
M*

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



Drudenland (Saikan, 15. Jan 1998, 01:11:40):
Nach gruendlichen Ueberlegungen habe ich mich
dazu entschieden (nein, ich loesche mich nicht) wieder meine Arbeit im
Drudenland aufzunehmen
Konkret bedeutet das, dass ich Dinge fertigstellen 
(WiccaGraben, Feste von Arkath) und das Gebiet erweitern
werde. Land hinter dem Gebirge.

Ich hoffe auf eine Gute Zusammenarbeit mit den momentanen
Regionsmagiern.

SaiKAN

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



Re: Drudenland (Sharia, 15. Jan 1998, 01:12:12):
~#! rn=Saikan rt=884823100 rg=d.vland
~#! tid=884823100
feine sache das :-)))
Sharia

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



Re: Re: Drudenland (Morgoth, 15. Jan 1998, 07:43:21):
~#! rn=Sharia rt=884823132 rg=d.vland
~#! tid=884823100
Yep, 
W E L C O M E  B A C K !!!
M*

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



Re^3: Drudenland (Sting, 15. Jan 1998, 18:27:55):
~#! rn=Morgoth rt=884846601 rg=d.vland
~#! tid=884823100
MEHR als das, Sharia :)
Freut mich auch riesig!!!

Sting

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



Neuerungen und Absichten (Saikan, 11. Feb 1998, 19:26:51):
Hallo,

ich dachte es wird mal offiziell Zeit eine Ankuendigung zu machen.
In Kuerze wird es eine ueberarbeitete neue Version der
VLand Webseiten geben.
Sie sind momentan in Arbeit.
Nebenher wird der Drudenwald etwas veraendert. Unter anderem wird
es einen Trampelpfad geben.
Wenn die Arbeiten am Drudenwald abgeschlossen sind werde ich mit
der Quest um die Druidenamulette beginnen.
Diese wird sich hauptsaechlich in den Katakomben von Arkath 
abspielen.
Wie lange ich fuer die Quest bruache weiss ich noch nicht.
Es gibt immer viele Probleme die sich erst hinterher raustellen.

Auf jedem Fall habe ich vor wieder viel fuer das VLand ins besondere
fuer das Drudenland zu tun. Ich denke das ist ein guter Auftackt.

Das wars...

Der abgrundtiefboese SaiKAN

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



Re: Neuerungen und Absichten (Wurzel, 11. Feb 1998, 19:32:16):
~#! rn=Saikan rt=887221611 rg=d.vland
~#! tid=887221611
mit ankuendigungen ist das immer so ne sache... meistens schraube ich doch
lieber an sachen, die ich nie angekuendigt habe. meine bereits fuer letztes
jahr angekuendigte zweite quest liegt noch genauso halbfertig rum wie
damals, und ich sehe im moment noch nicht wann sie fertig wird... aber
vielleicht bist du ja da ganz anders und setzt das auch um, was du in der
mpa versprichst. waere allerdings hier eher die ausnahme :)

wurzel

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



WebSite (Saikan, 16. Feb 1998, 17:40:48):
Soeben ist die neue Version der VLand Website online
gegangen.
Da es groesstenteils noch die alten Texte sind bitte ich
ggf. auftretende Typos zu entschuldigen :)
Die Textverbesserungen kommen noch nach. 
Ausserdem wird die Seite staendig noch erweitert werden.

Viel Spass beim gucken....

SaiKAN

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



Re: WebSite (Grimmborn, 16. Feb 1998, 18:22:23):
~#! rn=Saikan rt=887647248 rg=d.vland
~#! tid=887647248
Ohne anmassend sein zu wollen: Gaengige spell checker (MS word, ispell unter
unix) filtern schonmal 90% der typos raus, mindestens. Das koennte doch eine
Hilfe sein...

Grimmborn der Atheist

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



WWW-Seiten (Sting, 16. Feb 1998, 21:18:57):
Also, ich hab eben die neuen Vland-Seiten im Netz angeschaut, und muss sagen:
SUPER, da gibts wirklich nix auszusetzen :)
Das macht schonmal Lust auf die Quest!

Sting

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



VLand Website und Homepages (Saikan, 17. Feb 1998, 14:21:31):
hallo Magier des VLandes,

wer moechte kann mir seine HomePage Adresse geben, ich werde sie
dann auf der VLand begruessungsseite unter die Mitarbeiternamen
verlinken.

SaiKAN

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



Kleiner Hinweis (Hangover, 18. Feb 1998, 12:34:19):
Moin!

Im Interesse anderer Spieler, die Orkhausen besuchen, um Wurfsterne
zu besorgen, moechte ich auf einen Bug hinweisen. 
Zur Zeit fallen die Orks bei Unterschreiten der 0-LP-Grenze brav
um, werden danach jedoch auf 0 LP zurueckgesetzt, begleitet von
huebschen Fehlermeldungen. Dabei werden die Wurfsterne der Orks
DESTRUCTED. Sowohl in Para als auch in Normalorkhausen.

Hingehen lohnt also nicht.
-Hangover

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



Re: Kleiner Hinweis (Boing, 18. Feb 1998, 12:49:50):
~#! rn=Hangover rt=887801659 rg=d.vland
~#! tid=887801659
Wenn so ein Fall auftritt, dann bitte irgendeinem Magier Bescheid sagen,
der dann ein 'update' auf den Pfad des Monsters ausfuehren soll. Der
Bug ist im Standard-Monster behoben, aber in vielen davon abgeleiteten
NPCs noch vorhanden. Durch das Neuladen sollte der Fehler dann auch
dort behoben sein.
  Boing

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



Re: Re: Kleiner Hinweis (Ringor, 18. Feb 1998, 12:56:20):
~#! rn=Boing rt=887802590 rg=d.vland
~#! tid=887801659
Seit wann benutzt Morgoth irgendwelche Standardfiles? :-)

Ringor

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



Re^3: Kleiner Hinweis (Morgoth, 18. Feb 1998, 13:20:32):
~#! rn=Ringor rt=887802980 rg=d.vland
~#! tid=887801659
**grins**

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



Re^4: Kleiner Hinweis (Felagund, 20. Feb 1998, 13:09:19):
~#! rn=Morgoth rt=887804432 rg=d.vland
~#! tid=887801659
 /d/vland/std sind doch auch standardfiles ;)

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



seebaer (Patryn, 23. Feb 1998, 13:58:12):
man sollte beim naechsten kampf nochmal etwas vorsichtiger sein.
der seebaer hat dazugelernt...irgendwie.
er schlaegt aber nicht haerter zu, keine sorge.

------
patryn muss halt warnen

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



Re: seebaer (Morgoth, 23. Feb 1998, 15:37:46):
~#! rn=Patryn rt=888238692 rg=d.vland
~#! tid=888238692
ach deshalb ist mahatma jetzt zweimal hinternander gestorben???
M* ;-)

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



Re: Re: seebaer (Patryn, 23. Feb 1998, 15:40:33):
~#! rn=Morgoth rt=888244666 rg=d.vland
~#! tid=888238692
einmal davon war irgendwie nen bug, der todeszaehler haette nich 2 mal
erhoehen duerfen. das liegt aber nich an meinem seebaeren, der begnuegte
sich mit einem mal :)

------
patryn

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



Re^3: seebaer (Hangover, 23. Feb 1998, 15:41:11):
~#! rn=Patryn rt=888244833 rg=d.vland
~#! tid=888238692
Na, wer weiss, vielleicht war das der Stehaufmaennchen-Bug ;)

Hangover

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



Re^4: seebaer (Morgoth, 23. Feb 1998, 15:44:04):
~#! rn=Hangover rt=888244871 rg=d.vland
~#! tid=888238692
DU SAU !
M*

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



Galeere (Morgoth, 25. Feb 1998, 07:58:12):
Tach Leute,

ich hab die alten faulen Orksaecke mal wieder getreten. Einer hat sich dazu
bereit erklaert, als Kapitaen auf einer Galeere zu dienen. 
Viel Spass...

M*

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



Mal watt neues ;-) (Morgoth,  2. Mar 1998, 10:40:12):
Nicht erschrecken, sind eigentlich relativ harmlose Aenderungen. Vor bzw. am
Stadttor haengt jetzt eine Liste der Spieler, die in Orkhausen ums Leben
gekommen sind. Im Moment is sie noch leer, aber das wird sich sicher bald
aendern. Natuerlich ist die Liste nach Normal/Para-Orkhausen getrennt. ];-)
Das wars eigentlich schon....

M*

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



Piratenschiff (Bloodyharry,  3. Mar 1998, 08:51:14):
Hiho!

Aus unerfindlichen Gruenden weigert sich der Kapitaen des Piratenschiffes
weiterhin das "Verlorene Land" anzusteuern. Reisende zum V-Land werden
deshalb gebeten, die Orkgaleere zu benutzen. Erfreulicherweise hat sich
dadurch die Reisezeit des Piratenschiffes etwas verkuerzt.

bh

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



Re: Piratenschiff (Aline,  3. Mar 1998, 09:30:48):
~#! rn=Bloodyharry rt=888911474 rg=d.vland
~#! tid=888911474
Hi Opapirat,

wieso "unerfindliche Gruende"?
Wenn Du schon mal in Vland warst, sollten Dir die Gruende
nicht so unerfindlich vorkommen :)

Aline (fleissige Benutzerin des Piratenschiffes)

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



Wollt ihr sterben ??? (Morgoth, 15. Apr 1998, 07:38:09):
Sicher nicht, oder? Aber einige werden sicher mal dran glauben muessen, wenn
sie ein paar Sachen aus Orkhausen haben wollen.
Gell, MB, T, X ???

M*

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



(no)die() (Morgoth, 28. Apr 1998, 10:26:17):
So, es gibt jetzt Schutz gegen SATANs die().
M*


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



Daemonen & Satan (Morgoth, 13. Mai 1998, 07:16:47):
So, die Saeuredaemonen und SATAN sind ueberarbeitet. Wenn nicht wieder jemand
daran rumpfuscht oder mit Backups spielt, sollte jetzt alles OK sein. 
M*
P.S.: Das heisst, ihr koennt jetzt noch schneller sterben. Der 'Ich lass Dich
zwei Runden leben'-Bug ist raus.

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



Muellhalde in den Katakomben (Morgoth, 13. Mai 1998, 07:21:43):
Hey, koennt ihr da unten nicht mal aufraeumen? Sonst bau ich die Viecher so,
dass sie fuer jedes aufgenommene Objekt (ADMT-Schuhe, Speer,...) staerker
werden....
M*   ];-))

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



Re: Muellhalde in den Katakomben (Sharia, 13. Mai 1998, 10:01:11):
~#! rn=Morgoth rt=895036903 rg=d.vland
~#! tid=895036903
Ok ich hab mal aufgeraeumt :-))

Sharia kann das ganze Geld nichmehr tragen :-)

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



Re: Re: Muellhalde in den Katakomben (Tunixgut, 13. Mai 1998, 11:05:36):
~#! rn=Sharia rt=895046471 rg=d.vland
~#! tid=895036903
Gib's mir, ich bin Karateka...
 
's Karate-Zwerchle

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



portal (Morgoth, 16. Mai 1998, 00:12:03):
Tja Leute, 
bugs ausnutzen ist nicht immer Mittel der Wahl. Ihr solltet etwas vorsichtiger
sein, wenn ihr das naechste mal durch die Gegend zoomed. ]]]]];-)) HOE HOE HOE

M* grinst daemonisch

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



Re: portal (Therin, 16. Mai 1998, 16:20:34):
~#! rn=Morgoth rt=895270323 rg=d.vland
~#! tid=895270323
Bugs in bezug auf welches deiner buggenden Portale? die, die die RZGFs
produzierten oder das in der Naehe vom Seherportal? :)

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



Info (Morgoth, 24. Mai 1998, 22:39:07):
1. Der heilige Hammer bzw. der Ork wurde geaendert.
2. Der Bug aus den katakomben is raus, alle die, die schonmal durch waren
sollen sich bei mir melden.
3. grinse Nachtwind, Xand

M*
P.S.: Morgoth kitzelt Sharia troestend am Bart

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



Re: Info (Sharia, 24. Mai 1998, 23:12:03):
~#! rn=Morgoth rt=896042347 rg=d.vland
~#! tid=896042347
ICH HABE KEINEN BART !!!

Damits alle verstehen: 
Meldet euch bei Morgoth, dann macht der was und ihr koennt auch wieder was
machen was ihr vor ner woche ca auch noch machen konntet aber was die letzten
Tage nich ging .. achja damit ihr das wieder machen koennt muesst ihr aber
etwas anderes auch wieder machen ... naja wer weiss worums geht der weiss
wasgemeint ist :-)

Sharia, verwirrt heut mal die Leute...

P.S.: Sharia hat keinen Bart.

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



Re: Re: Info (Anatol, 24. Mai 1998, 23:37:06):
~#! rn=Sharia rt=896044323 rg=d.vland
~#! tid=896042347
KLAR HAST DU EINEN BART.

Davon abgesehen hat Dein letzter Artikel irgendwie deutlicher gemacht,
dass Morgoth es mal wieder versaut hat und nun Spieler deswegen hinter
ihm herrennen muessen. :)

... aber was will man auch anderes erwarten?

Anatol


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



Paraportal (Ringor,  7. Jun 1998, 00:57:48):
Vielleicht als kurze Warnung an alle, die ueber Portal 32 gehen:

Das Portal in der Nordost-Ecke hat sich geaendert. Schaut euch das erst einmal
per Hand an, und rennt NICHT mit alten Wegeskripten durch.

Es koennte Leben retten ;-)

Ringor

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



Re: Paraportal (Lug,  7. Jun 1998, 01:34:05):
~#! rn=Ringor rt=897173868 rg=d.vland
~#! tid=897173868

Aeh ja,

und an die Leute mit der unkonventionellen Kistenmethode:
Alles von vorne - gilt nicht mehr.

Albern, wenn man ausgetrickst wird und dann so kontert ;)
Lug

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



Katakombenladen (Morgoth,  7. Jun 1998, 22:15:50):
Da in letzter Zeit immer mal wieder etwas nicht da war, hab ich den Laden
geaendert. Es gibt nun wieder Warnrunen und auch ein paar Sachen, die bald
fuer Kleriker interessant werden.
M*

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



Ausruhen (Morgoth,  8. Jun 1998, 15:24:41):
Der Bug ist raus. ;-)
M*

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



Re: Ausruhen (Morgar,  8. Jun 1998, 15:25:25):
~#! rn=Morgoth rt=897312281 rg=d.vland
~#! tid=897312281
Schade...

Morgar (Heute mal einzeilig)

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



Parallelwelt (Sharia, 12. Jun 1998, 13:15:57):
Hallo ich denk ich erklaer mal kurz was :)

Es haben sich schon einige gewundert dass das portal nicht ganz funktioniert
um in die Parallelwelt zu gelangen ... ein tip: wechselt die Welten mit 0. 1.
2. usw .. und nicht mit 0 1 2 ... denn darauf habt ihr bestimmt aliase :-)))
solltet ihr dennoch ausser der welt auchnoch den Raum wechseln, so solltet ihr
vielleicht nocheinmal das portal 32 entdecken .. und zwar wirklich vom eingang
der katakomben aus :-)
und wenns DANN noch nicht geht --> MORGOTH bruellen :-)

Sharia, hilft heut mal weiter

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



Bugfix usw. (Morgoth, 19. Jun 1998, 08:27:20):
Hi ihr Todesmutigen,

ich hoffe die Orks sind jetzt endlich bugfrei. Sie warten jetzt also nicht
mehr einfach so ihren Tod ab, sondern streicheln Euch wie immer sanft zurueck.
In den Katakomben hat sich auch einiges getan. Boing hat gemeckert, also sind
ein paar Dinge etwas runter(Ihr wisst schon...) und ein paar NPCs etwas
rauf(Ihr werdets merken) gesetzt worden.

M*

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



**knuddel bierchen und tilly** (Morgoth, 27. Jun 1998, 18:47:04):
...fuer die Chaoskontrolle....
Die Orks haben zwar etwas Zeit gebraucht, den neuen Spell zu lernen, aber
jetzt beherrschen sie ihn schon ganz gut.

M* (knuddelt Teddy fuer den 'Anstoss')

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



Re: **knuddel bierchen und tilly** (Teddy, 28. Jun 1998, 01:34:46):
~#! rn=Morgoth rt=898966024 rg=d.vland
~#! tid=898966024
Args, 

a.) ich hab dir nicht gesagt bau es ein, ich meinte mehr das es viel zu stark
waere fuer die.

b.) ES IST ZU STARK FUER DIE!!!

Bei den bei deinen Orks ueblichen Werten werden wir dann also in Zukunft zur
Begruessung atomisiert. :-(


Teddy

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



Re: Re: **knuddel bierchen und tilly** (Teddy, 28. Jun 1998, 01:37:38):
~#! rn=Teddy rt=898990486 rg=d.vland
~#! tid=898966024
Reaktionen auf meinen Artikel:

Novastorm teilt Dir mit: die viecher atomisieren schon und nich nur zur
Novastorm teilt Dir mit: begruessung ;))
Key teilt Dir mit: atomisiert wenn du volle abwehr als kleriker anhast, ja :)
Anatol teilt Dir mit: Die Erfahrung wurde bereits gemacht :)


Teddy :-(

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



Re^3: **knuddel bierchen und tilly** (Anatol, 28. Jun 1998, 01:39:36):
~#! rn=Teddy rt=898990658 rg=d.vland
~#! tid=898966024
Das darfst Du nicht so posten, Teddy. Morgoth sieht nur die vielen Smileys
und denkt sich: Klasse! Es macht den Leuten Spass, ich habe wieder zum 
Spielspass des Muds beigetragen, ich bin klasse! :o)

- was bestimmt nicht das erklaerte Ziel Deines Postings war, oder? :)

Anatol


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



Re^4: **knuddel bierchen und tilly** (Teddy, 28. Jun 1998, 01:40:58):
~#! rn=Anatol rt=898990776 rg=d.vland
~#! tid=898966024
Nein, das war wirklich nicht so gedacht, ich nehm aber an, ihr habts bislang
nur in Normalwelt getestet, mal schauen, ob sie in Para dann auch noch auf
vernichten kommen.

Teddy, spart sich wohl lieber doch wieder Expeditionen nach Orkhausen.


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



Re^5: **knuddel bierchen und tilly** (Morgoth, 28. Jun 1998, 01:41:51):
~#! rn=Teddy rt=898990858 rg=d.vland
~#! tid=898966024
nein, ich habs am goblin getestet...der hat miximal atomisiert...da die orks
keine waffe dabei haben, kommen sie maximal auf schmettern.

M*

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



Re^5: **knuddel bierchen und tilly** (Key, 28. Jun 1998, 01:42:17):
~#! rn=Teddy rt=898990858 rg=d.vland
~#! tid=898966024
Noe ich war in para ;) Der Rest ist langweilig ,)

Key

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



Re^6: **knuddel bierchen und tilly** (Sting, 28. Jun 1998, 01:43:02):
~#! rn=Key rt=898990937 rg=d.vland
~#! tid=898966024
Hmm, wenn es NUR der Goblin ist, dann ist es OK.

Sting

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



Re^7: **knuddel bierchen und tilly** (Teddy, 28. Jun 1998, 01:44:06):
~#! rn=Sting rt=898990982 rg=d.vland
~#! tid=898966024
Jepp, das haelt sich tatsaechlich noch in Grenzen, wenn man bedenkt, wie hoch
dafuer die Skills sein muessen.

ES will ja eh keiner holen. :-(

Teddy

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



Re^7: **knuddel bierchen und tilly** (Key, 28. Jun 1998, 01:44:22):
~#! rn=Sting rt=898990982 rg=d.vland
~#! tid=898966024
Hmm ja ich muss dazusagen das meine erfahrung sich hierbei auf den goblin
beschraenken ....

Key

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



Re^8: **knuddel bierchen und tilly** (Sting, 28. Jun 1998, 01:44:46):
~#! rn=Teddy rt=898991046 rg=d.vland
~#! tid=898966024
Also ich hol mir das ES ab und zu :)
Und das werde ich auch weiterhin tun *grins*

Sting

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



Re^8: **knuddel bierchen und tilly** (Anatol, 28. Jun 1998, 01:45:02):
~#! rn=Key rt=898991062 rg=d.vland
~#! tid=898966024
Hmmmm, wenn man einem Ork eine Waffe gibt und er damit etwas 
anfangen kann... zueckt er sie dann auch? :o)

Kommt auf dumme Gedanken,
Anatol :o)


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



Re^9: **knuddel bierchen und tilly** (Teddy, 28. Jun 1998, 01:45:42):
~#! rn=Sting rt=898991086 rg=d.vland
~#! tid=898966024
Ich habs letzte Nacht auch versucht, wenn auch nicht da. ;-(


Teddy

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



Re^9: **knuddel bierchen und tilly** (Teddy, 28. Jun 1998, 01:46:33):
~#! rn=Anatol rt=898991102 rg=d.vland
~#! tid=898966024
Logo
Es muss nur gut genug sein von der WC.

Teddy

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



Re^9: **knuddel bierchen und tilly** (Hangover, 28. Jun 1998, 09:34:58):
~#! rn=Anatol rt=898991102 rg=d.vland
~#! tid=898966024
ja

-Hangover, einzeilig

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



Re^8: **knuddel bierchen und tilly** (Gorog, 28. Jun 1998, 23:03:38):
~#! rn=Teddy rt=898991046 rg=d.vland
~#! tid=898966024
Naja man kanns sich ja auc bei Shai hohlen, was teddy?

Gorog

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



Re^9: **knuddel bierchen und tilly** (Teddy, 28. Jun 1998, 23:04:45):
~#! rn=Gorog rt=899067818 rg=d.vland
~#! tid=898966024
Bei dem kann man sich noch mehr holen, wie ich unangenehmer Weise feststellen
musste ;(

Teddy

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



Re^10: **knuddel bierchen und tilly** (Bottom, 30. Jun 1998, 14:30:16):
~#! rn=Teddy rt=899067885 rg=d.vland
~#! tid=898966024

Klasse Morgoth! :-)
Weiter so!!! ;-)
VLand macht mir riesen Spass - uebrigens auch hier in der MPA! ;-)))

Bottom - verteilt heute Smileys


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



mir faellt kein topic ein :) (Patryn,  7. Jul 1998, 20:37:13):
hi besucher des verlorenen landes

wegen technischer probleme wurden meine objekte hier voruebergehend
abgeklemmt. ob und wann sie wieder rankommen, weiss ich nicht, also braucht
auch keiner zu fragen.
viel spass noch.

------
patryn

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



objekte (Patryn, 16. Jul 1998, 21:43:46):
so, mein zeug sollte wieder dran sein, vorsicht jedoch beim seebaeren,
da hat sich etwas leicht geaendert.

------
patryn

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



Re: objekte (Ivo, 16. Jul 1998, 23:06:35):
~#! rn=Patryn rt=900618226 rg=d.vland
~#! tid=900618226

Nun Patryn, da ist die mal wieder ein Meisterstueck der Untertreibung
gelungen. Eine leichte Aenderung ? *lach* Ich empfehle jedem Spieler den
_nicht_ anzugreifen, da der total unrealistisch geworden ist, was seine
Moeglichkeiten angeht..

Das Scoreamulett ist sehr nett, lohnt sich aber nicht diesen Aufwandund
diverse Tode. Punktum

Ivo

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



seebaer (Patryn, 17. Jul 1998, 09:11:31):
also ich hab grad mal 3 testkaempfe durchgezogen, ohne dass ich ruestung
anhatte, also nur mit schutzhuelle und mit dem wissen um seine taktik, was
wohl das wichtigste ist. es war 3 mal ohne weiteres zu schaffen, gefahrlos.
zu beachten ist halt, kein rein-raus, den gegner auch mal zuschlagen lassen,
nicht zu viele leute, nicht zu schnell zuhaun u.s.w., nun ja, eigentlich eure
sache, sowas rauszufinden. die werte haben sich eigentlich nicht geaendert
und die lebenspunkte hab ich auch auf altbekanntes zurueckgesetzt. eventuell
sollte man nach ein paar runden auch mal lesen, was dort geschrieben steht,
weil insbesondere dort neues erkennbar sein duerfte.
warum da so viel krepiert sind, liegt wohl eher daran, dass sie mit zu vielen
leuten zu schnell sein wollten...es war jedoch vorsicht angemahnt, was damit
nicht viel zu tun hat...

------
patryn

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



Re: seebaer (Morgoth, 17. Jul 1998, 09:28:41):
~#! rn=Patryn rt=900659491 rg=d.vland
~#! tid=900659491
Wieso Rechtfertigst Du Dich eigentlich? Ist doch OK, wenn Spieler sterben.
Selbst mein dummer 2tie musste heut morgen an einer meiner Fallen sterben,
weil es 5 Sekunden Lag gab. ;-)
M*

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



Re: Re: seebaer (Nonne, 17. Jul 1998, 11:52:27):
~#! rn=Morgoth rt=900660521 rg=d.vland
~#! tid=900659491
Also wenn ich vorsichtig sein will, geh ich da mit sovielen Leuten hin, wie es
nur geht. Unter Vorsicht verstehe ich nicht, reinzigehen und erstmal n paar
Runden auf mir rumpruegeln lasse, um zu sehen was passiert. Das ist bei vielen
Gelegenheiten naemlich toetlich. Das nur zu deinem letzten Satz, Partyn.

Nonne (unvorsichtig)

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



Aenderung (Morgoth, 17. Jul 1998, 15:41:40):
Es war einmal ein 'Daemoenchen', dem war so furchtbar warm, dass es sich
Kuehlung verschaffen musste. Aber immer wurde ihm diese Klimaanlage von boesen
Spielern gestohlen. Nun, jetzt freut er sich wieder, weil ich ihm ein wenig
geholfen habe. ;-))

M*

P.S.: Fuer die, die es nicht verstehen... ist eh nix fuer Euch !

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



Orks (Morgoth, 20. Jul 1998, 14:44:25):
Ich hab nen neuen Bug..aeh ein neues Feature eingebaut.
Viel Spass damit

M*

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



Re: Orks (Rochus, 20. Jul 1998, 14:55:19):
~#! rn=Morgoth rt=900938665 rg=d.vland
~#! tid=900938665
Das mit dem Bug hast Du schon richtig so gesagt :-)


  Rochus

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



'Blame it on Mindblade' (Morgoth, 22. Jul 1998, 22:16:14):
Es gibt ein bischen was neues in den Katas. Wie aus dem Titel ersichtlich bin
ich nur die Exekutive. Also viel Spass damit.

M*

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



Elementarschwert (Morgoth, 25. Jul 1998, 21:42:03):
So, die Mail von Silvana an die Gildenmags ist raus. Eine Aenderung fuer die
Kaempfer ist das Elementarschwert. Die HitFunc bei dem heiligen/boesen ES ist
nun fuer sie (aus bekannten Gruenden) gesperrt worden.
Sorry. 

Morgoth

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



Wieso sorry?:) (Mindblade, 26. Jul 1998, 14:50:57):
Also ich glaube kaum, dass sich die Kaempfer ueber diese Aenderung beschweren
koennen. Es ist auf jedenfall ne gerechte Aenderung, schliesslich mach das ES
trotzdem noch heiligen Schaden und ist somit ne gute Waffe!:) Naja und viermal
pro Runde alles >= Pulver war nen bischen zuviel des Guten. Ich denke mit der
Aenderung duerftest Du keinem Kaempfer auf die Fuesse getreten sein!;) 

Mind*, gruebelt gerade ob sein "altes" ES noch das "Alte" ist.;)

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



Re: Elementarschwert (Jasonrigid, 27. Jul 1998, 11:49:05):
~#! rn=Morgoth rt=901395723 rg=d.vland
~#! tid=901395723
Schade nur, dass sowas immer abgehaengt wird, bevor ich so ein Ding ueberhaupt
in die Finger kriege *grins*

Jason, hat die ganze Truhe voller ESchwerter und nicht ein Boeses oder
Heiliges dabei.

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



scoreamulett (Patryn, 27. Jul 1998, 17:33:31):
also noch mal: es geht nun
'ziehe alles aus' (keine misc-sachen betroffen)
'stecke waffe weg', 'zuecke waffe'
'wirf alles bis auf behaltenes weg'
'behalte alles|nichts'
fuer zauberer 'stecke alle komponenten in [container]'

------
patryn

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



Partyvorbereitungen? (Patryn,  4. Aug 1998, 01:30:06):
Hi Ihr Abenteurer

Puenktlich vor dem Sommercamp praesentiere ich meine neuste Monsterkreation.
Erlesene Elemente wurden mit stielvollem Geschmack zu einem ansprechenden
Ganzen zusammengefasst und mit einer ordentlichen Portion Fiesheit
gewuerzt. Es wurde hierbei besonders auf locker-leichte Kost geachtet und
nicht zu schwere Zutaten ausgewaehlt. Allerdings achte man auch hier
auf das ausgepraegte Zusammenspiel der Komponenten und lasse sich nicht
durch die scheinbare Verspieltheit des Kunstwerkes taeuschen.

------
patryn

PS: um es kurz zu machen, kommt und lasst euch killen :)
    die belohnungen sind noch nicht freigeschalten, aber ihr duerft euch
    trotzdem am feind probieren...die ersten haben es erfahrungsgemaess
    leichter. viel spass auf der parawiese im vland :)

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



skelettzombie (Patryn,  4. Aug 1998, 18:35:37):
wer den kennt, vorsicht. kein rein-raus mehr. kein gift im skelettmodus.

------
patryn

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



Re: Partyvorbereitungen? (Mars,  4. Aug 1998, 18:47:50):
~#! rn=Patryn rt=902187006 rg=d.vland
~#! tid=902187006
Und was hat das jetzt mit uns Abenteurern zu tun?

-> schmarrn

Mars

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



Elementar (+gilde) (Morgoth,  5. Aug 1998, 09:15:15):
Hi Leutchens,

jaja, das gute alte Elementar hat sich mal wieder einer sehr notwendigen
Frischzellenkur unterzogen. Es sollte jetzt nicht mehr so einfach zu idlen
sein. 
Zur E-Gilde(da es ja noch keine rubrik gibt): Ich hab die eigenen
Schadensmeldungen mal kurzfristig aus den Baellen genommen, damit ihr seht,
wie 'bumms' das macht. ;-))

Morgoth

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



Feuerball (Morgoth, 11. Aug 1998, 11:43:12):
Ich hab ihn mal etwas geaendert...er wird Euch sicher gefallen...aeh...er wird
Euch sicher fallen sehen, wenn er an Euch vorbei rauscht ;-)
Morgoth grinst daemonisch

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



Kampfstock (Morgoth, 14. Aug 1998, 14:11:42):
Ich habe etwas dran geaendert. Ihr solltet Euch einen neuen besorgen und den
alten entsorgen.

M*

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



Satan (Morgoth, 31. Aug 1998, 14:43:28):
Aufgrund eines Bugs, den selbst Boing nicht gefunden hat, wird Satan bis auf
weiteres abgehaengt.

M*

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



Re: Satan (Morgoth, 31. Aug 1998, 15:40:52):
~#! rn=Morgoth rt=904567408 rg=d.vland
~#! tid=904567408
Bug ist gefunden und behoben.

SATAN sagte: I'll be back......das ist er nun ;-) und er sieht ziemlich boese
aus.

M*

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



Adamantschuhe (Morgoth,  3. Sep 1998, 00:39:19):
Die Schuhe sind ein bischen geaendert...also...neue holen. ;-)

M*

P.S.: Ach ja, nicht vergessen unterwegs zu sterben ;-)

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



Re: Adamantschuhe (Morgoth,  3. Sep 1998, 16:41:18):
~#! rn=Morgoth rt=904775959 rg=d.vland
~#! tid=904775959
Ach vergesst es. Ich bekomm eh keine neuen Sachen mehr angeschlossen. Wer noch
irgendwelche Zahnstocher oder Dosenoeffner braucht, so soll er sich melden.
Das muss dann sicher nicht durch die Balance. 
Obwohl...die Sachen sind ja von mir, also muessen sie ja gut sein.

Morgoth, sauer

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



Neu ? Alt ? Geaendert ? (Morgoth,  7. Sep 1998, 13:22:58):
Das Elementar hat jetzt immer ein Teil dabei.
Ein netter Daemon in den Katakomben hat nun endlich auch seine Hose bekommen,
nachdem die Balance sie noch etwas zerfetzt hat.
Katakomben Level 3 = MAX_PRIORITY ;-))

M*

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



Zombievirus (Morgoth,  7. Sep 1998, 13:45:23):
Snottys Tod hat mich ja vorhin doch ein wenig traurig gestimmt **rotfl** und
somit habe ich beschlossen, etwas in den Virus einzubauen...
Wie? Man stirbt noch schneller?? Gute Idee, aber das ist es nicht. 
Fangt Euch den Virus ein und schaut Euch an ;-))

M* ist mal freundlich

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



Re: Zombievirus (Thufhir,  7. Sep 1998, 13:47:30):
~#! rn=Morgoth rt=905168723 rg=d.vland
~#! tid=905168723
> M* ist mal freundlich

jetzt ist er nicht nur suess, sondern auch noch freundlich.... tststs.
Thufhir, fast einzeilig.

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



saikans gebiete (Patryn,  7. Sep 1998, 15:42:38):
an alle vland-fans (ja: sowas solls wirklich geben :)

da saikan ja mal wieder abgetreten ist, hab ich mich mal drangesetzt, und
seine repfiles abgegrast. wer schon mal in seinen gegenden war, der weiss,
dass dies ziemlich viel zeug ist.
nun ja: auf jeden fall lohnt es sich jetzt, dort mal wieder typos, ideen
und bugs einzufordern...aehm, oder deren beseitigung :)
ich werd mich mal drum kuemmern. die meisten haben es ja wohl bisher
nach 3 raeumen aufgegeben, da noch nen typo zu reklamieren *grins*

------
patryn

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



Re: Zombievirus (Gorog,  7. Sep 1998, 17:29:51):
~#! rn=Morgoth rt=905168723 rg=d.vland
~#! tid=905168723
Freundlich Du.....?
Oder is das mit dem suess sein doch ernst gemeint???

Gorog versteht die Welt nciht mehr.

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



Re: saikans gebiete (Sting,  7. Sep 1998, 20:35:01):
~#! rn=Patryn rt=905175758 rg=d.vland
~#! tid=905175758
Hm, erstmal danke an Patryn, das er diese Aufgabe jetzt uebernimmt.
Nichtsdestotrotz muss ich hier mal sagen wie sehr mich dieses staendige
rumgenoergele an Saikans Typos und auch seiner Person nervt... (nicht nur in
der mpa) Ich kannte Saikan relativ gut, und fand ihn einen sympathischen Kerl,
und abgesehen davon ist zumindest seine Story in seinem Gebiet eine der
definitiv coolsten des MGs, und es ist MEHR als SCHADE, das er nicht
weitergemacht hat... Naja, normal schreibe ich zu sowas nicht (flame-war) aber
das musste ich jetzt doch mal loswerden

Sting

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



Re: Re: saikans gebiete (Gloinson,  8. Sep 1998, 03:17:42):
~#! rn=Sting rt=905193301 rg=d.vland
~#! tid=905175758
Da braucht man nicht flamen oder es erwarten. Fakt ist, dass ein Magier
Gebiete die er angeschlossen hat auch 'debuggen' sollte. Und ich weiss
selber, dass dies der langweiligste Teil des Magierlebens ist.

Gloin

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



Re: Re: Zombievirus (Nonne,  8. Sep 1998, 10:41:52):
~#! rn=Gorog rt=905182191 rg=d.vland
~#! tid=905168723
Er fuegt sich in seine neue Rolle als suessester Magier des MG. Ich find das
nett. Da sieht man mal, was Kleriker fuer einen guten Einfluss haben. Jetzt
proggt er sogar n Himmel :)

Nonne

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



Der Himmel.... (Morgoth, 11. Sep 1998, 09:48:35):
Fuer Testspieler ist der Himmel eroeffnet. Ihr koennt da schon ein bischen
metzeln, STERBEN, naja....ein wenig forschen....**wuerg**.

M*

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



Orks ;-) (Morgoth, 13. Sep 1998, 13:38:30):
Auf Wunsch eines ganz bestimmten Familienoberhauptes haben die Orks nun ein
nettes, neues Feature. Wer es kennenlernen will, sollte einmal
Normal-Orkhausen aufraeumen und auf nen reset warten. 
M* ;-)

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



Das naechste Orkfeature (Morgoth, 14. Sep 1998, 08:22:06):
Endlich kann ich meine Haende etwas von Paracelsus Hals lockern, weil die
Katzenkrieger nicht mehr ueber zigtausend verschiedene Directories verteilt
sind.
Also: Die Orks schneiden sich jetzt die Fingernaegel nicht mehr....

M*

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



Re: Das naechste Orkfeature (Paracelsus, 14. Sep 1998, 22:40:54):
~#! rn=Morgoth rt=905754126 rg=d.vland
~#! tid=905754126
Tss, ist ein Verzeichnis schon zuviel fuer Dich? ;)

Paracelsus, verwundert.

. o O (zigtausend==eins? Das mit dem Zaehlen ueben wir nochmal.)

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



schmetterlingsfaenger (Patryn, 15. Sep 1998, 14:28:56):
hi ihr schmetterlingskiller

der faenger hat nun tatsaechlich seine belohnung dran. nun ja...bisher
wurde sie wohl kaum vermisst, da er sich auf seine weise verbissen dagegen
wehrte, das zeug rauszuruecken.
in einem anfall von grosszuegigkeit sah ich mich deshalb gezwungen,
die laufgeschwindigkeit und schlagstaerke der schmetterlinge etwas
einzugrenzen. es sollte jetzt sehr viel besser moeglich sein, ihm sein
zeug abzujagen. na dann...

------
patryn

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



Orks...mal wieder (Morgoth, 17. Sep 1998, 11:46:21):
Hi Leute,

keine Angst..oder doch?? Naja, die Orks sind jetzt etwas effizienter geworden,
was dir Programmierung angeht. Ich konnte doch tatsaechlich mit Hilfe eines
ungenannten Zwerges 4k an Code rauswerfen und sie funktionieren besser denn
je. Aehm, vor allem der neue Bummi-Trigger ;-)))

M*

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



Mal wieder Orks (Morgoth, 21. Sep 1998, 09:54:21):
So, da meine Telefonleitung immer noch defekt ist und die Telekomiker nix
finden, hatte ich mal wieder ein bsichen Zeit, an den Orks zu fummeln. ;-)
Ihr solltet jetzt aufpassen, wenn ein Kaempfer vor euch steht. Da gab es noch
eine kleine Zeile, die ein paar Attacken verhindert hat, diese ist nun raus.
Ach ja, es sollten auch keine Kaempfer mehr dort sterben, finte todesstoss von
den Orks sieht nett aus, mit den richtigen Sachen ;-)

M*

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



Buergermeister (Morgoth, 23. Sep 1998, 21:25:06):
Ha, den alten Sack hats jetzt auch in die Parawelt verschlagen.....
Naja, ihr wisst ja...viel Glueck bei Lars und so...

M*

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



Katakomben (Morgoth, 28. Sep 1998, 13:15:37):
Ich hab mal ein bischen an den Viechern da unten gebastelt....

M*

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



Re: Katakomben (Thufhir, 28. Sep 1998, 13:17:03):
~#! rn=Morgoth rt=906981337 rg=d.vland
~#! tid=906981337
Morgoth so liebenswuerdig konkret wie immer... ;-/

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



Katakomben (Morgoth,  2. Okt 1998, 11:03:02):
Es hat sich einiges geaendert in den Katakomben. Zum Teil aus eigenem
Interesse, zum Teil auf 'Wunsch' des Balance-Teams.

Viel Spass !!!

M*

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



Zettel (Morgoth,  5. Okt 1998, 20:17:30):
Ich habe endlich diesen verfluchten Fehler im Master gefunden und gefixed.
Jetzt sollte der Zettel sortiert ausgegeben werden ,-))
M*

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



Elementarschwert (Morgoth, 20. Okt 1998, 09:05:35):
Hi Mahatma, hi Rest,
der Bug mit den Resistenzen ist endlich gefunden und behoben.
Desweiteren ist die HitFunc fuer das heilige und boese Elementarschwert
ersatzlos vom Balanceteam gestrichen worden. Es lohnt sich also ueberhaupt
nicht mehr, den Aufwand zu treiben und sich das ES zu holen. Einen herzlichen
Dank an das elitaere Team fuer seine Entscheidung. Danksagungen bitte per
'mail balance'.
Morgoth

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



Re: Elementarschwert (Anatol, 20. Okt 1998, 11:39:39):
~#! rn=Morgoth rt=908867135 rg=d.vland
~#! tid=908867135
Wenn Dir der noetige Weitblick fehlt, selbst ein Auge auf die Balance zu
haben, solltest Du einbauen, dass Dein Kram nur in Raeumen des Vlands
funktioniert. Und nicht meckern, wenn erfahrene Leute Dir die Fluege^H^H^H^H^H
Fingernaegel schneiden.

Ja, ich weiss: "Du mich auch.",
Anatol


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



Re: Re: Elementarschwert (Nonne, 20. Okt 1998, 11:45:27):
~#! rn=Anatol rt=908876379 rg=d.vland
~#! tid=908867135
Vielleicht sollte man hier mal ne Grundsatzdiskussion ueber die Staerke von
Waffen vom Zaub brechen. Als Kleriker bin ich geradezu angewiesen auf solche
Waffen, die jetzt wohl nach und nach von der Balance abgehaengt werden.
Wirklichen schaden kann man in diesem Mud mit Waffen nicht machen, also
braucht man Magie. Und wenn man keine offensiven Anrufungen, die Schaden
machen, hat? Ich weiss nicht, auf wessen Mist das gewachsen ist, aber ich habe
ja stark die Kaempfer im verdacht, weil die damit nicht kaempfen konnten. Ist
ja auch bloedsinn, aber wer ne Gilde proggt, die Faktoren zur Berechnung
benutzt, sollte auch mal die Fingernaegel gestutzt bekommen. Aber ich gehoere
ja einer 'defensiven' Gilde an, und kriege jetzt die entsprechenden Flames...

Nonne.

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



Re^3: Elementarschwert (Key, 20. Okt 1998, 12:41:49):
~#! rn=Nonne rt=908876727 rg=d.vland
~#! tid=908867135
Hmm in einem Punkt stimme ich mit dir ueber ein ....
Die Waffen machen zu wenig Schaden bei den meisten Gilden.

Aber wenn man mal drueber nachdenkt ....
Ist es nicht normal das man mit einem Schwert weniger Schaden verursacht als
mit einem Feuerball?
Und was meinste wie schoen das fuer unsere Balance waere ....

Hmm was ich aber nicht verstehe ist Dein Komentar von wegen kaempfer ....

Ich sehe im mom gerade null zusammenhang zwischen dem Es und den Kaempfern
....
*zuck*

So und zum Schluss ... Willste staerker zuhauen dann werd Kaempfer oder Pirat
:)
Naja ich hoer an dieser Stelle lieber auf zu flamen, sonst lauf ich noch warm
=;)

Nur noch eins am Ende ... bevor Du wieder nen Flamekrieg vom Zaun brichst ...
Die kleriker machen auch net gerade wenig Schaden, bzw koennen das recht gut
ausgleichen.

Key

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



Re^3: Elementarschwert (Ringor, 20. Okt 1998, 12:44:07):
~#! rn=Nonne rt=908876727 rg=d.vland
~#! tid=908867135
Das Elementarschwert konnte von den Kaempfern genauso benutzt werden, wie von
anderen Gilden. Da sie damit aber pervers hohen Schaden gemacht haben, wurde
die Hitfunc fuer Kaempfer gesperrt.

Die Waffenskills der Kaempfer wurden vor Kurzem aber von Boing umgestellt,
so dass sie eben nicht mehr als Faktor mit dem Gesamtschaden einer Waffe
multipliziert werden.

Dadurch vereinfacht sich die Arbeit des Balance-Teams, da sie die Staerke von
Sonderfunktionen bei Waffen jetzt fuer alle Gilden gleich bewerten
koennen. Die Sonderbehandlung der Kaempfer wird somit hinfaellig.

Trotzdem befand das Team die Hitfuncs des heiligen und boesen
Elementarschwertes anscheinend als zu stark. Warum man die dann nicht
einfach entsprechend reduziert, sondern gleich ganz abgehaengt hat, kann
uns ja vielleicht ein Mitglied dieses Gremiums erklaeren.

Und zu Deiner defensiven Gilde: gerade die reduzierte Offensivkraft im
Vergleich zu anderen Gilden rechtfertigt ja die erhoehte Defensivstaerke.

Ganz abgesehen davon, dass Kleriker einen Keulenskill haben, durch den sie
auch ohne Sonderfunktionen der Waffen und ohne MP-Einsatz schon deutlichen
Schaden machen koennen, bleiben Kleriker dank ihres Schutzes auch laenger
im Kampf als andere Gilden und koennen somit ihre reduzierte Offensivkraft
wieder wett machen. So war es zumindest gedacht.

Das Problem, dass Gilden ohne Waffenskills bei neueren Monstern eigentlich
keinen nennenswerten Schaden mehr mit ihrer Waffe anrichten koennen, besteht
generell und nicht nur fuer Kleriker. Ob das allerdings durch Waffen mit
starken Sonderfunktionen geloest werden kann, lasse ich mal dahingestellt.
Schliesslich waeren diese Waffen auch mit entsprechenden Skills nutzbar.

Ringor

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



Re^4: Elementarschwert (Key, 20. Okt 1998, 12:44:33):
~#! rn=Ringor rt=908879136 rg=d.vland
~#! tid=908867135
Hmpf ja ich muss gestehen .... Ich bin mit einem ZWERG einer Meinung :)

Hmm wegen dem schlechten Treffen von Waffen bei neueren NPC ....
Vielleicht hilft einfach mal ein Aufruf an die Proggende Magierschaft diese
absolut unnoetigen und ueberhoehten Bodys wegzulassen :(

Key

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



Re^5: Elementarschwert (Nonne, 20. Okt 1998, 12:54:59):
~#! rn=Key rt=908880273 rg=d.vland
~#! tid=908867135
Ich wollte mich nicht beschweren, dass ich als Kleriker ne arme Sau bin, da
wurde ich falsch verstanden. Es geht darum, dass man, als magisch nicht so gut
ausgestattete Gilde, bei vielen NPC kaum eine Chance hat. Das hat nichts mit
meinem Kleriker-Dasein zu tun. Und die Defensive der Kleriker funktioniert
auch nur gegen boese Monster. Zugegeben, das sind die meisten, aber es gibt
genug Gegenden, wo ich fast soviel Schaden bekomme, wie ein Kaempfer. Und da
wuerde ich ohn solche 'Megawaffen' ganz schoen alt aussehen. 
Bei dem 'koennen Kaempfer nicht benutzen' bezog ich mich uebrigens auf die
Hitfunc der Waffe. Ich meine nur, dass diese Abhaengerei nichts mit balance zu
tun hat, genausowenig, wie die Arbeit der Gildenbalance, oder moechte
irgendwer behaupten, dass alle Gilden mehr oder weniger gleich stark sind? Ich
meine damit nicht gleich sind! Es soll ja jeder seine Vor- und Nachteile
haben, aber von einer ausgeglichen Kampfkraft kann ja wohl keine Rede sein.
Und jetzt nimmt man den schwaecheren Gilden auch noch die Waffen weg, wo sie
wenigstens ein bischen Schaden mit gemacht haben.

Ich finde halt nur, dass es das nicht sein kann.

Nonne (versucht konstruktiv zu sein, wird aber immer falsch verstanden).

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



Re^5: Elementarschwert (Morgoth, 20. Okt 1998, 12:56:18):
~#! rn=Key rt=908880273 rg=d.vland
~#! tid=908867135
Willkommen im verlorenen Land. Dort wo die NPCs hart aber fair sind (also ohne
P_BODY-Werte von 200+ und Resistenzen auf allem was Schaden machen koennte).

Es geht ja seit geraumer Zeit ein Geruecht um, es soll mal eine NPC-Balance
geben, um dessen Vorsitz ich mich beworben habe. Jaja, lacht nur, dann schaut
Euch mal ein paar NPCs im Vergleich zu meinen an und denkt mal objektiv nach.
Leider scheint gerade dieses in letzter Zeit in einigen Koepfen nicht mehr
moeglich zu sein. Naja, auch egal, wir werden sehen was daraus wird.

Zum ES usw.
Die HitFunc wurde schon vor einiger Zeit (2 Monate??) fuer Kaempfer gesperrt,
damit die mit ihren perversen Funktionen nicht alles Uebertreiben. Die
Kleriker moegen zwar ihren Schutz haben, aber auch bei vielen NPCs haben sie
trotzdem keinen Ausgleich fuer ihren Schaden, den sie diesen NPCs zufuegen.
Kleriker stinken z.b. bei guten/heiligen NPCs ab, weil ihr Schutz dann gegen 0
geht und der Schaden, auf den sie einen Bonus bekommen, wenn die Gegner
boese/satanisch sind faellt dann auch weg.
Es zweifelt niemand daran, dass ein Feuerball bei einem Std-Monster mehr
Schaden machen soll, als ein Schwert, trotzdem sollte man aber mit dem Schwert
ueberhaupt Schaden machen. Dies ist aber bei den meisten
NPC/Waffen-Kombinationen gar nicht gegeben. Hierbei meine ich nicht die
Supermonster, sonder 'normale' wie Goblins/Orks usw.

Zusammenfasend kann man nur sagen, das im derzeitigen System der Wurm
drinsteckt, und zwar einer von der Groesse der Hydra. Mit den ganzen
HitFuncs/Skills/Artillerie werden nur die Koepfe abgeschlagen, aber nicht
ausgebrannt. Damit sollte endlich mal angefangen werden. Das was das
derzeitige Balanceteam abgibt kann ich von meiner Position aus nur als
laecherlich (sorry Zephyr) bezeichnen.

Morgoth

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



Re^6: Elementarschwert (Key, 20. Okt 1998, 13:01:20):
~#! rn=Nonne rt=908880899 rg=d.vland
~#! tid=908867135
*gaehn*
teile key mit schleier :))))
Also .... Du bemerkst das man ohne Magie kaum ne Chance hat ... 
Ich frag jetzt mal ganz bloede ob Du Kaempfer oder Karateka kennst :)
Abwehr nur richtig bei boesen Npc ...
Also mein Zweitie ist ne Wurst, aber seine Abwehr kenn ich recht gut ....

Und zu Deinem letzten Punkt ....
Wenn man nicht auf die hoechsten in der Gilde schaut, die unbedingt alles
metzeln wollen, sondern mal den Durchschnitt betrachtet sind die Gilden
relativ gleich ...

Oki es gibt da gewissen Unterschiede .... z.B. sind die meisten kleinen
Kaempfer zu stark, einfach aus dem Grund weil nen paar Leute hier freunldich
sein wollen und ihnen max-rue geben ....
So kann man jeden aufpuschen .... und es ist meiner Meinung falsche
Freundlichkeit, aber das ist ein anderes Thema ...

Key weiss nimmer worums gerade ging ;)

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



Re^6: Elementarschwert (Teddy, 20. Okt 1998, 13:01:54):
~#! rn=Nonne rt=908880899 rg=d.vland
~#! tid=908867135
Zum einen soll euer Schutz und auch euer Schaden afaik bei heiligen/guten NOCs
enorm niedrig sein, das ist Sinn eurer Gilde.
Zum anderen verstehe ich noch nciht so ganz, warum DU mit dem heiligen ES
Schaden gemacht hast, eigentlich sind fuer dich Keulen gedacht gewesen, wenn
du also uebers ES jammerst, laeuft da scheinbar noch viel mehr schief, als
bisher gedacht.

Im uebrigen ist es wohl kaum als sinnvoll zu erachten, das Gilden ohne
Waffenskill bereits mit einem Schwert mehr Schaden machen, als mit ihren
anderen Spells wie Feuerball/Chaosball und aehnlichem.+

Teddy, mal kurz 

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



Re^7: Elementarschwert (Nonne, 20. Okt 1998, 13:06:22):
~#! rn=Teddy rt=908881314 rg=d.vland
~#! tid=908867135
Darf ich mir allgemein Gedanken ueder die Situation im MG machen? Ich sprach
ausdruecklich davon, dass ich nicht als Kleriker spreche. Natuerlich benutze
ich das ES nicht, aber als naechstes ist der heilige Hammer dran und was es
sonst fuer nette Sachen gibt.
Nonne.

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



Re^8: Elementarschwert (Key, 20. Okt 1998, 13:08:22):
~#! rn=Nonne rt=908881582 rg=d.vland
~#! tid=908867135
Nonne auch Kleriker sollten ab und an mal ihr Hirn anschalten ...
Ja ich weiss das faellt schwer mal selbststaendig zu denken, aber ab und an
lohnt es sich ;)

Der Hammer ist unique.
Er hat einige Nachteile.
Er wird Hauptsaechlich von euch Scheinheilligen Deppen benutzt.
Siehste da nen Grund ihn abzuwerten?

Key sollte mal wieder die Lieblingswaffe der Kleriker in Beschlag nehmen ...
CHAOS RULEZ

P.S.: Komm mein Schnucki nicht aufregen, trink Deine Milch und alles wird gut
;)

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



Re^7: Elementarschwert (Koomi, 20. Okt 1998, 13:09:06):
~#! rn=Teddy rt=908881314 rg=d.vland
~#! tid=908867135
Entschuldige Teddy, aber die einzigen Gilden, die keine Waffenskills haben und
sich normal ausruesten koennen sind 'nur' die Abenteurer, die Bierschuettler
und die Katzenkrieger.

Ich stimme dir schon zu, dass die zT (zum Teil) mehr zulangen als mit einen
Feuerball, aber die muessen aber dafuer mindestens ein SMS, 20 Kraft / 20
Geschick und noch Statringe/Drachenklauen haben. Sonst ist das nix mit 'mehr
zuhauen als ein Feuerball' ohne Waffenskill.

Ich kenne deine Zweities und nicht deren Gilden, aber spiel doch mal laenger
einen Bierschuettler oder einen Katzenkrieger. Beide haben ihre schon ihre
liebe Not, selbst in der SSP ab der Eisebene zu ueberleben, wenn die nicht top
ausgestattet sind. Mit 'top' mein ich Schlangenhaut, Waechterruestung,
Wildlederhose oder aehnliches.

Ja, es sind alles 'Anfaengergilden', aber es gibt gut 600 Spieler in der
Biergilde und Katzengilde, wovon sicher gut mindestens die Haelfte aktiv
spielt.

Koomi

    Halbelf Koomi.
    
-----------------------------------------------------------------------------



Re^8: Elementarschwert (Rantanplan, 20. Okt 1998, 13:10:52):
~#! rn=Koomi rt=908881746 rg=d.vland
~#! tid=908867135
Hmmmmm...

Frueher konnte man noch mit zwei Bumis, einer Lichtausruestung und dem
Umhang vcon Cara's bestem Freund durch die SSP marodieren *seufz*

...

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



Re^8: Elementarschwert (Nonne, 20. Okt 1998, 13:11:31):
~#! rn=Koomi rt=908881746 rg=d.vland
~#! tid=908867135
Meinen Infos zufolge, wird der heilige Hammer gerade in der balance
diskutiert, Key. Spar dir einfach deine Flames. Ich wollte was zur Sachen
sagen, nicht mehr, nicht weniger.

Nonne.

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



Re^9: Elementarschwert (Morgoth, 20. Okt 1998, 13:11:47):
~#! rn=Key rt=908881702 rg=d.vland
~#! tid=908867135
Soweit ich weiss (man mit gefluestert hat) wird auch am heiligen Hammer
rumdiskutiert. also nimm den mal nicht mehr so als gegeben hin.
M*

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



Re^8: Elementarschwert (Teddy, 20. Okt 1998, 13:12:03):
~#! rn=Koomi rt=908881746 rg=d.vland
~#! tid=908867135
Sorry dich enttaeuschen zu muessen, ich war Bierschuettler und BIN Chaot, eine
Gilde, die du leider vergessen hast zu erwaehnen. Ich hab auch keinen
waffenskill.

Zur Schadensstaerke: Nimm dir mal nen altes ES, wenn du es noch kriegen kannst
und schau dir den Schaden mal an, dann vestehst du was ich meine.

Teddy
P.S. Ach ja, lass dir die Schadensmeldungen noch von wem der sie kennt
uebersetzen

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



Re^8: Elementarschwert (Key, 20. Okt 1998, 13:14:41):
~#! rn=Koomi rt=908881746 rg=d.vland
~#! tid=908867135
Red von Gilden von denen Du was verstehst :)

Und lass diese Bierschuettler weg ...
Oder soll ich mal zitieren was es damals hies von wegen nur ne Spassgilde, nur
lohnenswert als nichtseher, keine offensive moeglichkeit fuer den kampf die
sich lohnt als seher usw usw

Vergiss diese Gilde einfach, die ist meiner Meinung absolut an ihrem
urspruebnglichen Konzept vorbei gerauscht.

Key

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



Re^9: Elementarschwert (Morgoth, 20. Okt 1998, 13:15:31):
~#! rn=Teddy rt=908881923 rg=d.vland
~#! tid=908867135
Welchen Schaden muss man da uebersetzen?? Nimm Dir mal einen boesen Gegner
ohne empfindlichkeit gegen heiligen Schaden(ja, gibt es zur Genuege) und teste
das ES dort mal. Das ist nicht so prickeld was dabei heraus kommt, weil der
Schutz ja noch abgezogen wird. Damachst Du mit Deinem pisseligem Chaosball(von
den Kosten her) locker das doppelte an Schaden als ein Abenteurer, der mit
Feuerball und ES draufrumkloppen muss.

M*

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



Re^10: Elementarschwert (Key, 20. Okt 1998, 13:17:38):
~#! rn=Morgoth rt=908881907 rg=d.vland
~#! tid=908867135
Aeh wusste ich nicht ...
Und Sorry aber Balance ... das ist uebertrieben ...
Muss immer abgewertet werden? Also in do einem Fall finde ich es unnoetig ...
Meistens versteh ichs ja aber bei dem Teil?
Oki ich geb zu ich hab den net benutzt, Aber er ist unique.
Stoehrt es die Balance wenn ein einzelner Spieler mal ordentlich zuhaut?
Ein einziger .... das ist nichtmal 1% der Mudschaft ....

So und jetzt beende ich diesen Artikel weil mir schlecht wird wenn ich dran
denke das ich mich fuer die Lieblingswaffe der Kleriker einsetze ;)

Key

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



Re^9: Elementarschwert (Koomi, 20. Okt 1998, 13:17:53):
~#! rn=Teddy rt=908881923 rg=d.vland
~#! tid=908867135
Ja, die Chaosgilde hab ich 'vergessen', weil meine Ex-Erstie dort ist und die
dort primaer mit ihren Chaosball schmettern tut und sich mehr auf eine bessere
Ruestung verlaesst als, auf uebergute Waffen.

Das du mal Bierschuettler warst, kann ich nicht wissen.

Was das alte Elemschwert angeht: Wer ist schon in der Lage, sich das 'ding' zu
besorgen, wenn man nicht gerade jemanden darum bittet, das entsprechende
Monster umzulegen?

Ich wollte nur darauf hinweisen, sei doch nicht gleich veraergert.

    Halbelf Koomi.
    
-----------------------------------------------------------------------------



Re^10: Elementarschwert (Teddy, 20. Okt 1998, 13:17:57):
~#! rn=Morgoth rt=908882131 rg=d.vland
~#! tid=908867135
Das mit dem Schaden uebersetzen lassen war ein kleiner Denkfehler durch die 2
parallelen Diskussionen, ich hatte da grad die Bumis im Kopf. ;)

Schadensmaessig sind mir da doch etwas andere Werte bekannt bei den ueblichen
NPCs im MG und der Saeurestrahl oder der Feuerball der Abenteurer ist zwar
nicht so flexibel wie der Chaosball, aber denk mal bitte an unsere gemeinsamen
Touren durch die Katas, SO schlecht ist der nicht gerade und ich kann als
Chaot Waffen eh in die Tonne schmeissen.

Teddy

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



Re^10: Elementarschwert (Key, 20. Okt 1998, 13:18:55):
~#! rn=Koomi rt=908882273 rg=d.vland
~#! tid=908867135
Hmm also antwort auf Deine Frage: Ich ;)

Key

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



Re^8: Elementarschwert (Novastorm, 20. Okt 1998, 13:19:27):
~#! rn=Nonne rt=908881582 rg=d.vland
~#! tid=908867135
Ich bin dafuer das das Kampfschwert und die Orkkeule die einzig erlaubten
Waffen im Mg sind, als Ruestung sollte das Lederruestung und vielleicht noch
das Kettenhemd als Masstab genommen werden... vielleicht noch fuer die
Ausruestungsgeilen ein paar Lederstiefel + Handschuhe. 
Gilden find ich gehoeren abgeschafft, schliesslich kann es nicht sein, dass
andere Spieler moeglicherweise, irgendwann und irgendwie staerker werden als
wieder andere und auf das 'Gildenfeeling' scheint es ja eh nicht anzukommen.
Artillerie gehoert grundsaetzlich verboten und Skripte ebenso. Achja, nebenbei
koennen endlich diese sinnlosen Portale eingestampft werden.
*gruebel* hab ich was vergessen ?
Wieso verdammt nochmal bricht aller 3 Wochen diese _sinnlose_ Diskussion vom
Zaun ?
Wieso wollen einige die 'Kraft' andere und trotzdem alle eigenen derzeitigen
Vorteile behalten ?
Wieso wird in einem derartigen Ausmass gegen spezielle 'Gruppen' UND auch
Magier gehetzt ?
Irgendwie scheint mir hier der Sinn des SPIELS verlorenzugehen.
Warum muss alles letzten Endes 'besteuert' - verschlechtert werden ? Es ging
bisher ziemlich gut, und ich glaube es wuerde auch noch eine Weile gut gehen.
Mag sein dass ich nicht den Durchblick habe, aba wenn einige andere Tools
benutzen und damit mehr Schaden machen, stoert es mich nur in dem Sinne, wenn
damit mein Spielspass gehemmt wird.
Andererseits... scheinbar eh egal.
     Nova, resignierend 

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



Re^9: Elementarschwert (Koomi, 20. Okt 1998, 13:19:45):
~#! rn=Key rt=908882081 rg=d.vland
~#! tid=908867135
Ich bin bei allen Gilden (bis auf Karate) mit Zweities vertreten und weiss
daher, von was ich rede.

Ausserdem soll man nicht immer STAENDIG die eigene Meinung in Bezug auf "Was
ist die beste Gilde und warum ist die Gilde X ein Mist?" den anderen unter die
Nase reiben.

    Halbelf Koomi.
    
-----------------------------------------------------------------------------



Re^10: Elementarschwert (Teddy, 20. Okt 1998, 13:20:30):
~#! rn=Koomi rt=908882273 rg=d.vland
~#! tid=908867135
Wenn du es nicht kennst, warum dann deine Artikel?
Ausserdem, so schwer ist das Teil nicht zu holen gewesen, aber insgesamt gibt
es einfach Grenzen, egal wie scchwer der NPC ist.
Du kannst nicht beliebig lange die Staerke eines tools mit der Staerke des
Gegners begruenden.

Teddy, nicht sauer

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



Re^11: Elementarschwert (Morgoth, 20. Okt 1998, 13:22:16):
~#! rn=Key rt=908882258 rg=d.vland
~#! tid=908867135
Es gibt ein boeses Gegenstueck dazu, dass gerade fuer Dich sehr geeignet sein
sollte. Also wenn der heilige geschreddert wird, wird es auch den boesen
Hammer treffen.

M*

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



Re^11: Elementarschwert (Koomi, 20. Okt 1998, 13:23:49):
~#! rn=Teddy rt=908882430 rg=d.vland
~#! tid=908867135
Ich weiss sehr wohl, wo das Elemschwert ist und habs mir auch ab und zu
geholt, aber einfach ists nicht. 


    Halbelf Koomi.
    
-----------------------------------------------------------------------------



Re^11: Elementarschwert (Morgoth, 20. Okt 1998, 13:23:59):
~#! rn=Teddy rt=908882277 rg=d.vland
~#! tid=908867135
ICH nicht??? Ich mache da unten den Schaden hauptsaechlich, weil ich den
SMS-Skill sehr hoch habe und mich deshalb die Mistviecher nicht so gut
treffen. Ohne diese `Sonderwaffe' bekomme ich da unten ganz schoen die Fresse
dick, auch wenn ich mich da etwas besser auskennen sollte, als andere ;-)

M*

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



Re^10: Elementarschwert (Novastorm, 20. Okt 1998, 13:24:07):
~#! rn=Koomi rt=908882385 rg=d.vland
~#! tid=908867135
Boah bist Du toll Koomi, in allen Gilden ausser Karateka... und in allen
Gilden hast Du tagelang gespielt, hast vieles herausgefunden und kannst Dich
mit jeder identifizieren...
Echt, Du bist mein Held... und endlich kenn ich mal jemanden den ich nach den
Vor-, Nachteilen fast aller Gilden befragen kann.
    Nova, nich eine Spur ironisch

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



Re^10: Elementarschwert (Key, 20. Okt 1998, 13:24:32):
~#! rn=Koomi rt=908882385 rg=d.vland
~#! tid=908867135
Hmmm es kommt nicht drauf an in wievielen Gilden du wieviel sitzen hast,
sondern ob du einschaetzen kannst was sie koennen ;)
Nein ich unterstelle Dir _nicht_ das Du das nicht kannst ....

*gaehn* 
Wenn wer nen Konzept macht, und das nicht zutrifft, dann ist das Fakt, und
keine Meinung.
Ansonsten hab ich nie gesagt die und die Gilde ist die beste und die Mist ....

Key

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



Re^12: Elementarschwert (Key, 20. Okt 1998, 13:26:22):
~#! rn=Morgoth rt=908882536 rg=d.vland
~#! tid=908867135
Nein ich geh nicht in Deine Kirche! .)
Auch nicht fuer das Teil ...
Einfach weils sich net lohnt .... heillige Npcs seh ich nur sehr wenig und die
sind meist netmal anfaellig gegen boese ...
Wuerde also nurwas in der Arena bringen, und da ich mit meinen kleinen Sklaven
den Klerikern net dahingehe isses ueberfluessig ;)

Key

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



Re^13: Elementarschwert (Morgoth, 20. Okt 1998, 13:28:44):
~#! rn=Key rt=908882782 rg=d.vland
~#! tid=908867135
Wieso sind sie nicht anfaellig? Weil Du dann ja mit einigen Waffen Schaden
machen koenntest. Dort liegt mal wieder das Problem. Es fehlt einfach das
'faire' Verstaendnis, auch akzeptieren zu koennen, dass meine ach so geliebten
NPCs mal richtig auf die Muetze bekommen. Das habe(versuche) ich bei mir so
gut wie moeglich zu unterbinden. Wer bei mir metzeln geht, weiss wovon ich
rede.

M*

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



Re^14: Elementarschwert (Teddy, 20. Okt 1998, 13:30:14):
~#! rn=Morgoth rt=908882924 rg=d.vland
~#! tid=908867135
Klar weiss ich das: 99% Nomagic z.B.
Zaps ohne Schutz bzw. Schutz erst nach massiven Diskussionen.
Irgendwas vergessen? garantiert.

Teddy

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



Re^15: Elementarschwert (Morgoth, 20. Okt 1998, 13:32:04):
~#! rn=Teddy rt=908883014 rg=d.vland
~#! tid=908867135
Du hast es einfach nicht begriffen, danke Teddy. Deshalb bist Du ja auch
auserwaehlt.
M*

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



Re^16: Elementarschwert (Teddy, 20. Okt 1998, 13:35:00):
~#! rn=Morgoth rt=908883124 rg=d.vland
~#! tid=908867135
Es ist ziemlich bezeichnend fuer dich, das du nicht sinnvoll argumentierst,
persoenlich wirst, das nichtmal konkretisierst und anschliessend einfach nur
noch dumm um dich schlaegst.
Schade eigentlich, ich weiss das du auch ab und zu anders kannst.


Teddy, wartet immernoch auf eine Antwort auf seine Frage zu dem naechstlichen
anfassen.

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



Re^11: Elementarschwert (Koomi, 20. Okt 1998, 13:36:47):
~#! rn=Key rt=908882672 rg=d.vland
~#! tid=908867135
Ich hab nie behauptet, dass ich mich ueberall sehr gut auskenne, auch wenn ich
mit jeden/jeder Zweitie laenger gespielt hab. Zumindest solange bis ich wieder
mal die Nase voll hatte von ewigen 'wir stehen in einer Kneipe und ueben bis
zum umfallen'.  Extra solche Dummuebaktionen veranstalten hasse ich, lauf ich
lieber so rum.

Ja, alle meine Figuren sind Wuerste, aber ich hab keine Lust, mir Arbeit zu
machen.

Meint was ihr wollt dazu, ich merk langsam, dass ich meine Meinung allzusehr
durchdruecken will, und das ist nicht gut.

    Halbelf Koomi.
    
-----------------------------------------------------------------------------



Re^17: Elementarschwert (Key, 20. Okt 1998, 13:37:33):
~#! rn=Teddy rt=908883300 rg=d.vland
~#! tid=908867135
Aehm also ...
Bei einem muss ich Morgoth zustimmen ...
Treffen tut man seine Npc immer, und das auch ordentlich :)

Key, kriegt aber doppelt soviel zurueck ,)

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



Re^12: Elementarschwert (Key, 20. Okt 1998, 13:39:37):
~#! rn=Koomi rt=908883407 rg=d.vland
~#! tid=908867135
Schoen ... und warum dann erst gross rumschreien, wenn Du eh danach zugibst
das Du null Ahnung hast?

Machts Spass den Leuten Mist zu erzaehlen? Vielleicht regen sie sich dann
wieder auf und versauen den anderen alles ... 
Wow biste nen ableger von Yantro?

Key

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



Re^18: Elementarschwert (Teddy, 20. Okt 1998, 13:41:00):
~#! rn=Key rt=908883453 rg=d.vland
~#! tid=908867135
Sorry, muss ich dich enttaeuschen, geh mal zum riesigen Feuerdaemon, der ist
fuer Gilden, die nur ueber Spells Schaden machen nicht gerade nett, vor allem
wenn du nen bitteren erwischt hast, wie ich.

Teddy

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



Re^19: Elementarschwert (Key, 20. Okt 1998, 13:41:48):
~#! rn=Teddy rt=908883660 rg=d.vland
~#! tid=908867135
Sorry aber da muss ich Dich enttaeuschen und zwar gewaltig ...

Ich hab den ohne Spells gemacht ...

Key

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



Re^13: Elementarschwert (Koomi, 20. Okt 1998, 13:41:49):
~#! rn=Key rt=908883577 rg=d.vland
~#! tid=908867135
'ich hab nie behauptet, dass ich null Ahnung hab. Ich hab sehr wohl Ahnung von
Katzenkriegern, den Heiligen Orden, der Chaosgilde, den Abenteurern und der
Bierschuettlergilde.

Die Zauberer und die Trves... ja... Da halt ich lieber meine (Spieler)Meinung
hinterm Berg.

    Halbelf Koomi.
    
-----------------------------------------------------------------------------



Re^17: Elementarschwert (Morgoth, 20. Okt 1998, 13:41:50):
~#! rn=Teddy rt=908883300 rg=d.vland
~#! tid=908867135
Damit meine ich Eure brueterei im stillen Kaemmerchen. Ich kann mir wirklcih
nicht vorstellen, dass ihr tatsaechlich mal nachgedacht habt, wieso denn z.b.
Kaempfertools oder andere nette Dinge (Dromring) noch dran sind, waehrend
meine Sachen Stueckchenweise und doch sehr schnell zerlegt werden. Koennte das
etwa??...aber nein, niemals. Ihr seid ja objektiv...

M*

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



Re^19: Elementarschwert (Morgoth, 20. Okt 1998, 13:42:39):
~#! rn=Teddy rt=908883660 rg=d.vland
~#! tid=908867135
Heul doch ;-) Ich schaff den auch wenn ich mich wirklich anstrenge und ich hab
dabei noch weniger Auswahl als Du.

M*

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



Re^18: Elementarschwert (Teddy, 20. Okt 1998, 13:49:44):
~#! rn=Morgoth rt=908883710 rg=d.vland
~#! tid=908867135
jetzt wirds lustig.
Wir wollen mal zusammenfassen:
Dromringe sind in die Balanceueberlegungen der Gilden bei Silvana und der
Tools bei uns im Allgemeinen eingeflossen, daher wurde auch deine Hose
abgelehnt.
Zur Info, fuer Nichteingeweihte: Morgoth wollte ne Hose proggen, diee aehnlich
wie der Dromring funzt, allerdings zusaetzlich zum Ring und dafuer mit
Abzuegen bei anderen Stats, also man hat z.B. 8 LPs und 8 MPs weniger und
dafuer 4 Geschicklichkeit oder Kraft mehr, so als Beispiele mal.

kaempfersachen: Wer hat eigentlich die haertesten Kaempferboni drin und das
sogar NACHDEM wir sie bereits abgewertet haben?
Deine Objekte gehoeren mit zu den staerksten fuer Kaempfer, ich weiss das es
auch andere gibt, aber du hast die massiven Boni eigentlich in jedem neuen
Tool drin gehabt.

Unsere Brueterei im stillen Kaemmerlein wuerd ich eigentlich nicht als
'anfassen' bezeichnen, im uebrigen weisst du ganz genau, dass die Diskussion
und eigentlich auch die Abstimmung ueber das ES schon vor Wochen war, es gab
da schlicht und ergreifend nen Missverstaendnis mit dem rausschicken der Mail
an dich, also tu nicht so scheinheilig, gefragt ob du sie bekommen hast und
dich damit von dem beschluss informiert hab ich dich shcon oefter.

Heiliger hammer: Morgoth selbst hat ihn vor kurzem nochmal zur Diskussion
gestellt, allerdings wollte er hierbei die WC auf 200 hochsetzen UND das Teil
nichtmehr unique haben oder wenigstens eins von beidem wenns ginge.

Teddy, mal einiges richtigstellend

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



Re^20: Elementarschwert (Teddy, 20. Okt 1998, 13:51:38):
~#! rn=Morgoth rt=908883759 rg=d.vland
~#! tid=908867135
Ich heule nicht, hab ich nicht noetig, du kennst meine Infos und meine Meinung
zu dem schon laenger, nen NPC der auf 100% Nomagic kommen kann ist fuer mich
jedenfalls kein NPC, mit dem ich an deiner Stelle prahlen wuerde oder willste
das etwa auf einmal abstreiten, das es geht.

Teddy, hat auch den riesigen mit Spelldefend nach 90 Minuten und viel Hilfe
platt gekriegt.

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



Re^20: Elementarschwert (Catweazle, 20. Okt 1998, 13:51:44):
~#! rn=Morgoth rt=908883759 rg=d.vland
~#! tid=908867135
Irgendwie werd ich das Gefuehl nicht los, das diesem Thread mit dieser 
Schlagzahl lediglich drei bis vier Leute die Absicht haben, sich gegenseitig
die Koepfe einzuschlagen.
Warum macht ihr das nicht ueber nen Kanal, dann wird wenigstens nicht jeder
damit belaestigt. Dies ist ein freundscahftliher Rat, es hat daher keinen
Zweck mich darauf hinzuweisen, das ich den Thread ja uebergehen kann, wenn ich
will.
Ich koennte allerdings auch den Thread nach diskussion verlegen, wo er eher
hingehoeren wuerde.

Yours truly,
     Catweazle

PS: Und ja, das _ist_ eine Drohung :)

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



Re^19: Elementarschwert (Boing, 20. Okt 1998, 14:07:45):
~#! rn=Teddy rt=908884184 rg=d.vland
~#! tid=908867135
Ergaenzend noch ein Kommentar zum scheinbaren Uebergewicht von Kaempfern
im Balance-Team: Meiner Meinung nach ist die Kaempfergilde die von der
Balance her gesehen kritischste Gilde im MorgenGrauen. Deswegen halte
ich es durchaus fuer sinnvoll hier mehr als einen kompetenten Spieler
im Team zu haben. Vor allem wenn man noch bedenkt, dass man bei den
Kaempfern Rassenabhaengigkeiten wie sonst nirgends beachten muss.
Die Abenteurer dagegen sind am unkritischsten, hier kann sich nichts
aufmultiplizieren. Die Groesse des Teams muss beschraenkt sein, weil sonst
konstruktive Diskussionen unmoeglich werden. 7 Leute (momentane Groesse)
sind schon hart an der Grenze. Insofern kann man nicht von jeder Gilde
noch zusaetzlich einen Spieler dazu nehmen, man muss sich einfach auf
das Wissen durch Zweities oder auf 'externe' Beratung verlassen.

Zum Vorwurf wir wuerden die Sachen von Morgoth besonders kritisch 
begutachten: Das ist zweifellos richtig, Du hast es Dir aber selbst
zuzuschreiben. Wenn man jedes Objekt am Maximum oder drueber haben 
muss, dann faellt zwangslaeufig die besondere Aufmerksamkeit der
Balance auf einen. Wenn nicht jedes Objekt so extrem sein muesste,
dann wuerde es leichter fallen auch mal etwas sehr gutes durchgehen zu 
lassen. Aber es muss ja jedes Objekt max sein, Kaempferboni haben, 
Resistenzen setzen, heilen und was weiss ich noch alles koennen.
Und es ist definitiv nicht so, dass gleich alles schlecht gemacht wird
nur weil es von Dir kommt (hier kann ich jetzt nur fuer mich sprechen).
Nur weil ich nicht gleich himmelhoch jauchze, wenn Du einen Vorschlag
machst, sondern erst einmal laenger darueber nachdenke, heisst das nicht,
dass jeder Deiner Vorschlaege schlecht ist. Z.B. bist Du an der letzten
Aenderung der Kaempferskills indirekt beteiligt gewesen, weil ich
gesehen habe, dass mit dem alten Skill eine gute Waffe fuer Abenteurer
nicht zu programmieren war. Aber solche Entscheidungen treffe ich nicht
von einer Sekunde zur naechsten!

So, ich hoffe ich konnte mal ein paar Sachen klarstellen und vielleicht
beruhigt sich dann auch Morgoth mal wieder.

  Boing

PS: Ach ja, die Anrede oben ist etwas wirr, faellt mir gerade auf, mit
   'Du' war jeweils Morgoth gemeint. :)

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



Re^11: Elementarschwert (Ineluki, 20. Okt 1998, 16:10:12):
~#! rn=Key rt=908882672 rg=d.vland
~#! tid=908867135
ich glaub ich hab auch in jeder Gilde nen Zweiti.. davon wage ich aber nur 1
wirklich gut und 1 recht gut und eine mittelmaessig einzuschaetzen ...

Ine* oder so

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



Re^6: Elementarschwert (Arelion, 20. Okt 1998, 17:11:32):
~#! rn=Morgoth rt=908880978 rg=d.vland
~#! tid=908867135
Als jemand, der seit ueber 10 Jahren Rollenspielsysteme entwickelt, fuehl ich
mich jetzt doch mal genoetigt etwas furchtbar ketzerisches zu sagen ...

Ich Zweifel daran, dass man mit einem Feuerball, jedenfalls einem fuer o(20)
KP, mehr Schaden macht, als mit einem Treffer einer scharfen Hiebwaffe!

Mit vergleichbaren Konzentrationen verbessert man Bannkreise, wirft 7
Bumeraenge und schaetzt ein paar mal wie gut z.B. eine Ruestung ist. Von mir
aus kann man mit der Konzentration ein paar trockene Zweige entzuenden. Das so
erzeugte Feuer ist von der Groessenordnung weniger Fackeln!
Trifft ein solches Feuer den Kopf mag es ein paar haessliche Verbrennungen
geben und ggf. Blendung. Auf einer bekleideten Koerperstelle (Leder, Metall)
ist es annaehernd bedeutungslos! Was ein Treffer mit einer Axt bewirkt, mag
der Zweifler im Selbstversuch erproben.

Arelion - macht auf immer wieder gern gemachte Fehler bei Rollenspielsystemen
aufmerksam. :)

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



Anmerkung (Feuerwehr, 20. Okt 1998, 18:08:21):
Hi!

Nach all diesem Thread moechte ich zwei Dinge anmerken.

Die Chaosgilde ist doch immernoch die beste Gilde.
Kaempfer in die Klerikergilde.

  Danke fuer ihre Aufmerksamkeit.

     Feuerwehr.

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



Re^7: Elementarschwert (Mahatmu, 21. Okt 1998, 11:06:58):
~#! rn=Arelion rt=908903492 rg=d.vland
~#! tid=908867135
Jo, Du hackst mir mal die HAnd ab und ich stoss Dir dafuer ein oder zwei
Fackeln auf den Lederwams, bis sie ausgehen. Nachdem Du dann schone gar
bist, werfen wir Dich den roten Trollen vor.

Gloin

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



Re^13: Elementarschwert (Koomi, 21. Okt 1998, 11:19:07):
~#! rn=Key rt=908883577 rg=d.vland
~#! tid=908867135

Yantro und Freund haben beide das Handtuch geworfen, weil sie es nicht mehr
ausgehalten haben, sich mit arroganten und selbstherrlichen Sehern abzugeben,
die glauben, nur weil sie den oder diesen spieltechnischen status haben, dass
sie sich auffuehren koennen wie sie wollen, Key.

Wenn ihr unbedingt wollt, dann seht halt in mich einen 'Ableger'. Eigentlich
will ich nur die Entwicklung einbremsen, die hier im MUD sich extrem negativ
auf die 'Anfaenger' und die normalen Spieler sich auswirkt.

Bevor ich wieder eine neue Flame provoziere: Es gibt sehr wohl einen gewissen
Anteil der Seherschaft, der nicht so ist und sich bemueht, emoeglichst das
Gleichgewicht im MUD zu erhalten und auch recht nett und zuvorkommend ist.

Na ja, alles hat alt seine zwei Seiten, nur das mit der Versuchung ist halt so
seine Sache.... :(

    Halbelf Koomi.
    
-----------------------------------------------------------------------------



Re^14: Elementarschwert (Mahatmu, 21. Okt 1998, 11:20:56):
~#! rn=Koomi rt=908968747 rg=d.vland
~#! tid=908867135
Ueberleg mal, was Du hier rumerzaehlst. Freund hat seine Gruende dargelegt,
die hatten m.E. nicht viel mit Sehern zu tun und Yantro ist ein etwas
anderes Thema, zu der Zeit hat Dein Charakter noch nicht mal existiert.

Gloin

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



Re^15: Elementarschwert (Koomi, 21. Okt 1998, 11:25:27):
~#! rn=Mahatmu rt=908968856 rg=d.vland
~#! tid=908867135
Die Sache mit Yantro ist mir bekannt, weil mir beim Stoebern im Archiv der MPA
so einiges diesbezueglich aufgefallen ist.

Und Freund... na ja, bei ihm weiss hab ich so einiges material gefunden und
zum Teil das s selbst miterlebt.

(*seufz* immer korrigierend)

    Halbelf Koomi.
    
-----------------------------------------------------------------------------



Re^16: Elementarschwert (Key, 21. Okt 1998, 11:34:31):
~#! rn=Koomi rt=908969127 rg=d.vland
~#! tid=908867135
Du erinnerst mich an einen gewissen Magier der so launisch war wie eine Frau
...
Heute sagen wir dies morgen mal was anderes ...

Hast Du ein Identitaetsproblem?

Key kuemmert sich um seine Faelle =;)

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



Re^14: Elementarschwert (Neb, 21. Okt 1998, 11:34:56):
~#! rn=Koomi rt=908968747 rg=d.vland
~#! tid=908867135
So ein Quatsch, Koomi, Yantro und Freund sind aus anderen Gruenden nicht mehr
im MG, und wer keine Ahnung davon hat, sollte so einen Mist nicht einfach hier
in der Zeitung behaupten.

Neb.

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



Re^14: Elementarschwert (Aline, 21. Okt 1998, 12:36:20):
~#! rn=Koomi rt=908968747 rg=d.vland
~#! tid=908867135

Zitat:

Yantro und Freund haben beide das Handtuch geworfen, weil sie es nicht mehr
ausgehalten haben, sich mit arroganten und selbstherrlichen Sehern
abzugeben,..
Zitatende

Die Sache mit Freund kann ich nicht beurteilen, aber dass Yantro mit den
arroganten Sehern hier Probleme hatte, hoer ich zum erstem mal.

Aline scheint an Gedaechtnisschwund zu leiden

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



Re^15: Elementarschwert (Hobo, 21. Okt 1998, 12:44:55):
~#! rn=Aline rt=908973380 rg=d.vland
~#! tid=908867135
Und Freund hat definitiv NICHT wegen irgendwelchen Sehern mit nem zu dicken
Ego das MG verlassen.

Koomi, red' nur von Sachen, von denen Du Ahnung hast!

  Hobo

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



Re^14: Elementarschwert (Hood, 21. Okt 1998, 13:56:17):
~#! rn=Koomi rt=908968747 rg=d.vland
~#! tid=908867135
sei mal mit deiner meinung ueber die gruende des abgangs anderer sehr
vorsichtig, wenn du nichts genaues darueber weisst. deine meinung zu
freund und yantro liegt meilenweit neben den tatsachen.

------
patryn

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



Re^15: Elementarschwert (Key, 21. Okt 1998, 14:26:57):
~#! rn=Hood rt=908978177 rg=d.vland
~#! tid=908867135
Leute ich glaub Koomi hats inzwischen gerafft ....

Key

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



Re^16: Elementarschwert (Schoko, 21. Okt 1998, 14:29:58):
~#! rn=Hobo rt=908973895 rg=d.vland
~#! tid=908867135
Ich wuerd sogar fast soweit gehen zu behaupten, dass es umkekehrt war ...
siehe den neuen mpa-Zweitie von Yantro ;))

Schoko -> Schmarrn -> Muell

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



Re^21: Elementarschwert (Wurzel, 21. Okt 1998, 17:54:17):
~#! rn=Catweazle rt=908884304 rg=d.vland
~#! tid=908867135
och catty, lass mir doch meinen spass. ich freu mich immer, wenn jemand
anfaengt sich verbal den schaedel einzuschlagen :)

wurzel

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



Mal watt neues (Morgoth, 10. Nov 1998, 11:11:56):
Endlich endlich hab ich mal eine Zustimmung fuer ein Objekt bekommen. Hat zwar
fast zwei Monate gedauert, aber jetzt gibt es dieses Objekt endlich.
Wo? Na bei mir!
Genauer? Katas!
Noch interessiert? Nein...Trottel!
Ja....viel Spass beim sterben!

M*

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



Endlich ! (Morgoth, 11. Nov 1998, 23:08:58):
Wer mal wieder sterben will, sollte sich in den Katas umsehen. 

Viel Spass....

Morgoth, der Herrscher der Daemonen

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



Re: Endlich ! (Tilly, 11. Nov 1998, 23:12:16):
~#! rn=Morgoth rt=910825738 rg=d.vland
~#! tid=910825738
'Herrscher der Daemonen' ? *lach* ... pass mal auf Dein betende Bande auf.
Dafuer opfern sie Dich auf dem Altar des Lembold. >:)

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



Re: Re: Endlich ! (Neb, 11. Nov 1998, 23:13:12):
~#! rn=Tilly rt=910825936 rg=d.vland
~#! tid=910825738
Vorlaeufig begnuegen wir uns damit, seine Daemonen auf dem Altar des Lembold
zu opfern ;)

Neb.

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



Re: Endlich ! (Key, 12. Nov 1998, 09:48:23):
~#! rn=Morgoth rt=910825738 rg=d.vland
~#! tid=910825738
Pff traeum weiter!
"Herscher der Daemonen"

Ueber unsere Haustiere herrschen nur wir!
Nicht irgendson popeliger Elementar :)

Key schaut trotzdem mal nach ;)

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



Himmlisches Wunder (Morgoth, 20. Nov 1998, 11:01:47):
Es ist tatsaechlich geschehen. Fast alles ist der Vorsehung entsprechend
gelaufen, es gibt nun endlich einen Himmel im MG. Natuerlich nur bei mir,
Bugfrei und Spielerfein^h^h^hreundlich.
Viel Spass

M*

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



Himmel (Morgoth, 23. Nov 1998, 23:39:38):
Hab noch ein bischen gebastelt...morgen frueh gehts weiter...also schoen
sterben.

Fuer die Elementargilde: Hab was an den Haenden geaendert ;-)))

M*

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



Himmel, die ?dritte? (Morgoth, 24. Nov 1998, 13:42:42):
Ein paar Leute haben gemeckert, jetzt isses eingebaut...ihr wisst schon. Aber
nur die neuen.

M*

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



Re: Himmel, die ?dritte? (Sharia, 24. Nov 1998, 16:34:43):
~#! rn=Morgoth rt=911914962 rg=d.vland
~#! tid=911914962
wenn du damit die fluegel meinst: scheint nich zu gehen .. ich hatte neue ...
Sharia

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



Engel & Satan (Morgoth, 26. Nov 1998, 09:47:32):
Die einen haben was neues dabei, der andere hat was geaendertes auf.

M*

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



Trauer um Daemonen **schnief** sind sie alle weg. (Morgoth,  3. Dez 1998, 12:39:09):
Naja, neeeee, nicht abgehaengt, aber da es Atalan nicht mehr gibt und auch
fuer Zauberer ein neues Gimmick drin ist, sollten die bald sehr spaerlich
gesaet sein, meine armen, kleinen, schwachen, hilflosen Daemonen.

M*, grinsend und huepfend und sich freuend ;-)))

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



Aenderung Paraportal (Morgoth, 14. Dez 1998, 22:03:28):
Etwas nettes...faire telnet-spieler werden sich freuen.

M*

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



Hail Teamkampf ! (Morgoth,  7. Jan 1999, 23:52:50):
Dank Rochus und seiner tollen Dokumentation (mit der Endung .c) sind nun auch
meine Orks ein 'starkes' Team. 
Kein Angst, es hat sich nix an den Werten geaendert, sie gehen halt nur in
'Formation', wenn die Moeglichkeit besteht.

Viel Spass !! ];-))

M*

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



Re: Hail Teamkampf ! (Key,  8. Jan 1999, 00:21:31):
~#! rn=Morgoth rt=915753170 rg=d.vland
~#! tid=915753170
ARGL!
Jetzt sag blos net die bleiben jetzt noch oefter auf einem Haufen als sowieso
schon?

Key

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



Re: Re: Hail Teamkampf ! (Ringor,  8. Jan 1999, 10:28:02):
~#! rn=Key rt=915754891 rg=d.vland
~#! tid=915753170
Wieviele Orks auf einem Fleck stehen, wird wohl weiterhin (MG-)Random bleiben.

Aber wenn Du auf mehrere gleichzeitig triffst, ist die Wartezeit auf Lars
jetzt etwas kuerzer.

Zumindest wuerde ich Morgoths Ankuendigung so interpretieren,
Ringor

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



Re^3: Hail Teamkampf ! (Morgoth,  8. Jan 1999, 12:37:54):
~#! rn=Ringor rt=915791282 rg=d.vland
~#! tid=915753170
];-)

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



Re^3: Hail Teamkampf ! (Key,  9. Jan 1999, 20:57:20):
~#! rn=Ringor rt=915791282 rg=d.vland
~#! tid=915753170
Hmm geh mal von folgendem aus:
Die Orks haben Autofolge ein, einer ist der Leader und laeuft rum wie die
anderen auch ...
Tja das prob jetzt ist dann wohl nur das ALLE ihm folgen werden wegen
autofolge ...
Und das hat dann nix mehr mit random zu tun ,)

Key

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



Re^4: Hail Teamkampf ! (Anatol,  9. Jan 1999, 21:01:03):
~#! rn=Key rt=915915440 rg=d.vland
~#! tid=915753170
Ernsthaft - habt ihr etwas anderes als einen neuen Schwung in der 
Spirale erwartet? Viel Vergnuegen...

Anatol - hat eben das Wort "Rente" gehoert :o)


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



Re^4: Hail Teamkampf ! (Padreic,  9. Jan 1999, 21:02:19):
~#! rn=Key rt=915915440 rg=d.vland
~#! tid=915753170
Dachtest Du etwa das mg-random haette was mit random zu tun, key?

Padreic

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



Re^5: Hail Teamkampf ! (Feuerwehr,  9. Jan 1999, 21:06:31):
~#! rn=Anatol rt=915915663 rg=d.vland
~#! tid=915753170
Hmpf!

Meckern Meckern Meckern Anatol.
Weder konstruktiv noch gerecht, wo der Teamkampf nicht mal aktiv ist.

Werd Rentner, setz Dich in Dein Haus und starr die Wand an.

   Feuerwehr.

PS: Solche Artikel sind weder fuer Spieler noch fuer die programmierenden
    Magier hilfreich. Hmpf. So.

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



Re^6: Hail Teamkampf ! (Anatol,  9. Jan 1999, 21:10:58):
~#! rn=Feuerwehr rt=915915991 rg=d.vland
~#! tid=915753170
Hey, hast Du was gegen meine Waende?

Anatol


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



Re^4: Hail Teamkampf ! (Morgoth, 10. Jan 1999, 11:48:12):
~#! rn=Key rt=915915440 rg=d.vland
~#! tid=915753170
Woher weisst Du, dass sie autofolge anhaben? Haben sie naemich nicht. Wozu
auch, haben ja nen Master, der sie laufen laesst.
M*

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



Re^5: Hail Teamkampf ! (Hangover, 10. Jan 1999, 11:49:00):
~#! rn=Morgoth rt=915968892 rg=d.vland
~#! tid=915753170
Hm...

Ich versteh die Aufregung nicht - bei 3 Orks in einem Raum ist man
eh sofort tot.

Hangover->schmarrn()

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



Re^5: Hail Teamkampf ! (Key, 11. Jan 1999, 10:52:31):
~#! rn=Morgoth rt=915968892 rg=d.vland
~#! tid=915753170
Hab doch nur mal ne Theorie aufgestellt ;)

Key

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



'Feige Orks' (Morgoth, 13. Jan 1999, 14:28:57):
Tja, leider ist es aus mit der schoenen Zeit. Rochus hat kurz vor dem Reboot
noch einen kleinen 'Bugfix` eingebaut. Meine Orks kaempfen jetzt als auch aus
der letzten Reihe mit ;-))

Danke an Rochus. Ich widme Dir dafuer die erste Spielerleiche !

M*

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



Re: 'Feige Orks' (Mahatmu, 13. Jan 1999, 14:30:19):
~#! rn=Morgoth rt=916237737 rg=d.vland
~#! tid=916237737
Schaetzem la, wenn Du sie etwas auf akzewptable Werte zurueckstutzt,
wird auch noch jemand mit den Orks kaempfen ...
Bloedsinn.

Gloin

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



Re: Re: 'Feige Orks' (Morgoth, 13. Jan 1999, 14:30:51):
~#! rn=Mahatmu rt=916237819 rg=d.vland
~#! tid=916237737
Kannst Du das nochmal auf Deutsch schreiben?
M*

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



Re^3: 'Feige Orks' (Mahatmu, 13. Jan 1999, 14:32:36):
~#! rn=Morgoth rt=916237851 rg=d.vland
~#! tid=916237737
Noe, der Artikelx wurdey etraz mit Buchstaben versehen, um Dein Grosshirn zu
testen.
Durchgefallen.

Gloin

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



Re: 'Feige Orks' (Asmodis, 15. Jan 1999, 00:12:41):
~#! rn=Morgoth rt=916237737 rg=d.vland
~#! tid=916237737
Hmm, wieso kaempfen sie aus der letzten Reihe mit ? ich denke, da kann man
nicht angreifen ...

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



scoreamulett (Patryn, 15. Jan 1999, 10:23:41):
hi leute

das scoreamulett hat paar kleine kosmetische veraenderungen erfahren,
ein zusatz auf wunsch von ivo:

neuer befehl 'meldung [lebenspunkte|magiepunkte|<text>]', da meldet man
halt seinen derzeitigen zustand an alle im raum, gibt man nix als
meldung an, wird hp und sp gemeldet, man kann aber auch gezielt eines
von beiden melden oder nen sinnlosen text per meldung zum besten geben.
ivo meinte, sowas waer fuer teamkampf gut...nun ja, wenn er meint :)

------
patryn

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



Re: Re: 'Feige Orks' (Rochus, 15. Jan 1999, 13:17:00):
~#! rn=Asmodis rt=916359161 rg=d.vland
~#! tid=916237737
Zaubersprueche gehen auch von hinten, je nach Spruch.

  Rochus

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



Re: scoreamulett (Boing, 15. Jan 1999, 13:19:58):
~#! rn=Patryn rt=916395821 rg=d.vland
~#! tid=916395821
Kann man das ignorieren?

Boing denkt . o O (noch mehr Gescrolle im Kampf)

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



Re: Re: scoreamulett (Karic, 15. Jan 1999, 16:52:50):
~#! rn=Boing rt=916406398 rg=d.vland
~#! tid=916395821
zumal das doch gar nich not tut.
wozu gibbet denn team info?

Karic denkt .oO(tot dem scroll)

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



Re: 'Feige Orks' (Gnome, 15. Jan 1999, 16:55:07):
~#! rn=Morgoth rt=916237737 rg=d.vland
~#! tid=916237737
hi,

ich frage mich grade, warum man ein super-schweres gebiet, das sowieso
jeder 3. meidet, noch schwerer machen muss?
nix gegen dich morgoth, du bist mir eigentlich recht sympathisch.
aber teamkaempfende (para-)vland-orks sind ja echt der gipfel.

gnOme

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



Re: Re: 'Feige Orks' (Key, 15. Jan 1999, 19:18:08):
~#! rn=Gnome rt=916419307 rg=d.vland
~#! tid=916237737
Hmm also mit jeder 3. liegste wohl sehr weit von der Wahrheit weg ;)
Sagen wir alle bis auf 3, dass triffts eher :)

Hmm und nochmal, die Orks haben auch vorher im Prinzip schon Teamkampf
beherscht. Nur war es bisher das was Morgoth selbst geschrieben hat. Jetzt ist
es der von Rochus :)

Key hofft das er das so richtig verstanden hat :)


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



Galeere fahren lohnt sich wieder ??? (Morgoth, 15. Jan 1999, 21:00:34):
Schau einfach mal 'rein'. 

M*

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



Re^3: 'Feige Orks' (Asmodis, 15. Jan 1999, 22:58:00):
~#! rn=Rochus rt=916406220 rg=d.vland
~#! tid=916237737
Hmm, soweit ich diesen einfuehrenden Artikel verstanden hatte, kann man
Kampfspells nur aus der 1. und der 2. Reihe abfeuern und in der 3. Reihe gehen
nur die defensiven und Heilspells ..... Ansonsten war das etwas bloed erklaert
:-)

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



Re^3: 'Feige Orks' (Morgoth, 16. Jan 1999, 00:17:10):
~#! rn=Rochus rt=916406220 rg=d.vland
~#! tid=916237737
Ein Ork aus der dritten Reihe ruft: 'Bueck Dich, Du Sau !' ?? 

Meinst Du sowas?

M*

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



Re^3: 'Feige Orks' (Azzuro, 18. Jan 1999, 11:18:53):
~#! rn=Rochus rt=916406220 rg=d.vland
~#! tid=916237737
Nur als Idee fr einen Relaunch. Wenn Zaubersprueche auch von hinten gehen,
dann sollte auch mal ab und zu ein Zauberspruch bei voelligem Versagen vorne
in die erste eigene Kampfreihe einschlagen.

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



Re^4: 'Feige Orks' (Ringor, 18. Jan 1999, 11:22:31):
~#! rn=Azzuro rt=916658333 rg=d.vland
~#! tid=916237737
Na sauber ... fuer NPCs gerne, aber nicht fuer Spieler.

Sonst hagelt es naemlich unfreiwillige PKs.

Ringor

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



Re^5: 'Feige Orks' (Wurzel, 18. Jan 1999, 19:02:11):
~#! rn=Ringor rt=916658551 rg=d.vland
~#! tid=916237737
ein bisschen risiko muss sein. wenn es derart unfreiwillig ist, muss man es
ja nicht als pk werten :)

wurzel

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



Re^6: 'Feige Orks' (Ringor, 18. Jan 1999, 22:07:40):
~#! rn=Wurzel rt=916686131 rg=d.vland
~#! tid=916237737
Tjaaa ... schade nur, dass dann gerade die kleinen Spieler, die ein Team
vielleicht am noetigsten haetten, keine Leute mehr finden werden, die sich zu
ihnen ins Team trauen. ;-)

Ringor sagt: trau keinem unter 100%.

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



Para-Buergermeister (Morgoth, 26. Jan 1999, 15:25:05):
Dieser alte Trottel war ja zu doof. Naja, ich hab ihn getreten und er hats
wohl auch verstanden.

M*

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



Re: Para-Buergermeister (Aline, 26. Jan 1999, 15:36:26):
~#! rn=Morgoth rt=917364305 rg=d.vland
~#! tid=917364305

Na ob treten bei Doofheit hilft?

Aline (verbeisst sich einen fiesen Kommentar)

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



Aeh, **schaem** kleiner Nachtrag (Morgoth,  2. Feb 1999, 10:37:05):
Wem es noch nicht aufgefallen sein sollte, der Vampir is nu etwas haerter,
besser gesagt, so wie er sein sollte. Leider war da ein return anstatt eines
break ;-(( **pfeif**
Bedankt Euch uebrigens bei Nonne, die mich darauf aufmerksam gemacht hat. 

M*

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



Re: Aeh, **schaem** kleiner Nachtrag (Jehova,  3. Feb 1999, 18:39:02):
~#! rn=Morgoth rt=917951825 rg=d.vland
~#! tid=917951825
hm. ich wuerd' auch ganz gern mal fehler im quellcode suchen. wie war gleich
der befehl dazu ? :)

J*

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



Re: Re: Aeh, **schaem** kleiner Nachtrag (Ringor,  3. Feb 1999, 20:57:39):
~#! rn=Jehova rt=918067142 rg=d.vland
~#! tid=917951825
Der Befehl lautet "unterschreibe vertrag".

Hat sogar noch ganz viele bunte neue Spielzeuge gleich im Paket. Naehere
Informationen dazu bei einem Lvl 26+ Magier Deiner Wahl.

Ringor. Hilft gerne.

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



Re^3: Aeh, **schaem** kleiner Nachtrag (Jehova,  4. Feb 1999, 14:36:48):
~#! rn=Ringor rt=918075459 rg=d.vland
~#! tid=917951825
Oj je. Dann muss man sich ja auch mit den ganzen nervigen Spielern rumaergern
... Warum erschiesst Du mich nicht gleich ? :)

J*

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



Re^3: Aeh, **schaem** kleiner Nachtrag (Asmodis,  4. Feb 1999, 22:07:13):
~#! rn=Ringor rt=918075459 rg=d.vland
~#! tid=917951825
Jo, Ringor ist dafuer Experte :-)

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



Zombievirus (Morgoth,  6. Feb 1999, 17:30:18):
Hiho,

ich hab den Zombievirus mal etwas haerter gemacht. Dafuer gibt es jetzt auch
mehr Stellen, an denen man ihn bekommen kann.
Bedankt Euch bei Teddy, der das da unten zu lasch fand.

M* wuenscht viel Spass beim Sterben ;-))

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



Re^4: Aeh, **schaem** kleiner Nachtrag (Grimmborn,  7. Feb 1999, 01:39:41):
~#! rn=Jehova rt=918139008 rg=d.vland
~#! tid=917951825
ad 1: Nein.
ad 2: This could be arranged...

Grimmborn der Atheist

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



Re: Zombievirus (Asmodis,  7. Feb 1999, 19:09:17):
~#! rn=Morgoth rt=918322218 rg=d.vland
~#! tid=918322218
Eine Stelle kennt man jetzt ja: Beim Priester in der Traukapelle wahrend einer
Hochzeit :-)

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



Re: Zombievirus (Morgonate,  8. Feb 1999, 12:10:54):
~#! rn=Morgoth rt=918322218 rg=d.vland
~#! tid=918322218
Hmm, was immer haerter bedeuten mag. Kann man den etwa nicht mehr mit der
Keule erschlagen? ;)

-> schmarrn
Morgonate

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



Re: Zombievirus (Teddy,  9. Feb 1999, 20:59:54):
~#! rn=Morgoth rt=918322218 rg=d.vland
~#! tid=918322218
Tja, da ich mal wieder der Buhmann sein soll, hier ein paar klaerende Worte:

Ich habe nicht gesagt, die Katas seien so wie sie sind zu lasch.
Ich habe allerdings gesagt, dass wenn M* das Tool, das er da anschliessen
moechte da reinpackt, sowohl NPC als auch Umgebung nicht vergleichbar sind mit
der anderen Stelle im MG wo es sowas gibt.
Ich habe keine konkreten Vorschlaege gemacht, zumindest nicht das ich wuesste
und gerade das Verstaerken des Zombievirus halte ich persoenlich fuer den
falschen Weg, aber das ist M*'s Entscheidung als Magier und nicht meine.
Im uebrigen kann sich hoffentlich jeder vorstellen, das ich ne persoenliche,
private Meinung habe und jedes andere Balanceteammitglied auch ne eigene,
private Meinung hat. Zu dem besagten Tool habe ich lediglich MEINE Meinung
geaeussert und die nichtmal M* gegenueber. Wenn er es also geaendert hat so
nicht aufgrund eines offiziellen Beschlusses und wenn er meint nur aufgrund
meiner PRIVATmeinung sein gebiet aendern zu muessen, ist es gut das ich das
weiss, bislang wusste ich naemlich nciht, das ich solche Entscheidungen ueber
sein Gebiet zu treffen habe, erst recht nicht alleine. ;_)

Ich werde diesen Artikel sicherlich bereuen, aber ich hab auch keine Lust,
UNGERECHTFERTIGT privater Pruegelknabe gewisser Leute zu sein.
Im uebrigen bin ich gerne bereit, mich persoenlich mit jedem zu unterhalten,
der sich darueber sachlich unterhalten moechte.

Teddy, NICHT i.A. des Balanceteams!

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



Kleine Entdeckung (Koomi, 12. Feb 1999, 13:43:30):
Als ich so wieder einmal beim Handelskontor einkaufen, war fiel mir ein 
kleiner Pfad auf, der unversehens zu einen kleinen, lauschigen Strand fuehrt.
Er scheint sich recht gut zum Baden eignen, denn es stimmt wohl alles hier:
Sonne, Strand und ein angenehm warmes Meer nebst der einen oder anderen
Einrichtung.

Have Fun!


  -- Halbelf Koomi. 
 

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



Re: Kleine Entdeckung (Koomi, 14. Feb 1999, 10:46:03):
~#! rn=Koomi rt=918827010 rg=d.vland
~#! tid=918827010
Fuer die Leute, die schon die ein gewisses Ungetuem gesehen haben: ich hab da
wohl ein wenig uebers Ziel hinausgeschossen, da es bereits zu einer Zeit
entstanden ist, wo die ganzen neuen 'Buerden' (das mit rein-raus,
teamkampf...) noch gar nicht da waren.

Deshalb musste ich sie etwas anpassen, jetzt muesste es moeglich sein.


  -- Halbelf Koomi. 
 

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



Heilwurzeln (Morgoth, 26. Feb 1999, 10:21:51):
Sind jetzt units. Koennte also sein, dass sie mit den alten irgendwie
durcheinander kommen. spaetestens nach dem reboot ist alles wieder ok.

M*

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



Mal wieder was neues (Morgoth,  5. Mar 1999, 22:47:12):
In den Katas gibts jetzt an einer Stelle richtig haue. Dafuer bekommt man aber
auch eine Belohnung, so das MG-Random es will ;-))

Viel Spass beim sterben ... flames an /dev/null oder /org/balance ;-))

M*

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



Re: Mal wieder was neues (Teddy,  7. Mar 1999, 17:54:57):
~#! rn=Morgoth rt=920674032 rg=d.vland
~#! tid=920674032
Wir haben nen eigenes Verzeichnis?

Teddy, sucht gleich mal die Flames in /org/balance ;)

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



Daemonenaxt (Morgoth,  8. Mar 1999, 16:57:00):
Ein bischen geaendert. Wahrscheinlich werden nur die Kaempfer was merken ;-)

M*

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



Mal wieder was neues (Morgoth, 18. Mar 1999, 08:31:56):
Eigentlich muesste ich das ja jetzt in gilden.zauberer cross-posten, aber wenn
die Zauberluschis hier nicht lesen, sind sie selber schuld ;-))
Es scheint, als haetten ein paar Daemonen ihre Kenntnisse ueber die
Dimensionstore erweitert. Dadurch sind sie in der Lage, mehr von den begehrten
Zaubererutensilien aus der Magier-Dimension zu bekommen.

Alles klar?

Morgoth

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



Niemand hat noch damit gerechnet.... (Morgoth, 25. Mar 1999, 11:31:52):
trotzdem ist es passiert.
Ich habe mal ein paar fehlende Infos in ein paar NPCs eingebaut...
Rennt jetzt nicht sofort los und fragt alles aus, es ist erst der Anfang. Ich
hab noch ein paar Seiten Infos hier rumliegen. Sollte nur eine kleine Warnung
sein ;-))

Morgoth ist nicht krank...

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



Re: Niemand hat noch damit gerechnet.... (Nonne, 25. Mar 1999, 11:35:37):
~#! rn=Morgoth rt=922361512 rg=d.vland
~#! tid=922361512
Hat einer deinen Charakter geklaut? Oder haste die NPC schwieriger gemacht 
und willst uns alle sterben sehen? Mit rechten Dingen geht das jedenfalls
nicht zu...

Nonne, Angst habend

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



Re: Re: Niemand hat noch damit gerechnet.... (Silvana, 26. Mar 1999, 00:31:59):
~#! rn=Nonne rt=922361737 rg=d.vland
~#! tid=922361512
Irgendwie erinnert mich das an einen Asterix... Das beruehmte Wort zu
viel. Reizt sie nicht, ein Wort zu viel kann eine Katastrophe ausloesen.
Verflixt, welcher Asterix war das noch...?

Wenn Morgoth' NPCs da aehnlich sind wie die Gallier, heisst dann
stellen einer falschen Frage ->die().

  SIlvana (wird alt und vergesslich)

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



Re: Niemand hat noch damit gerechnet.... (Asmodis, 26. Mar 1999, 01:50:59):
~#! rn=Morgoth rt=922361512 rg=d.vland
~#! tid=922361512
Hmm, wenn du nicht krank bist, hast du Langeweile ? :-)

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



Re^3: Niemand hat noch damit gerechnet.... (Jimdigriz, 26. Mar 1999, 19:51:33):
~#! rn=Silvana rt=922408319 rg=d.vland
~#! tid=922361512
Hiho,

Es war Asterix in Spanien. 
Der Zenturio von (Babaorum?) und Hasenfus,
welcher ja fuer Pepe verantwortlich war,
wollten die Gallier um herausgabe von Pepe bitten.
Der Typ von Babaorum meinte noch zu Zenturio 
Hasenfus was wie "du kennst sie nicht, lass mich reden",
weckte Majestix aus dem Mittagsschlaf (welcher dann 
sogar noch auf seinem Schild lag). Nachdem
Majestix die herausgabe abgeleht hatte, 
wurde Hasenfus ungeduldig und hat irgendwas
(ich korrigiere) "Zum Angriff" befohlen!
Woraufhin erstmal die Gallier die zwei Zenturien
ueberrant haben und die Garnison geplaettet.

Danach, Hasenfus aus seiner Grube "Was war denn das ?"
Sein Kollege "Das war ein Wort zuviel."..

Ciao,
 JdG

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



Holzfaeller in sicht (Xand, 29. Mar 1999, 20:53:32):
Schon vor einiger Zeit haben sich einge Abenteurer auf den Weg gemacht, ein 
Gebiet zu finden, das sich optimal fuer den Holzabbau eignet. Nun da sie 
endlich fuendig geworden sind und auch schon mit dem Abholzen des Waldes 
begonnen haben, wurde eine Schiffsverbindung zu dem neuen Lager eroeffnet. 
Fuer den Transport von Personen wird sich auf den Holzfrachtern auch bestimmt 
immer noch ein Platz finden lassen.


Xand

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



Bug in den Ohrenschuetzern (Morgoth, 13. Apr 1999, 16:37:01):
Hiho,

wenn man sterben sollte, ist man leider danach immer noch taub. Naja, war. In
den neuen Schuetzern ist es gefixed, also einmal tauschen ;-)

M*

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



Koomi ... (Morgoth, 13. Apr 1999, 17:36:25):
hat sich und sein Gebiet auf eigegen Wunsch loeschen lassen. Gruende hierfuer
nenne ich nicht und ich will hier auch keinen Flamewar oder Diskussionen. 
Er ist weg und fertig...

M*

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



Re: Koomi ... (Hood, 13. Apr 1999, 17:42:01):
~#! rn=Morgoth rt=924017785 rg=d.vland
~#! tid=924017785
noch mals: bekommen wir es nicht in den griff, einen passus in den
magiervertrag aufzunehmen, der kindereien dieser art unterbindet?
wenn jemand ein gebiet ueberarbeitet und zeitweise abklemmt mag das
angehen, aber das komplette deaktivieren finde ich nicht ok.
auch andere leute haben arbeit mit sowas, mal zum aufzaehlen:
  also morgoth und ich hatten die betreuung, was ziemlich viel zeit nahm
  morgoth klemmte es an
  es wurden fp und killstups eingetragen
  es wurden komponenten angeschlossen
  es wurde in die vland-karte eingemalt, was auch nich wenig zeit frisst
  es war in der vland-planung drin, nicht zuletzzt sollten spaeter
   anbindungen an xands gebiet realisiert werden, die atmosphaerisch
    abgestimmt sind
  u.s.w.
es kann doch nicht so schwer sein, den magiervertrag dahingehend
zu aendern. ein programm, was ich mit gnu-public-license versehen hab, kann
ich auch nich wieder zurueckziehen, hoechstens weiterentwicklungen da
herausnehmen

------
patryn

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



Re: Re: Koomi ... (Trug, 13. Apr 1999, 19:24:27):
~#! rn=Hood rt=924018121 rg=d.vland
~#! tid=924017785
Da ich auch nicht Lust habe, irgendwas an flamewar zu produzieren, moechte ich
nur sagen, dass die Verbindung zu Xand bereits fertig war, aber aufgrund der
Spielpause ich den Anschluss abwarten wollte (wegen der Wartung).

Trug.

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



Re: Re: Koomi ... (Asmodis, 15. Apr 1999, 22:32:32):
~#! rn=Hood rt=924018121 rg=d.vland
~#! tid=924017785
Hmm, was fuer ein Gebiet war das denn? Wusste garnicht, dass Koomi da was
getan hat :-)

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



Re^3: Koomi ... (Padreic, 15. Apr 1999, 22:33:29):
~#! rn=Asmodis rt=924208352 rg=d.vland
~#! tid=924017785
Ein typisches vland-Gebiet halt...

Padreic, der es wegen zu krasser Bugs 2mal abhaengen musste...

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



Re^4: Koomi ... (Morgoth, 15. Apr 1999, 23:33:42):
~#! rn=Padreic rt=924208409 rg=d.vland
~#! tid=924017785
Na Du sei mal froh, dass Dein bug_and_dreck jetzt einigermassen laeuft. Wer
hatte nochmal Portal 3 im Inventar?

M*

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



Re^3: Koomi ... (Trug, 15. Apr 1999, 23:51:46):

Mh das Gebiet funktionierte so oder so an sich ohne Bugs.

Die Strandkrake kam halt wegen den 'Reinpumpen' von den Trves und Kaempfern
aus den Tritt und streckte - sagen wir es mal so - ab einen gewissen Punkt
alle Tentakel von sich. 

Sie ist eben kein dumpfes 08/15-Monster gewesen und war entsprechend komplex.

Trug. Wer technische Details haben will (nur Magier), der soll
Shannara@Turithil fragen.

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



Re^4: Koomi ... (Darkwing, 16. Apr 1999, 00:28:21):
~#! rn=Trug rt=924213106 rg=d.vland
~#! tid=924213106
sorry, ich bekomm gerade nen mittleren Lachanfall.
So ein zusammengeklautes und grottenschlechtes Gebiet hab ich vorher nicht
gesehn... in der Parawelt hats dann auch noch uebelst gebuggt.

Von Deiner Reaktion auf die typos/replies ganz zu schweigen :-)

Nix fuer ungut, Darkwing

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



Re^5: Koomi ... (Zarniya, 16. Apr 1999, 11:16:52):
~#! rn=Darkwing rt=924215301 rg=d.vland
~#! tid=924213106
Hmmm also ich will hier keinen in Schutz nehmen, aber wenn hier ein Gebiet
angeschlossen ist, dass uebel buggt, dann ist das nicht die Schuld des
Proggers selbst, denn der uebt ja noch, sondern eigentlich ist das alleine die
Schuld des zustaendigen RMs, denn der muss halt auch mal alles testen, das ist
sein Job. Wer den nicht machen kann, der sollte Kuendigen. :)

Ich weiss aus Erfahrung, dass man mal kleinere Bugs uebersehen kann, aber
wenns was groesseres ist, dann sollte man sich auch mal an eine Instanz hoeher
wenden. 

Marc, der das Gefuehl hat, dass hier eh zu schnell zu viel unausgereiftes
angeschlossen wird.

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



Re^6: Koomi ... (Ringor, 16. Apr 1999, 12:12:02):
~#! rn=Zarniya rt=924254212 rg=d.vland
~#! tid=924213106
Das mit dem testenden RM ist ja alles schoen und gut - das klappt aber nur so
lange, wie der liebe kleine Magier auch alles erst dem RM zeigt, bevor er es
anschliesst.

Was soll der RM machen, wenn er ein nicht-buggendes Gebiet abnimmt, und der
Magier danach fleissig weiter dran rumbastelt und auf einmal alles buggt? 

Man kann nicht alles auf die RMs abwaelzen.

Ringor

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



Re^7: Koomi ... (Zarniya, 16. Apr 1999, 12:15:39):
~#! rn=Ringor rt=924257522 rg=d.vland
~#! tid=924213106
also wenn ein Magier was anschliesst, was nciht vom RM abgenommen ist,dann ist
das der Tod seines Savefiles... klingt hart,aber ich kenne Muds, da wird das
durchgezogen und es funktioniert. Hier ist eben einiges am System
verweichlicht.

Marc

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



Re^8: Koomi ... (Key, 18. Apr 1999, 22:01:59):
~#! rn=Zarniya rt=924257739 rg=d.vland
~#! tid=924213106
*kicher*

Das sagst Du? .)

Klar, im Prinzip stimme ich Dir zu, wenn ich nicht wuesste von wem das kommt
:)

Key

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



Elementar (Morgoth, 18. Apr 1999, 22:23:56):
Hupps, da ist doch noch ein Elementar gesichtet worden...

Viel Spass beim suchen...

M*

P.S.: Jaja, so mies bin ich auch nicht. Es ist im Suedosten irgendwo.

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



Para-Orks (Morgoth, 27. Apr 1999, 22:29:24):
Sooo, da die Chaosdinger mal wieder an der Gilde basteln, musste(wollte)/habe
ich mal wieder an den Orks gefummelt.
Viel Spass ;-))

M*

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



Re: Para-Orks (Lena, 28. Apr 1999, 15:09:01):
~#! rn=Morgoth rt=925244964 rg=d.vland
~#! tid=925244964
was heisst das, Morgoth?
Werden die Orks staerker, schwaecher, oder einfach nur anders?
Wuerd ichs merken, wenn ich schon mal den Mumm gehabt haette, mich mit Deinen
Orks anzulegen und kann ich mir was dafuer kaufen?

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



Re: Para-Orks (Grimmborn, 30. Apr 1999, 10:26:38):
~#! rn=Morgoth rt=925244964 rg=d.vland
~#! tid=925244964
Ich hoffe die Orks hatten Spass dabei.
Und Deine Vorlieben deuchen mich etwas seltsam, aber das ist eigentlich Dein
Problem...

Grimmborn der Atheist

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



kurzurlaub (Morgoth,  3. Mai 1999, 10:58:20):
Hi,

ich bin mal fuer ne zeit weg....
wenn die EMs sich einig sind, sollen sie Xand zum RM machen, dann wird er sich
wohl so lange um die sachen kuemmern...ansonsten bleibt halt raus wenns
buggt..

tuess

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



Re: kurzurlaub (Grimmborn,  4. Mai 1999, 11:14:34):
~#! rn=Morgoth rt=925721900 rg=d.vland
~#! tid=925721900
Aeh, ich hab das richtig verstanden, ja? Da wird was angeschlossen was
anscheinend eine grosse Chance hat buggy zu sein und als Loesung werden die EM
quasi erpresst jemanden zum EM zu machen anstatt auf die naheliegende Idee zu
kommen etwas solange abzuhaengen bis es nicht mehr buggt?
Cool.

Grimmborn der Atheist

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



Re: Re: kurzurlaub (Ringor,  5. Mai 1999, 10:52:30):
~#! rn=Grimmborn rt=925809274 rg=d.vland
~#! tid=925721900
Nein, Du hast es nicht richtig verstanden. Nichtmal im Ansatz.

Ringor

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



Re^3: kurzurlaub (Grimmborn,  6. Mai 1999, 22:40:12):
~#! rn=Ringor rt=925894350 rg=d.vland
~#! tid=925721900
Danke fuer die Erklaerung. Jetzt ist mir natuerlich klar, wie das gemeint
war...

Grimmborn der Atheist

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



Moin (Morgoth, 21. Jun 1999, 07:49:51):
Hiho Leute,

ja, leider bin ich immer noch da. Zwar mehr im Hintergrund und seltener, aber
trotzdem noch ein wenig aktiv.
Ich hab mal eine klitzekleine Erweiterung fuer die Katas gebaut, um zu sehen,
ob ihr wirklich alle so krank seid. Die Viecher sind absolut hammerhart und
toedlich, also jammert nicht, wenn ihr dabei mehrmals krepiert. Sie liegen auf
keinem Weg, den man gehen muss, sind also voellig optional. Sie haben auch nix
dabei, was man nicht auch woanders bekommen kann.
Also dann, ihr kranken Geister !!

Good die()

M*

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



Re: Moin (Taragon, 21. Jun 1999, 10:23:15):
~#! rn=Morgoth rt=929944191 rg=d.vland
~#! tid=929944191
Wenn die genauso wie manche andere Kreaturen aus deinem Geist nichts koennen
ausser einem die() verpassen, wird das eher keinen interessieren.

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



Re: Re: Moin (Paracelsus, 21. Jun 1999, 10:34:54):
~#! rn=Taragon rt=929953395 rg=d.vland
~#! tid=929944191
Nun, wie Morgoth schon selbst sagte: Man muss da nicht hingehen.
Auch eine Art, einem Magier zu zeigen, was man von seinem Gebiet haelt.

Paracelsus.

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



Re^3: Moin (Taragon, 21. Jun 1999, 10:55:55):
~#! rn=Paracelsus rt=929954094 rg=d.vland
~#! tid=929944191
Schon klar... aber wenn ein Magier ein Gebiet macht das IMHO so unspielbar
ist, und schon gleich klar ist dass eh so gut wie keiner hingehen wird, hat
dann dieser Magier nicht irgendwo seine Daseinsberechtigung verfehlt ?

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



Re^4: Moin (Paracelsus, 21. Jun 1999, 11:04:46):
~#! rn=Taragon rt=929955355 rg=d.vland
~#! tid=929944191
Naja, einige Verrueckte gibts immer. Und wenn man sich als Magier toll
dabei fuehlt....

Paracelsus.

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



Re^5: Moin (Neb, 21. Jun 1999, 11:13:40):
~#! rn=Paracelsus rt=929955886 rg=d.vland
~#! tid=929944191
Und Du musst das ja wissen, Paracelsus, schliesslich hast Du einige der mit
Abstand unfairsten zappenden Monster und Fallen kreiert ;)

Neb, trotz Schutz 3 mal von Nars gezappt.

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



Gilden-Portal (Morgoth, 21. Jun 1999, 11:18:36):
Auf Wunsch geaendert.

M*

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



Re^6: Moin (Gor, 21. Jun 1999, 11:46:28):
~#! rn=Neb rt=929956420 rg=d.vland
~#! tid=929944191
Kann sich Neb nur anschliessen. Entwerder bugt der Schutz oder er bringt nur
einfach nichts. 2 Tode trotz Schutz.

Im Auftrag von Belgariad

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



Re^3: Moin (Tunixgut, 21. Jun 1999, 13:16:10):
~#! rn=Paracelsus rt=929954094 rg=d.vland
~#! tid=929944191
Es gab doch auch vorher mehr Spieler, die Morgoth Gebiete grundsaetzlich
meiden, als solche, die wirklich reingehen, da machen die neuen Raeume auch
nix mehr...

's Karate-Zwerchle...

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



Re^7: Moin (Paracelsus, 21. Jun 1999, 14:04:28):
~#! rn=Gor rt=929958388 rg=d.vland
~#! tid=929944191
Naja, irgendwann hoert der Schutz auch auf zu wirken. Waer ja sonst
langweilig ]:->

Para*.

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



Re: Moin (Grimman, 21. Jun 1999, 14:05:40):
~#! rn=Morgoth rt=929944191 rg=d.vland
~#! tid=929944191
Wenn M* sowas programmiert, werden da auch Leute reingehen, und wenn es nur
ist, um ueber diese unfairen Monster zu meckern. Warum sollte es solche
Gegenden nicht geben? Ich denke, auch 'so ein Magier' hat seine
Daseinsberechtigung, denn es gibt ja genug Sachen von M* die nicht nur auf
STERBEN ausgelegt sind, oder? Wenn er nu mal seine sadistische Ader ausleben
will, dann bitte ... er sagt selbst, es ist keiner gezwungen ... wer hingeht
ist entweder Masochist, groessenwahnsinnig oder sehr mutig ;) Auch von mir :
Viel Spass, und -Tod ist immer an ;)

GrimMan , sehr erwartungsvoll

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



Re: Re: Moin (Darkwing, 21. Jun 1999, 17:10:39):
~#! rn=Grimman rt=929966740 rg=d.vland
~#! tid=929944191
Was ist gegen eine Herausforderung einzuwenden :-)
Wenns wirklich voellig krank ist kann man es immer noch sein lassen, ich geh
auch nicht 10x zum Nekromanten.

Darkwing, voellig krank.

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



Re: Re: Moin (Mahatmu, 21. Jun 1999, 19:16:19):
~#! rn=Grimman rt=929966740 rg=d.vland
~#! tid=929944191
... es sei denn, er moechte in der Gilde aufsteigen und _muss_ in die
Gegend ...

Mahatmu

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



Re^3: Moin (Caramon, 22. Jun 1999, 00:13:24):
~#! rn=Mahatmu rt=929985379 rg=d.vland
~#! tid=929944191
Ich versteh euer geheul nicht ... soooo schwer sind die garnicht, und unfair
alle male nicht. Da hab ich schon viel unfaireres von Paracelsus erlebt, wo
man trotz angeblichen schutz mal so eben drauf geht und dann als antwort
bekommt ... tja, pech gehabt!

Mal ganz davon abgesehen, das die katakomen ein absolut klasse gebiet ist, in
das ich immer wieder gern rein gehe :-)

Tanis ... Heiliger Raecher seines Zeichens

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



Re^4: Moin (Grimmborn, 22. Jun 1999, 09:37:25):
~#! rn=Caramon rt=930003204 rg=d.vland
~#! tid=929944191
> Tanis ... Heiliger Raecher seines Zeichens

Um Himmels Willen, was ist Deinem Zeichen denn so schreckliches widerfahren?

Grimmborn der Atheist

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



Re^4: Moin (Householder, 22. Jun 1999, 11:25:00):
~#! rn=Caramon rt=930003204 rg=d.vland
~#! tid=929944191
stimmt ich versteh absolut nich was ihr gegen morgoths gegenden habt :-)
HH in Deckung gehend ...

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



Re^5: Moin (Wurzel, 22. Jun 1999, 13:36:49):
~#! rn=Householder rt=930043500 rg=d.vland
~#! tid=929944191
man kann moegen was man will... das bleibt jedem unbenommen.
auch kann man hier schwachsinn reinschreiben, das darf auch jeder.
so ein schwachsinn ist z.b. nach der daseinsberechtigung eines magiers zu
fragen. ein magier hat genau die gleiche daseinsberechtigung wie ein spieler,
nichts ist wirklich anders. es ist alles ein spiel, nicht mehr.
was anderes waere es, wenn die magier fuer ihre arbeit bezahlt wuerden.
damit koennte ich mich auch anfreunden :)

wurzel

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



Re^6: Moin (Gnome, 22. Jun 1999, 22:18:59):
~#! rn=Wurzel rt=930051409 rg=d.vland
~#! tid=929944191
"es ist alles nur ein spiel, nicht mehr."

hm, wurzel, lies diesen satz nochmal genau und denk drueber nach.

catty hat mal gesagt: "MorgenGrauen ist _kein_ spiel."
ich hab lange drueber nachgedacht.
ich glaube, er hat recht.

gnOme

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



Re: Moin (Brandir, 23. Jun 1999, 09:35:25):
~#! rn=Morgoth rt=929944191 rg=d.vland
~#! tid=929944191
Also, ich weiss wirklich nicht, was Ihr wollt...
Wie schon von M* selbst und auch von genuegend anderen gesagt, man muss da
nicht hergehen. 
Ich freue mich ueber jede Neuerung im MG (ausser abwertungen :-) ) und es gibt
eben Orte wo man beim besten Willen nicht hin muss. Ich war bis heute nicht in
Semmels Gebiet und das eigentlich nur, weil man mir erzaehlt hat, dass es sich
nicht lohnt. Aber es wird doch immer einige geben, die sich auch in fuer
andere "unspielbaren" Gebieten austoben wollen und diese sollen das doch auch
gerne tun.

Und zu den Katas: Also fuer Kleriker ist das Gebiet einfach nur super. Und
erklaert mir jetzt bitte nicht, dass das nur daran liegt, das M* GildenMag der
Kleriker ist, ich glaube, das war alles schon vorher so. Aber auch fuer
Zauberer und sogar fuer Bierschuettler !!! (Achtung: Spassgilde) ist zumindest
der 1. Level der Katas und mit einigen Einschraenkungen auch der 2. zu machen.
Und das von mir, wo ich mich doch selbst als eine der groessten Wuerste
bezeichne :-)

Brandir - das ewige Gemecker satthabend...

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



Re: Re: Moin (Householder, 23. Jun 1999, 12:32:00):
~#! rn=Brandir rt=930123325 rg=d.vland
~#! tid=929944191
die katas sind fuer alle gilden aussa karateka geil wuerd ich mal sagn ... 

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



Re: Re: Moin (Zino, 23. Jun 1999, 12:57:42):
~#! rn=Brandir rt=930123325 rg=d.vland
~#! tid=929944191
Semmels Gebiet ist schon seit Ewigkeiten abgehaengt, ist also keine Kunst, da
nicht hinzugehn...

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



Re^3: Moin (Gnome, 23. Jun 1999, 16:20:12):
~#! rn=Zino rt=930135462 rg=d.vland
~#! tid=929944191
jo, schade eigentlich. war ne super metzelgegend... :-(
wann wird sie wieder angehaengt?

gnOme

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



Re^7: Moin (Wurzel, 23. Jun 1999, 21:32:26):
~#! rn=Gnome rt=930082739 rg=d.vland
~#! tid=929944191
ich brauch den satz nicht nochmal zu lesen, immerhin hab ich ihn geschrieben.
und ich hab nicht nur ein paar minuten drueber nachgedacht. ich mudde mit
ein paar unterbrechungen seit 1990, und es war immer nur ein spiel. genauso
wie es immer leute gegeben hat, die das nicht verstanden haben.
es gibt ein paar leute, denen es gelungen ist damit geld zu verdienen, fuer
die sieht das natuerlich anders aus. aber die grosse masse hier macht es
freiwillig, weil es spass macht, ohne zwang ist, kostenlos und man sich damit
nicht nur prima die zeit vertreiben kann, sondern gelegentlich dabei auch
noch nette leute kennenlernt.
ich weiss jetzt nicht, aus welchem zusammenhang du das catweazle-zitat
herausgerissen hast. als grundlegendes axiom der mg-kultur hat er es aber
bestimmt nicht gedacht. wenn du es so siehst, ist das wohl dein persoenliches
problem. fuer mich (und ich nehme an, auch fuer die mehrzahl der anderen
leute hier) ist es ein spiel, nicht mehr (aber auch nicht weniger). das soll
nicht heissen, dass man nicht auch spiele ernst nehmen KANN. selten mal
sieht man einen schachspieler, der bei seinem spiel froehlich ist. von den
fussballspielern will ich gar nicht reden, das ist zwar irgendwo auch noch 
ein spiel, aber ueberwiegend schon mehr ein wirtschaftsfaktor.
vielleicht erklaerst du mal, was bei deinen langen ueberlegungen heraus
gekommen ist, warum es deiner meinung nach kein spiel ist.

wurzel

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



Re^7: Moin (Ark, 23. Jun 1999, 21:51:15):
~#! rn=Gnome rt=930082739 rg=d.vland
~#! tid=929944191
Hm, ich spiele hier aber, auch wenn mich ein ploetzliches Verschwinden des MGs
treffen wuerde, ginge das Leben weiter :-)


              *** ARK * the * Magnificent ***


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



Re^4: Moin (Mahatmu, 23. Jun 1999, 21:59:01):
~#! rn=Gnome rt=930147612 rg=d.vland
~#! tid=929944191
Ich schaetze, wenn die Hoelle zufriert.

Morgoth, Dein Auftritt.
Mahatmu

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



Re^3: Moin (Songoku, 24. Jun 1999, 11:55:47):
~#! rn=Householder rt=930133920 rg=d.vland
~#! tid=929944191
Diskriminierung ;)

Sayounara!

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



Portalaenderung (2) (Morgoth, 25. Jun 1999, 08:11:28):
Nochmal auf Wunsch gebastelt.

M*

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



Re^4: Moin (Postit, 14. Jul 1999, 17:46:49):
~#! rn=Taragon rt=929955355 rg=d.vland
~#! tid=929944191
Du bist also der Meinung ein Magier ist nur ein Arsch von Proggsklave fuer
Dich? Und sobald er nicht Deine Wuensche erfuellt hat er keine
Daseinsberechtigung mehr?

Gute Nacht Morgengrauen wenn das hier so die uebliche Einstellung wird.

Klebezettel

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



Re^5: Moin (Taragon, 14. Jul 1999, 18:30:22):
~#! rn=Postit rt=931967209 rg=d.vland
~#! tid=929944191
Hmmm... nimm mal die Klebezettel von den Augen und lies den Thread nochmal :-)
Und dann ignorier ihn, die Diskussion ist muessig da Du meinen Standpunkt wohl
eh nicht kapiert hast.

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



Bugs & Fixes (Morgoth, 20. Jul 1999, 09:01:33):
So, ich hab mal ein paar Sachen, die durch die glorreiche Aenderung eines
Pa*-Magiers gebuggt haben, gefixed. Dazu gehoeren ein paar Heilstellen, das
Silberkreuz und ***** (fuer 112 ;-) ).
Wenns noch irgendwo buggen sollte, schickt mir ne kurze Mail.

Morgoth

P.S.: Danke an diejenigen, die die schnellen bugfixes vorgenommen haben.

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



Woran niemand mehr geglaubt hat.... es ist trotzdem wahr geworden (Morgoth, 23. Jul 1999, 22:37:11):
Ich loesche mich !

Nein, is ein Scherz ;->

Viele haben lange darauf gewartet und nach einiger Arbeit von Xand und mir,
haben wir endlich Koomis Gebiet etwas ueberarbeitet. Soll heissen: Es gibt nun
einen Fussweg zu Xands Holzfaellerlager. Nebendran ist noch ein bischen was
fuer kleinere Spieler, ganz niedlich gemacht. Schaut Euch mal ein wenig um. Es
wird wahrscheinlich wieder irgendwo gequengel geben, weil irgendwas nicht
passt, aber lasst Euch gesagt sein, Koomis files zu ueberarbeiten ist fast
ebenso schlimm wie Troy-Quests lesen. Uebt also ein wenig Nachsicht mit uns,
wir werden es so schnell wie moeglich aendern.

Viel Spass und denkt an das Tempolimit ;-)

Morgoth & Xand

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



Re: Woran niemand mehr geglaubt hat.... es ist trotzdem wahr geworden (Trug, 25. Jul 1999, 17:04:21):
~#! rn=Morgoth rt=932762231 rg=d.vland
~#! tid=932762231
*huepf um M* und Xand herum*

Sorry, weil das Ueberarbeiten so ein Alptraum war, aber ich wuensche auch noch
allen Leute viel Spass dort :)

Trug.

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



bugfix (Morgoth, 26. Jul 1999, 13:54:27):
So, der erste? Bug ist aufgetreten und behoben. Die NPCs und die Logfiles
wollten nicht so wie sie sollten. In den neuen NPCs ist der fehler behoben. 
Viel Spass

M*

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



Kleine Aenderungen bei den Holzfaellern (Xand,  5. Aug 1999, 22:19:50):
Ich habe mal einige Kleinigkeiten geaendert, sowie einige Ideen eingebaut.
Das Repfile sollte nun auch abgearbeitet sein.

Xand

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



Zombievirus (Apsu, 18. Aug 1999, 19:30:51):
Muss das sein, dass gleich die ersten zwei Skelette in den Katas einen mit
Zombievirus umhauen schneller als man scrollen kann?
Besonders, da man an die Viecher vorbei muss, um an die Wurzeln zu kommen. Hab
ja nix dagegen, dass man sich durch ne gefaehrliche Gegend vorher
durchforscht, aber hier hat man gar keine Chance, zu forschen.

Apsu, fand den Tod grad eben gar nicht witzig

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



Re: Zombievirus (Sting, 18. Aug 1999, 19:31:37):
~#! rn=Apsu rt=935004651 rg=d.vland
~#! tid=935004651
(c) Anatol: Heul doch! Loesch dich doch!

Sting, kichernd

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



Re: Zombievirus (Ark, 18. Aug 1999, 19:32:35):
~#! rn=Apsu rt=935004651 rg=d.vland
~#! tid=935004651
'Forschen' und 'Katas' in einem Artikel? Hm, ab nach Schmarrn :-)


              *** ARK * the * Magnificent ***


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



Re: Re: Zombievirus (Dieder, 18. Aug 1999, 19:32:37):
~#! rn=Sting rt=935004697 rg=d.vland
~#! tid=935004651
Letzteres ist (c) Lug... wenn schon, dann bitte richtig zitieren bzw. richtige
Quelle nennen :-)

Dieder :)

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



Re^3: Zombievirus (Paracelsus, 18. Aug 1999, 19:33:33):
~#! rn=Dieder rt=935004757 rg=d.vland
~#! tid=935004651
Dann hat er aber das "FidKG" vergessen.

Para*.

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



Re^3: Zombievirus (Sting, 18. Aug 1999, 19:33:35):
~#! rn=Dieder rt=935004757 rg=d.vland
~#! tid=935004651
Hrmpf, Ich gehoer jetzt doch auch zum Club der Rentner. und da ist Alzheimer
und sowas erlaubt.

Sting
PS: Oder ? Oder ??? Oder ???? :)) Hmm...

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



Re^4: Zombievirus (Anatol, 18. Aug 1999, 19:35:23):
~#! rn=Sting rt=935004815 rg=d.vland
~#! tid=935004651
Nur wuerde Anatol das "Heul doch" in puncto Zombievirus wohl nicht
bringen, den Anatol findet das auch etwas uebertrieben :o).

Heult trotzdem nicht,
Anatol


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



Re^4: Zombievirus (Dieder, 18. Aug 1999, 19:36:01):
~#! rn=Sting rt=935004815 rg=d.vland
~#! tid=935004651
klar... willkommen im Club Sting :)

Ein Alzheimer-Genosse :)

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



Re^5: Zombievirus (Paracelsus, 18. Aug 1999, 19:36:53):
~#! rn=Anatol rt=935004923 rg=d.vland
~#! tid=935004651
Merke: Wo Morgoth drauf steht, ist auch Morgoth drin.

Para*.

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



Re^6: Zombievirus (Silvana, 18. Aug 1999, 19:50:46):
~#! rn=Paracelsus rt=935005013 rg=d.vland
~#! tid=935004651
Ui, Morgoth kann in etwas drin sein, auf dem er draufsteht? Wusste gar nicht,
dass mein Nesthaeckchen so gelenkig ist...

  Silvana denkt . o O (Grimmborn, Dein Auftritt)

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



Re: Zombievirus (Morgoth, 19. Aug 1999, 05:38:27):
~#! rn=Apsu rt=935004651 rg=d.vland
~#! tid=935004651
Aeh, wenn Du doch schon weisst, wo und wie man dem entgegen wirkt und Du
trotzdem noch krepierst, solltest Du vielleicht nochmal ueberdenken, ob Du
nicht vielleicht nochmal auf der Hochebene mit Ameisen killen anfangen
solltest.

M*

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



Re: Re: Zombievirus (Apsu, 19. Aug 1999, 16:32:46):
~#! rn=Morgoth rt=935041107 rg=d.vland
~#! tid=935004651
Ja ich wusste vom Zombievirus, die einschlaegigen Meldungen auf -tod sprechen
fuer sich. also gibts auch ein Gegenmittel, weil sonst wuerde ja keiner in
Deine be...scheidenen Katas mehr reingehen nicht?
1) wusste ich nicht wo es zu finden war,
2) finde ich es schon heftig dass keine 20 s von vollen stats bis zum
abnibbeln vergangen sind

Und das muss ja wohl nicht sein oder? die koennen von mir aus so hart gemacht
werden wie moeglich, aber dass man schon sterbeseherzweities zuechten muss um
seinen Mainchar da ueberhaupt rein zu kriegen finde ich schon etwas extrem.

Apsu, eine Kerbe in Morgoth schlitzend
3) bin rein zu den beiden viechern, nachdem die zu hart waren (dagegen hab ich
nu wirklich nix) bin ich mit 90 LP raus. das naechste was ich sah waren 3 LP
-und ende (wohlgemerkt mit teddyanzeige)

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



Re^3: Zombievirus (Apsu, 19. Aug 1999, 16:33:38):
~#! rn=Apsu rt=935080366 rg=d.vland
~#! tid=935004651
args, ich lerns noch mit dem editor zu arbeiten. irgendwann

apsu seufzend
*

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



Re^4: Zombievirus (Gnome, 19. Aug 1999, 19:59:59):
~#! rn=Apsu rt=935080418 rg=d.vland
~#! tid=935004651
und irgendwann lernst du auch sicherlich, dass man
1. nicht in morgoths gegenden forscht/forschen braucht,
2. mit kaempfer-level 15 nicht in die katas geht,
3. nicht so einen aufstand macht und die mpa zumuellt wegen einem umstand,
   an dem jeder aufstrebende seher mal stirbt,
4. sich als trves so einen heulsusen-auftritt eigentlich nicht leisten darf.

gnOme

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



Re^5: Zombievirus (Householder, 19. Aug 1999, 20:29:12):
~#! rn=Gnome rt=935092799 rg=d.vland
~#! tid=935004651
du hast noch was vagessn gnome:
5. und dass es sich in solchen faellen immer anbietet in einem stillen eckchen
einfach HEIMLICH eine runde zu heulen 
HH

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



Re^3: Zombievirus (Morgoth, 20. Aug 1999, 05:42:15):
~#! rn=Apsu rt=935080366 rg=d.vland
~#! tid=935004651
1: Forschen ;-)
2: Da gibt es Gegenden, da geht das in 2 sekunden
3: Warst Du nackt? Selbst meine kleine, nackte Level 34 Felinenschlampe hat da
unten alles leergeputzt. Also irgendwie hast Du da ganz gehoerig was falsch
gemacht. Frag doch mal jemanden (vorzugsweise Kleriker), ob er Dir nicht ne
Fuehrung gibt.

4) Es ist hart, aber gerecht !

M*

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



Re^5: Zombievirus (Lyra, 20. Aug 1999, 07:44:09):
~#! rn=Gnome rt=935092799 rg=d.vland
~#! tid=935004651
Es ist doch allgemien bekannt, dass die Maenner aus dem Struv geworfen und zu
den Klerikern gebracht werden sollten.

Lyra besteht auf diesen Standpunkt

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



Re^7: Zombievirus (Grimmborn, 20. Aug 1999, 09:12:22):
~#! rn=Silvana rt=935005846 rg=d.vland
~#! tid=935004651
Mein Auftritt? Hmm, wuesste nicht wieso. zu Morgoth sag ich doch schon lange
nichts mehr (obwohl, in Berlin damals hat das volleyballspielen mit/gegen ihn
schon Spass gemacht).

GdA

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



Re^4: Zombievirus (Anatol, 20. Aug 1999, 11:05:08):
~#! rn=Morgoth rt=935127735 rg=d.vland
~#! tid=935004651
> 4) Es ist hart, aber gerecht !

*rotfl* :) DER war besser als der mit dem Knoblauch und dem Erdbeben.

Anatol


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



Re^4: Zombievirus (Apsu, 20. Aug 1999, 21:16:45):
~#! rn=Morgoth rt=935127735 rg=d.vland
~#! tid=935004651
Nur dass ich gerade erfahren hab, dass es nicht normal ist, dass Deine lieben
Vicher den Durchgang blockiert haben.

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



Re^3: Zombievirus (Gor, 22. Aug 1999, 13:13:03):
~#! rn=Apsu rt=935080366 rg=d.vland
~#! tid=935004651
zu 2.) volle Stats sagt nichts darueber aus wieviele Lps du hast Apsu :) 

Wer zu langsam ist landet bei Lars...... so einfach ist das.

Gor

Vielleicht waere die He doch noch was fuer dich

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



Re^4: Zombievirus (Apsu, 22. Aug 1999, 17:06:01):
~#! rn=Gor rt=935327583 rg=d.vland
~#! tid=935004651
zu 2) Ja und wer die gegend nicht kennt auch. Nur _weil_ er sie nicht kennt
und auch keine moeglichkeit hat, dem Tod zu entgehen, wenn er nicht
_zufaellig_ rechtzeitig den weg in die Kneipe findet, aber da sind ja noch 2
viecher vor. Und genau das ist es ja, was ich nicht besonders toll finde. Hat
mit Langsamkeit nix zu tun

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



Re^5: Zombievirus (Nonne, 23. Aug 1999, 09:09:19):
~#! rn=Apsu rt=935341561 rg=d.vland
~#! tid=935004651
Tach,

muss man die Leute denn wirklich immer wieder auf das 'm' in 'mud' aufmerksam
machen? Nimm einfach jemanden mit, der sich da auskennt, wenn du nicht sterben
willst. Es sind nicht nur M*'s Gebiete, in denen man stirbt, wenn man da
unbedarft rumrennt. Ich gehe tag-taeglich in die Kata's und sterbe da auch
manchmal, aber meist aus Bloedheit. Ich kann mich dem: hart aber gerecht nur
anschliessen, denn fuer die Gefahr bekommt man auch nette Tools und
Ausruestung. Nicht jeder verschenkt halt die Obertools und das finde ich in
Ordnung.
Also nicht heulen, sondern denken/fragen/vorsichtig sein.

MfG
Nonne.

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



Re^6: Zombievirus (Apsu, 23. Aug 1999, 15:46:01):
~#! rn=Nonne rt=935399359 rg=d.vland
~#! tid=935004651
Mit denken und vorsichtig sein isses da ja eben _nicht_ getan und fragen hilft
halt nicht immer. (ich redde chinesiche? habbe fertich!)

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



Re^7: Zombievirus (Willow, 23. Aug 1999, 15:55:53):
~#! rn=Apsu rt=935423161 rg=d.vland
~#! tid=935004651
na endlich ;)
Weidchen Willow einzeilernd...

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



Kaempfer aufgepasst (Morgoth, 30. Aug 1999, 12:16:01):
Eure Chefs wollten den direkten Weg nicht mehr, deshalb etwas vorsichtig sein
demnaechst. 

M*

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



Re: Kaempfer aufgepasst (Tarina, 30. Aug 1999, 15:11:55):
~#! rn=Morgoth rt=936015361 rg=d.vland
~#! tid=936015361

Vielleicht solltest Du Dir den Beinamen Sphinx zulegen. Deine Bekanntmachungen
sind derartig raetselhaft, dass Du Dir den Namen voellig verdient haettest.

Welcher Weg von wo nach wo ist in Zukunft zu meiden?

Fragend,
Tarina

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



Re: Re: Kaempfer aufgepasst (Patryn, 30. Aug 1999, 15:30:53):
~#! rn=Tarina rt=936025915 rg=d.vland
~#! tid=936015361
ist doch voellig offensichtlich...
im uebrigen eine begruessenswerte massnahme, das ganze teil ist eh der
totale schwachsinn.

------
patryn

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



Re^3: Kaempfer aufgepasst (Acrimon, 30. Aug 1999, 17:15:17):
~#! rn=Patryn rt=936027053 rg=d.vland
~#! tid=936015361
Die Abkuerzung vom Struv nach Port Vain meint er natuerlich.
Acrimon

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



Re^4: Kaempfer aufgepasst (Novastorm, 30. Aug 1999, 17:15:45):
~#! rn=Acrimon rt=936033317 rg=d.vland
~#! tid=936015361
Danke Acrimon. .-)
  Nova

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



Re^4: Kaempfer aufgepasst (Anatol, 30. Aug 1999, 17:45:12):
~#! rn=Acrimon rt=936033317 rg=d.vland
~#! tid=936015361
WOW! Acrimon wird zynisch?! Ich fall fast vom Glauben ab...

Anatol :o)


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



Re: Re: Kaempfer aufgepasst (Jasper,  2. Sep 1999, 02:15:17):
~#! rn=Tarina rt=936025915 rg=d.vland
~#! tid=936015361
vermutlich irgendeine aenderung in seinen katakomben, aber da gehen eh
nur spieler hin, die sich vorher mit ihrem magierzweitie genau
umgesehn haben :)

Jasper war noch nie da ;P

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



Re^3: Kaempfer aufgepasst (Apsu,  2. Sep 1999, 09:30:13):
~#! rn=Jasper rt=936238517 rg=d.vland
~#! tid=936015361
Aha. Dachte ichs mir doch.

Apsu, einzeilernd

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



Umstellung (Morgoth,  2. Sep 1999, 12:40:14):
Hiho,

da ich meine ganzen Master etwas hin und her schieben muss, weil es sonst dank
Padreics tollen Aenderung nicht mehr klappt, kann es in den naechsten Tagen zu
einigen unstimmigkeiten kommen. Spaetestens nach dem naechsten Crash/Reboot
ist es behoben.

Morgoth

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



Re: Umstellung (Pra,  2. Sep 1999, 12:41:13):
~#! rn=Morgoth rt=936276014 rg=d.vland
~#! tid=936276014
Heisst  das, wenn man jetzt in das Gebiet geht, gibt es einen Crash/Reboot,
oder wie soll man das verstehen? :-)

Pra.

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



Re: Umstellung (Gnome,  2. Sep 1999, 14:22:19):
~#! rn=Morgoth rt=936276014 rg=d.vland
~#! tid=936276014
aehm...
sagt uns doch bitte bescheid, wenn ihr eure persoenlichen diefferenzen
ausgekaspert habt und das mud wieder einigermassen stabil laeuft.

durchschnittlich 1 reboot/crash pro woche hemmen den spielspass ungemein.

gnOme

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



Re: Re: Umstellung (Patryn,  2. Sep 1999, 15:15:11):
~#! rn=Gnome rt=936282139 rg=d.vland
~#! tid=936276014
es war deutlich zu lesen, dass die ursache des crashs unbekannt ist.
was sollte dieser artikel also?

------
patryn

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



Re^3: Kaempfer aufgepasst (Gorog,  3. Sep 1999, 10:27:30):
~#! rn=Jasper rt=936238517 rg=d.vland
~#! tid=936015361
Naja n Magierzweiti brauch man dafuer nicht. 

Gorog der auch so reingegangen is und uebrelebte.

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



Re^3: Umstellung (Mahatmu,  3. Sep 1999, 12:45:48):
~#! rn=Patryn rt=936285311 rg=d.vland
~#! tid=936276014
Ich denke Gnome wollte nur zum unpassenden Zeitpunkt seinem Unmut ueber
die schlechte Abstimmung des EM PAdreic mit den betroffenen Magiern
Ausdruck verleihen, zu Recht, auch wenn es nichts mit dem gestrigen
Crash zu tun hat(te).

Gloin

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



Re^4: Umstellung (Padreic,  3. Sep 1999, 12:55:31):
~#! rn=Mahatmu rt=936362748 rg=d.vland
~#! tid=936276014
Ich muss Dich leider enttaeuschen Gloin, es hat _nichts_ mit einer schlechten
Abstimmung zu tun. Das vland wird erst dann umgestellt, wenn Morgoth mir als
RM mitteilt, das das vland soweit fertig ist. Sprich: mit schlechter
Abstimmung hat das nichts zu tun, da der Zeitpunkt der Umstellung vom RM
selbst festgesetzt wird. Das einzig wichtige ist, _das_ in absehbarer Zeit
umgestellt wird und dabei kann natuerlich der RM auch mal etwas uebersehn
wodurch es zu Problemen kommt, aber mit mangelnder Abstimmung hat das dann nix
zu tun.

Padreic meint, nich reden ueber Dinge von denen man keine Ahnung hat.

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



Re^5: Umstellung (Mahatmu,  3. Sep 1999, 12:59:31):
~#! rn=Padreic rt=936363331 rg=d.vland
~#! tid=936276014
Dann bin ich ja froh, dass Du aus Deinen letzten Fehlern (->Arena) gelernt
hast und die Nase auch weiterhin im Wind haeltst.

Mahatmu

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



Bug (Padreic,  3. Sep 1999, 20:34:54):
Aus irgendwelche Gruenden haben die Orks heute Abend angefangen wie sau zu
buggen, daher ist Orkhausen bis Morgoth vorbei schaut und das in Ordnung
bringt erstmal geschlossen. Ich denke Morgoth wird dann diesen Artikel hier
loeschen oder einen neuen Posten.

Padreic

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



Re: Bug (Morgoth,  3. Sep 1999, 21:39:38):
~#! rn=Padreic rt=936390894 rg=d.vland
~#! tid=936390894
Fixed !

M*

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



Re: Re: Bug (Pra,  6. Sep 1999, 13:09:03):
~#! rn=Morgoth rt=936394778 rg=d.vland
~#! tid=936390894
Das heisst:

Fixed ! Und zwei neue eingebaut!

;-)

Nee, im Ernst: der Laden in Orkhausen verkauft wieder auffallend
viele Sachen fuer 0 Muenzen...

Pra.

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



Re^3: Umstellung (Lug,  7. Sep 1999, 20:37:36):
~#! rn=Patryn rt=936285311 rg=d.vland
~#! tid=936276014

Unbekannt? Seit wann ist die Ursache fuer Chrashs und Bugs unbekannt? Jeder
weiss, die heisst Padreic...


Tssend
Lug

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



Re^4: Umstellung (Grimmborn,  7. Sep 1999, 21:10:08):
~#! rn=Lug rt=936736656 rg=d.vland
~#! tid=936276014
Jungspund.
Wie jeder Traditionalist weiss werden crashs hier im MG exclusiv von Dancer
verursacht. Das war schon immer so.

Oder natuerlich von Hate, der im falschen Fenster den falschen Prozess
killt...

Grimmborn der Atheist

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



Re^5: Umstellung (Anatol,  8. Sep 1999, 01:01:12):
~#! rn=Grimmborn rt=936738608 rg=d.vland
~#! tid=936276014
Dancer? DANCER? Grimmi, wer von uns beiden ist der Jungspund? Der
echte grosse deadly Crash fand mit Vrai-Code statt! :) Der bekommt
uebrigens noch immer Komplimente fuer seinen lpc-Programmierstil...

... "unkoventionell" ... "lehrreich" ... "aeh" ...

Anatol ;)


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



Re^6: Umstellung (Grimman,  8. Sep 1999, 01:36:33):
~#! rn=Anatol rt=936752472 rg=d.vland
~#! tid=936276014
Soooooo, nur mal was zur Klaerung ;)
Grimmborn heisst Grimmborn, fuer Grimmi ist der viel zu alt, Grimmi bin ich!
>Senf Ende<

GrimMan

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



Re^7: Umstellung (Boing,  8. Sep 1999, 06:01:09):
~#! rn=Grimman rt=936754593 rg=d.vland
~#! tid=936276014
Mach keine Witze ... es gibt nur einen Grimmi, und das bist nicht Du.
  Boing

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



Re^8: Umstellung (Silvana,  8. Sep 1999, 06:26:37):
~#! rn=Boing rt=936770469 rg=d.vland
~#! tid=936276014
Oh, endlich mal nen halbwegs neues Thema! ;-) Der Generationenkonflikt im
Morgengrauen. Naja, so lang niemand was von Rentenanspruechen und
Generationenvertrag anfaengt, soll's mir Recht sein.

  Silvana

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



Bugfix (Morgoth,  8. Sep 1999, 13:23:04):
Hi Leute,

mal wieder gabs den Bug in Paraorkhausen. Der is nun draussen. Dabei habe ich
einen weiteren gefunden und den gleich mit ausgebaut. Kann also gut sein, dass
die Orks nun etwas besser zaubern. *selbst in den Arsch tret*

M* wuenscht frohes sterben

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



Re^9: Umstellung (Wurzel,  8. Sep 1999, 18:58:08):
~#! rn=Silvana rt=936771997 rg=d.vland
~#! tid=936276014
warum nicht rente? offensichtlich ist das fuer einige ja schon ein sehr
spannendes thema :)
der generationenvertrag fuer magier koennte so aussehen, dass wir endlich mal
unsere programmiersklaven bekommen... *gruebel* lass uns das diskutieren :)

wurzel

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



Re^7: Umstellung (Grimmborn,  8. Sep 1999, 21:56:43):
~#! rn=Grimman rt=936754593 rg=d.vland
~#! tid=936276014
finger grimman
Alter: 40d 11:55:48,   Spielerlevel: 37 (Seher),   Gildenlevel: 15
finger grimborn
Alter: 15d 20:02:20,   Magierlevel: 20 (Lehrling)

Soviel zum Alter...

Grimmborn der Atheist

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



Re^8: Umstellung (Gast1,  9. Sep 1999, 00:59:19):
~#! rn=Grimmborn rt=936827803 rg=d.vland
~#! tid=936276014
Mooooment mal :-)
Ich kann mich noch gut dran erinnern, wie wir Grimmborns 25sten (Onlinetag)
gefeiert haben... und das ist in etwa schlapp 5 (Real-)Jahre her... Grimmborn,
du mogelst :-)

Gast1 fuer Mupfel

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



Re^9: Umstellung (Grimmborn, 10. Sep 1999, 08:38:57):
~#! rn=Gast1 rt=936838759 rg=d.vland
~#! tid=936276014
Ich mogel nicht.
Kann ich was dafuer dass Padreic das MG eines Tages auf eine Art crashen
liess, dass fuer mich eine Verjuengungskur abfiel? 
Jaja, das waren noch Zeiten, als 25 Onlinetage wirklich _viel_ waren...

Grimmborn d.A.

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



Re^10: Umstellung (Mahatmu, 10. Sep 1999, 21:18:21):
~#! rn=Grimmborn rt=936952737 rg=d.vland
~#! tid=936276014
*g* Haettst Dich ja restaurieren lassen koennen. Aber nein ...

Mahatmu

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



Re^9: Umstellung (Lug, 14. Sep 1999, 23:55:02):
~#! rn=Silvana rt=936771997 rg=d.vland
~#! tid=936276014
Generationenkonflikt?
Diese Wuerstchen sind keine Gegner...

Anfaengerhasser
Lug

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



Re^10: Umstellung (Rardian,  5. Okt 1999, 16:39:49):
~#! rn=Wurzel rt=936817088 rg=d.vland
~#! tid=936276014

Aeh...

dagegen ? *liebguck*

R.

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



Orks (Morgoth, 29. Okt 1999, 14:00:14):
Hiho,

wer die Rubrik d.gebirge gelesen hat, wird wissen, dass die Sivaks besser
geworden sind. Nun, im Verlauf dieser Debug-Aktion habe ich an dem Kampf-NPC
gebastelt. Also sind damit auch die Kaempfer-Orks besser geworden. Vorsicht
also. !! ;-)

M* haftet nicht fuer Spielerleichen, freut sich aber drueber ;-)

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



Re: Orks (Isis, 29. Okt 1999, 14:02:18):
~#! rn=Morgoth rt=941198414 rg=d.vland
~#! tid=941198414
Mensch Morgoth...Du wirst in Deinen Ankuendigungen ja mitlerweile recht
genau...
Sonst kan immer: Hab was geandert...sterbt schoen...;-)

Weiter so...Isis

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



Re: Re: Orks (Patryn, 29. Okt 1999, 14:50:29):
~#! rn=Isis rt=941198538 rg=d.vland
~#! tid=941198414
wie genau willst du es haben? ist doch immer das selbe.
eigentlich koennte er 'die orks sind staerker geworden' in die sig
uebernehmen. das spart tipparbeit und ist immer richtig :)

------
patryn

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



Re: Re: Orks (Mahatmu,  1. Nov 1999, 15:02:27):
~#! rn=Isis rt=941198538 rg=d.vland
~#! tid=941198414
Die letzte Aufwertung an die ich mich erinnere geschah durch Rochus (?)
und die Abwertung des Rein-Raus bei Spielern ;-)

Mahatmu

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



Laden (Morgoth,  3. Nov 1999, 09:49:20):
So, der Laden in Orkhausen is wieder dran. Kann trotzdem sein, dass es ein
paar Ueberraschungen da gibt. Das Kontor dauert noch ne Weile, da die
Umstellung doch mehr Arbeit in anspruch nimmt. Bedankt Euch wie immer bei
Padreic.

M*

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



Kontor (Morgoth,  4. Nov 1999, 14:41:37):
So, das Kontor hat wieder Teilweise eroeffnet. Auf der oberen Etage muessen
noch ein paar Wasserrohre verlegt werden und die Fussbodenheizung tuts auch
noch nicht. Deshalb gibts erstmal nur das Erdgeschoss. 

M*

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



Kontor #2 (Morgoth, 10. Nov 1999, 14:48:19):
So, der obere Teil hat nun auch wieder geoeffnet. Nach der etwas laengeren
Renovierung stehen alle Laeden wieder frei zur Verfuegung. 
Viel Spass

M*

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



Gefaengnisinsel optional (Shakedbeer, 16. Dez 1999, 22:16:14):
Hallo!

Vor einiger Zeit wurde die Gefaengnisinsel angeschlossen. Urspruenglich war
sie als optionale Quest geplant. Da mich auf der Winterfete wieder viele
Mitspieler angesprochen haben, bin ich der Sache nachgegangen und habe 
festgestellt, dass es sich damals um ein Missverstaendnis zwischen Boing
und mir handelte. Also habe ich den jetzigen Quest-RM (Zook) gebeten, diese
Altlast zu entschaerfen und die Gefaengnisinsel optional zu setzen. Das ist 
soeben geschehen. 

Ich hoffe, dass diese Quest trotzdem noch gespielt wird. ;-)))

Shaky.

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



Re: Gefaengnisinsel optional (Shakedbeer, 16. Dez 1999, 22:18:43):
~#! rn=Shakedbeer rt=945378974 rg=d.vland
~#! tid=945378974
Zook, hiermit befoerdere ich Dich wieder zum Quest-EM. 

Sorry!

Shaky. ;-)

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



Re: Gefaengnisinsel optional (Acrimon, 20. Dez 1999, 17:53:59):
~#! rn=Shakedbeer rt=945378974 rg=d.vland
~#! tid=945378974
Es ist ja - zumindest fuer mich - eines der schoensten Abenteuer.
Wer die Gefaengnisinsel nicht macht, der hat was verpaszt!

Acrimon, der Rote Ritter

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



Re: Re: Gefaengnisinsel optional (Sublime, 20. Dez 1999, 19:59:04):
~#! rn=Acrimon rt=945708839 rg=d.vland
~#! tid=945378974
Huhu ;)

Hmm, es ist wirklich schade, dass die Quest jetzt nur noch
optional ist. Aber wenn schon so, kannst Du uns dafuer viel-
leicht auch die Gruende nennen, Shakey oder das was die
Spieler in Winterburg dazu gesagt haben sollen ?
Mir persoenlich hat die quest richtig gut gefallen, hab
ich sie doch in einem Anfall von Raetsellust geloest und
deswegen auch richtig Bock auf die Aufgaben. Fuer alle
andren, die da nicht so die Lust drauf haben, kann ichs
vielleicht verstehn, aber es gibt ja genug Ausweichmoeg-
lichkeiten.

liebe gruesse
subl

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



Re^3: Gefaengnisinsel optional (Shakedbeer, 21. Dez 1999, 18:07:36):
~#! rn=Sublime rt=945716344 rg=d.vland
~#! tid=945378974
Genau das ist der Grund. Ich finde, dass Quests, die nur in eine Richtung 
zielen (hier nur Raetsel) nicht Pflicht sein sollten, denn es gibt viele 
Mitspieler, die das hassen. Aus diesem Grund hatte ich die Quest auch als
Optionalabenteuer geschrieben. Wenn ich eine Gruppe-III Quest im Sinn gehabt
haette, wuerden im Gefaengnis noch einige sturere NPCs herumlaufen. ;-)

Shakedbeer - denkt ueber eine Parallelweltquest auf der Gefaengnisinsel nach.

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



Re^4: Gefaengnisinsel optional (Lug, 22. Dez 1999, 03:12:27):
~#! rn=Shakedbeer rt=945796056 rg=d.vland
~#! tid=945378974

Aha,

Mathematiker duerfen sich jetzt schon bereithalten, saemtliche Mathefragen
fuer mich zu loesen.
Danke fuer Ihr Verstaendnis
Lug

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



Re^4: Gefaengnisinsel optional (Deepblue, 22. Dez 1999, 14:56:45):
~#! rn=Shakedbeer rt=945796056 rg=d.vland
~#! tid=945378974
Da wohl alle quests ziemlich speziell sind, duerfte es nach Deiner
Argumentation fast nur Optionale geben...

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



Re^5: Gefaengnisinsel optional (Sublime, 22. Dez 1999, 19:13:13):
~#! rn=Deepblue rt=945871005 rg=d.vland
~#! tid=945378974
Da muss ich Deepblue recht geben ;=) Was mich vor allem stoert, ist,
dass ich jetzt eine geringere Auswahl in den Quests der 3. Gruppe habe.
Hmm, da faellt mir ein, bleibt die Zahl von der Pflichtanzahl 7 bestehen
oder wird das dann auf 6 runtergestuft ?

subl,subbelnd

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



Re^6: Gefaengnisinsel optional (Sublime, 22. Dez 1999, 19:14:39):
~#! rn=Sublime rt=945886393 rg=d.vland
~#! tid=945378974
Aeh, habs gesehen ;=) Dann machts ja nicht sooo viel aus ;)
*wink*

subl, noch ein wenig benommen von der letzten n8 ;)

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



Re^7: Gefaengnisinsel optional (Anatol, 22. Dez 1999, 23:34:22):
~#! rn=Sublime rt=945886479 rg=d.vland
~#! tid=945378974
Die Gefaengnisinsel-Quest hat doch eigentlich recht wenig mit dem
"Questen an sich" zu tun, der Hauptteil der Abenteuerpunkte verdient
man sich durch das Loesen von Raetselaufgaben. Teilweise ist die
Quest ohne andere Hilfsmittel nicht sooo zumutbar. Egal, ob das jetzt
der Zocker, Q oder Graf Zahl ist. Die Quest ist als optionale Quest 
(d.h. sie zaehlt fuer neu eingeloggte Charaktere *nicht* mehr in die
Gesamt-AP-Verrechnung, ihre Punkte gelten aber dennoch) gut aufgehoben,
Nachteile hat daraus imho KEINER.

Anatol, findet das ganz ok so.


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



Re^8: Gefaengnisinsel optional (Jamalski, 29. Dez 1999, 20:08:58):
~#! rn=Anatol rt=945902062 rg=d.vland
~#! tid=945378974
Ich hab diese Quest bis jetzt erfolgreich verhuetet! Fuer michn war sie
irgendwie schon immer optional...
Jamalski fragt sich welche Quest wohl obligatorisch ist

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



Parawelt (Morgoth,  9. Feb 2000, 23:22:57):
Arghs,
beim basteln hat es leider ein paar Fehler gegeben. Einige Raeume sind z.zt.
nicht betretbar bzw. es gibt sie nicht. ich werd das morgen frueh beheben. so
lange vorsichtig sein (mehr als sonst)...

M*

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



Re: Parawelt (Morgoth, 10. Feb 2000, 08:39:01):
~#! rn=Morgoth rt=950134977 rg=d.vland
~#! tid=950134977
So, jetzt sollte alles wieder funktionieren (Goblin, Orkmagier, usw.)
Falls nicht, d.h. wenn irgendwo ein NPC steht, der da nicht hingehoert, oder
wenn ueberhaupt keiner da ist, bitte ne Mail an mich mit Ort und NPC.

M*

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



Himmelskreuz (Boing, 10. Feb 2000, 16:46:43):
Es gab nen bugfix.
Mehr dazu, wenn ich drueber geschlafen habe, vielleicht verzichte ich 
dann ja darauf die Namen der Leute zu nennen, die da seit Juni kraeftig
geschummelt haben ...
  Boing

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



Re: Himmelskreuz (Catweazle, 11. Feb 2000, 08:53:34):
~#! rn=Boing rt=950197603 rg=d.vland
~#! tid=950197603

Und?
Gut geschlafen?

YTC, neugierig :-)

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



Ruhestelle (Morgoth, 18. Feb 2000, 11:59:00):
Auf Wunsch jetzt etwas geaendert. Bitte nicht meckern, seid froh, dass sie
ueberhaupt noch da is. ;-(

M*

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



satan (Morgoth,  3. Mar 2000, 08:36:33):
Hi Leute,

lasst erstmal von Satan ab. Er war wegen den Logfile-Aenderungen mal kurz
"gewandert". Nun hatte sich wieder was mit den Supsen geaendert, ich hatte es
aber vergessen, dass der grosse Boesemann aber davon ja betroffen waere. Ich
werds so schnell wie moeglich aendern *seufz*. Bis dahin is er halt da und
killbar, gibt aber keine Stupse (es wird aber geloggt...hoffe ich).
M*, von der Arbeit gestresst ;-(

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



Re: Ruhestelle (Morgoth,  3. Mar 2000, 09:00:26):
~#! rn=Morgoth rt=950871540 rg=d.vland
~#! tid=950871540
Hiho,

so, die Stelle ist nun nochmal Ueberarbeitet, weil eine klitzekleine Sache
nicht beruecksichtigt wurde *pfeif unschuldig*
Jetzt sollte es nach nem Reset wieder klappen.

M*

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



Re: Re: Ruhestelle (Gorog,  3. Mar 2000, 13:48:53):
~#! rn=Morgoth rt=952070426 rg=d.vland
~#! tid=950871540
Schoen, denn diese klitzekleine Sache hat doch ziemlich gorsse auswirkungen
gehabt (;

Gorog darf auch wieder in Frieden ruhen

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



Orks im Urlaub (Morgoth, 21. Mar 2000, 08:17:54):
Hiho,

durch eine noch unbestaetigte Ursache lassen sich dummerweise die meisten Orks
nicht mehr laden, weil ein File (letzte Aenderung: 29. Oktober) sich
ploetzlich nicht mehr laden laesst.
Wenn sich das Bestaetigt, was ich vermute, duerft ihr alle brav Paracelsus
und/oder Tiamak treten ;-))
Bis dahin bleibt Orkhausen dicht...

M*

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



Re: Orks im Urlaub (Padreic, 21. Mar 2000, 10:17:29):
~#! rn=Morgoth rt=953623074 rg=d.vland
~#! tid=953623074
Ihr habt Euch um das MorgenGrauen redlich verdient gemacht, Orkhausen ist
zumindest temporaer abgehangen..... *jubel*

Pad* :)

P.S.: Wann sind die buggenden Raeume von der Drakonierfestung dran?

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



Re: Re: Orks im Urlaub (Golas, 21. Mar 2000, 10:47:53):
~#! rn=Padreic rt=953630249 rg=d.vland
~#! tid=953623074
und wann ist das lichtsystem dran?

golas >:) -> schmarrn

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



Re: Orks im Urlaub (Morgoth, 21. Mar 2000, 10:58:31):
~#! rn=Morgoth rt=953623074 rg=d.vland
~#! tid=953623074
Fixed !

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



Re: Re: Orks im Urlaub (Trug, 22. Mar 2000, 19:41:09):
~#! rn=Padreic rt=953630249 rg=d.vland
~#! tid=953623074
... und wann werden die buggenden Delfen abgehaengt? 

Trug. senfend.

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



Re^3: Orks im Urlaub (Padreic, 22. Mar 2000, 20:33:15):
~#! rn=Trug rt=953750469 rg=d.vland
~#! tid=953623074
Womit Du den Nagel auf den Kopf triffst, die Delfen tauchen eigentlich nie auf
debug auf und das da irgendwelche Spieler drin festhaengen hats auch noch nich
gegeben. Wenn Du da irgendwelche Bugs kennst bin ich da brennend dran
interessiert, dann weisst Du naemlich mehr als ich.

Pad*

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



Re^4: Orks im Urlaub (Lug, 22. Mar 2000, 22:57:57):
~#! rn=Padreic rt=953753595 rg=d.vland
~#! tid=953623074

Klar, die fallen nicht sofort um, wenn man sie ansieht -> BUG!

Debaggernd
Lug

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



Re^4: Orks im Urlaub (Trug, 23. Mar 2000, 18:13:48):
~#! rn=Padreic rt=953753595 rg=d.vland
~#! tid=953623074
Sehe _ich_ debug?

*g* nur kann ich mich auf ein paar andere Sachen entsinnen, die nicht so ganz
in Ordnung gewesen sind. Darueber kann ich mich ja mit Highlander ja noch
unterhalten...

Trug. 

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



Re^5: Orks im Urlaub (Fehler, 23. Mar 2000, 18:36:45):
~#! rn=Trug rt=953831628 rg=d.vland
~#! tid=953623074
Trug> ... Darueber kann ich mich ja mit Highlander ja noch unterhalten...

Was bezweckst Du eigentlich damit, Trug? Willst Du Padreic irgendwie
erpressen? Entweder, Du kennst konkrete ungefixte Bugs und Du laesst
das die verantwortlichen Magier wissen, oder Du behaeltst diese Bugs,
da sie Dir vielleicht nutzen koennen, fuer Dich, riskierst aber dann
Deinerseits Aerger mit der Exekutive UND verlierst das Recht, Dich
ueber diese Bugs zu beschweren - ein Magier kann Bugs nur ausbauen,
wenn er Kenntnis von ihnen hat. Oder aber (aller guten Dinge) Du
hast keine Ahnung und machst einfach mal auf Verdacht die Klappe auf,
denn es ist ja in Mode, auf Padreic herumzuhacken - es kann ja nichts
dabei schiefgehen, ist ja alles so sicher wie Aktien von Infineon.

Oder sollten wir Dich alle verkannt haben und aus Dir spricht der
Genius vergangener und kommender Zeiten? Dann verzeih'!

Mach keinen
Fehler! :)


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



Re^5: Orks im Urlaub (Lug, 24. Mar 2000, 00:58:49):
~#! rn=Trug rt=953831628 rg=d.vland
~#! tid=953623074

Stimmt, ich kann ich an eine Menge erinnern, die bei Dir nicht in Ordnung
sind. Melde Dich also ruhig bei Highlander zum Geloeschtwerden.

Please report to the next Termination-Centre. Than you and have an nice day...
Lug

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



Re^6: Orks im Urlaub (Nevok, 24. Mar 2000, 06:05:56):
~#! rn=Lug rt=953855929 rg=d.vland
~#! tid=953623074
scheiss Briten
das heisst Center, Lugh

Nevok, Lug seine irischen angewohnheiten schon noch austreibend...

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



Re^6: Orks im Urlaub (Gloin, 24. Mar 2000, 14:42:47):
~#! rn=Lug rt=953855929 rg=d.vland
~#! tid=953623074
Mag sein, ich moechte aber vielleicht mal dran erinnern, das Padreic selbst
in Artikel 4 mit der Haeme begann. Und dann soll er doch nicht giftig
reagieren, wenn die Leute zurueckschiessen.

Gloin

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



Re^3: Orks im Urlaub (Acrimon, 24. Mar 2000, 17:56:07):
~#! rn=Trug rt=953750469 rg=d.vland
~#! tid=953623074
... und wann werden die buggenden Magier abgehaengt?

Acrimon, schmarrend

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



Re^4: Orks im Urlaub (Mupfel, 24. Mar 2000, 17:57:49):
~#! rn=Acrimon rt=953916967 rg=d.vland
~#! tid=953623074
Ja, wie jetzt, alle? ;) Oder nur die, deren Bugs man nicht zum eigenen Vorteil
ausbeuten kann...?

-m.-

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



Mal wieder was Neues (Morgoth, 18. Mai 2000, 13:42:01):
Auf mehrfaches Quengeln eines kleinen Kaempferchens hab ich mir mal ein paar
Gedanken gemacht und seinen Wunsch umgesetzt. Es ist auch nur eine
Kleinigkeit, die aber sehr nuetzlich sein kann.
Ach ja, sterben geht auf eigene Kappe !

M*

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



Auf vielfachen Wunsch... (Morgoth, 22. Mai 2000, 14:22:06):
einer einzelnen Person hat sich nun was an den Daemonen geaendert.

M*

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



Re: Auf vielfachen Wunsch... (Obermotz, 22. Mai 2000, 14:23:56):
~#! rn=Morgoth rt=958998126 rg=d.vland
~#! tid=958998126
Wieso? Ich wollte doch garnichts geaendert haben...

Obermotz ist eine Person

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



Re: Re: Auf vielfachen Wunsch... (Gorog, 22. Mai 2000, 18:16:03):
~#! rn=Obermotz rt=958998236 rg=d.vland
~#! tid=958998126
Na dann bin ich ja mal gespannt (; 

Gorog der gerne bleibt wie er ist.

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



Re: Auf vielfachen Wunsch... (Darkwing, 24. Mai 2000, 14:41:06):
~#! rn=Morgoth rt=958998126 rg=d.vland
~#! tid=958998126
Ich hab ja nichts gegen viele Handkomponenten ... aber das ist zuviel des
guten. 
Ich habe keine Ahnung wer sich sonst demnaechst darum kuemmert, aber
vermutlich ist es dann gleich die Gildenbalence mit einer Handabwertung weil
Hand Feuer fuer jeden Gardewaechter benutzt wird.

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



Schaf (Morgoth, 30. Mai 2000, 13:03:07):
So, das Schaf kann nun auch gekuschelt werden und man kann den Namen mit
"schafname 0" loeschen.

M* wuenscht "happy kuschling"

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



Bugfix (Morgoth, 18. Aug 2000, 11:37:26):
Hiho,

ich habe endlich diesen verdammten Bug in der Karte gefunden. Sie sollte nun
nur noch in Orkhausen funzen. Dafuer muesst ihr Euch natuerlich ne neue holen.

M*

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



Orks (Morgoth,  9. Okt 2000, 14:53:39):
*RUMMS*

Morgoth, auch orakelisch 

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



Leckerchen... (Morgoth, 16. Okt 2000, 08:59:11):
fuer Felinen und vielleicht auch andere, wird es nach dem Reboot bei den Orks
geben ;-)

Guten Appetit wuenscht

Morgoth, der sich mit dieser Aktion erstmal zur Ruhe setzt (tagsueber)

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



spelunke (Patryn,  6. Nov 2000, 23:33:26):
also es kamen beschwerden/anfragen, dass der alchemist im vland zeug aus
dem haus im muelleimer verschwinden laesst...da dort hin- und wieder leute
vom seebaeren abgeschossen werden wohl ein aergernis.
dementsprechend gibts nun eine abstellkammer, aber auch die gibt ihren
besitz nur widerwillig her...

------
patryn

PS: wer zu diskussionen neigt, der denke sich den ueblichen text: baum fiel

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



Mau-Mau (Morgoth,  8. Jan 2001, 23:52:33):
oder so aehnlich...
Ich hab mal wieder ein bischen Zeit gefunden ein paar Updates zu machen. ];-))

M*, wie immer als Orakel

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



Mal wieder Orks... (Morgoth, 15. Jan 2001, 13:58:16):
aber diesmal wohl (noch) zu euren gunsten. 
Durch kleine "Unstimmigkeiten" mit Paracelsus sind die Katzenkriegerorks nun
ausgebaut, weil es dem Gildenfeeling nicht passt. Das sehe ich natuerlich ein
und schau mal, wo ich das feeling noch ein bischen verbessern kann...

M*

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



Re: Mal wieder Orks... (Matis, 15. Jan 2001, 14:14:46):
~#! rn=Morgoth rt=979563496 rg=d.vland
~#! tid=979563496
Mist, warum kann es keine Unstimmigkeiten mit Rochus geben? ;o)

Matis

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



Re: Re: Mal wieder Orks... (Panic, 15. Jan 2001, 14:15:20):
~#! rn=Matis rt=979564486 rg=d.vland
~#! tid=979563496
hehe, ob Rochus noch weiss dass er ne Gilde hat ? :)

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



Re^3: Mal wieder Orks... (Rochus, 15. Jan 2001, 22:31:07):
~#! rn=Panic rt=979564520 rg=d.vland
~#! tid=979563496
Aehm, ich habe eine Gilde?

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



Re: Mal wieder Orks... (Gnome, 16. Jan 2001, 01:52:03):
~#! rn=Morgoth rt=979563496 rg=d.vland
~#! tid=979563496
...indem du die kleriker auch nach /dev/null schickst.
klerikerorks sind etwa so stimmig wie hobbits in der chaosgilde...

gnOme

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



Re: Re: Mal wieder Orks... (Nicolai, 17. Jan 2001, 11:43:25):
~#! rn=Gnome rt=979606323 rg=d.vland
~#! tid=979563496
Meeeep, null Punkte. Selbst Arkshat ist ein Ork;)

Da hat wohl M* mitgekriegt, dass Klerikerorks die einzigen sind,
die man mit schutzhuelle und schutzhand nicht todideln kann :)

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



Re^3: Mal wieder Orks... (Gnome, 17. Jan 2001, 23:54:05):
~#! rn=Nicolai rt=979728205 rg=d.vland
~#! tid=979563496
arkshat ein ork? *waelz*
also entweder gilde oder orks abhaengen... :)

gnOme, SCNR

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



Re^4: Mal wieder Orks... (Nicolai, 18. Jan 2001, 10:07:46):
~#! rn=Gnome rt=979772045 rg=d.vland
~#! tid=979563496
Hm weiss nicht, ob Du sowas fordern solltest, die heutigen Magier
sehen sowas immer als Aufforderung, Unsinn zu machen. :)

Keine Orks->keine Wurfsterne
Keine Kleriker->keine Schutzhand

Man sollte nicht den Ast absaegen, auf dem man sitzt ;)

.Nico. zu frueher Stunde nur halbernst

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



Re^5: Mal wieder Orks... (Obermotz, 18. Jan 2001, 10:08:50):
~#! rn=Nicolai rt=979808866 rg=d.vland
~#! tid=979563496
Und dann sagen sie noch: die Spieler haben es ja so gewollt! ;-)

OM schiebt den Artikel nach schmarrn

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



gequengel (Morgoth, 29. Mai 2001, 14:20:50):
So,

ich hab mal wieder auf gequengel von Spielern bei einem EM und dessen
folgenden Fragen an mich ein bischen was an SATAN geaendert. Dies ist erstmal
nur ein kurzer Hack, Feinheiten bau ich bei Gelegenheit nochmal ein.
Da geht man einmal nicht mit der Ruestungssprirale mit und schon sind Gegner
die vor 2 Jahren superheftig waren alte Luschen. Naja, ich hoffe jetzt nicht
mehr ganz so.

Good die()

M*

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



Geisterhauch (Morgoth, 29. Mai 2001, 14:39:31):
Noch ein Wunsch der Balance, der endlich eingebaut is.

M*

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



Leckerli fuer Metzler (Nonne,  7. Jun 2001, 15:43:59):
Hallo Berufsmetzler und alle, die es werden wollen. (c;

Ich hatte ein paar Tage Zeit und dachte, ich tue mal was fuer Euch. Im
Handelskontor gibt es nun eine Moeglichkeit, sich als Profimetzler zu
beweisen. Hier trennt sich die Spreu vom Weizen und der Wurstie vom
Superseher. (c;

Das ganze ist noch nicht endgueltig, da ich den Gilden moeglichst gleiche
Chancen einraeumen moechte. Deshalb behalte ich mir Aenderungen vor. Lest euch
die Regeln im ersten Raum durch und vergesst das Kleingedruckte nicht. (c;

Die Belohnung muss noch durch die Balance (keine Kritik, der Antrag ist noch
nicht alt) und wird baldmoeglichst angeschlossen.

Viel Spass wuenscht
Nonne.

P.S: Wenn mir die Forscher ein Konzept schicken, schreibe ich auch eine
Bluemchenpflueck-Olympiade *g*

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



Re: Leckerli fuer Metzler (Nonne,  8. Jun 2001, 20:29:38):
~#! rn=Nonne rt=991921439 rg=d.vland
~#! tid=991921439

Huhu,

da es im Gang zu 'Unregelmaessigkeiten' gekommen ist, sah ich mich gezwungen,
zwei Zeiten aus der Liste zu loeschen. Leider habe ich nur die schnellste
Zeit, so dass die regulaeren Zeiten verloren sind.

Tut mir leid fuer die Betroffenen, geht aber nicht anders. Der Bug ist auch
ausgebaut.

Viel Spass beim regulaeren metzeln wuenscht
Nonne.

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



Was neues (Morgoth,  9. Jun 2001, 22:43:11):
Nonne hat ja den tollen Metzelgang geproggt. Da er soviel Zustimmung gefunden
hat, proggen wir jetzt die Para-Version davon.
Leider hatte ich nen NPC ueber, der jetzt in dem ersten und bisher einzigen
Para-Kata Raum steht. 

M* wuenscht frohes sterben

P.S.: Der NPC passte nicht, weil der Para-Gang nur fuer ein 2er-Team sein soll
];-))

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



Neues im Gang (Nonne, 10. Jun 2001, 16:04:43):
Hallo Leuts,

auf vielfachen Wunsch, habe ich jetzt ein paar Meldungen eingebaut, wie es im
Gang um Spieler und NPC steht. Diese kriegt man im Startraum mit, kann sie
aber auch abschalten. Wie das geht, steht in der Anleitung.

Viel Spass
Nonne.

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



Wieder was neues... (Morgoth, 11. Jun 2001, 11:37:27):
Hi,

es gibt mal wieder eine Waffe weniger. Diesmal hat es die
Daemonenpeitsche getroffen. Wer sie sich ab jetzt holt, wird
kotzen. Die Balance hat mal wieder gute Arbeit geleistet.
Jungs, das ist laecherlich, vor allem mit DER Begruendung.
Damit ist meine Kooperationsfreudigkeit mal wieder auf
-MAXINT gesunken.

Also vergesst das Ding einfach.

M*

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



Re: Wieder was neues... (Ark, 11. Jun 2001, 11:41:40):
~#! rn=Morgoth rt=992252247 rg=d.vland
~#! tid=992252247
Wollten wir das Beschuldigen bzgl. Foermchen und anderer
Sandkastenhilfsmittel, Verbrechen gegen die MUD Charta und andere
Schwerstverbrechen nicht ausserhalb der MPA und Spielerkanaelen austragen?


              *** ARK * the * Magnificent ***


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



Re: Re: Wieder was neues... (Vardion, 11. Jun 2001, 12:02:06):
~#! rn=Ark rt=992252500 rg=d.vland
~#! tid=992252247
Och - ich findes es schon interessant, ueberhaupt was mitzubekommen. Wenn
Morgoth nix geschrieben haeete, waere dann ueberhaupt eine Info gekommen?
Ich finds schon etwas seltsam, dass ausgerechnet bei einer Peitsche
abwertungsbedarf bestand, wo doch die beiden starken Waffengilden eh keine
Skills fuer den Waffentyp Peitsche haben. Und dass ein Chaot damit zuviel
Schaden gemacht hat, glaub ich irgenwie nich :-)

Vardion, sich mehr Transparenz wuenschend

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



Re^3: Wieder was neues... (Wurzel, 11. Jun 2001, 12:41:43):
~#! rn=Vardion rt=992253726 rg=d.vland
~#! tid=992252247
transparenz ist unmodern.

wurzel, intransparent

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



Re^3: Wieder was neues... (Ark, 11. Jun 2001, 13:42:42):
~#! rn=Vardion rt=992253726 rg=d.vland
~#! tid=992252247
Moment, bitte nicht den Zusammenhang verwischen, "der Ton macht die Musik" war
eigentlich meine Aussage, nicht, etwas zu verheimlichen. Ist doch klar, oder?


              *** ARK * the * Magnificent ***


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



Re^4: Wieder was neues... (Anacrion, 11. Jun 2001, 15:51:17):
~#! rn=Ark rt=992259762 rg=d.vland
~#! tid=992252247
Da sieht man mal wieder was ich fuer ne Wurst bin.

Daemonenpeitsche ? nie verwendet ....


Wundert mich allerdings auch, dass die Balance gerade da anfaengt, weil es bei
Morgoths Monstern ne Menge Ansaetze geben kann, auch nur Ansatzweise was mit
Balance zu tun ...

Nehmen wir mal die Schlappen 80k XP, die man kriegt, wenn man nen Feuerdaemoon
haut (den im uebrigen so ziemlich alle Gilden stehen koennen). Dazu noch nen
Flammenpanzer und nen Sack Feuerwasser. Nicht nur, dass der Daemon nix kann,
er ist auch noch zu bloed, rumliegendes Zeug wieder aufzuheben.

Selbiges gilt auch fuer den grossen Saeuredaemon, fuer den Kaempfer evtl. mal
tanken muessen, der aber dafuer auch grosse Adaschuh, nen Sack Drachenblut und
nen Saeurespeer -8manchmal) dabeihat.

Ja, Morgoth, ALLERDINGS wundert es mich auch, das die Balance bei der
Daemonenpeitsche angefangen hat.

anac*

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



Re^5: Wieder was neues... (Wurzel, 11. Jun 2001, 15:54:34):
~#! rn=Anacrion rt=992267477 rg=d.vland
~#! tid=992252247
warum gehst du eigentlich nicht auf die hochebene zum metzeln? man hat
bei dir manchmal den eindruck, dass dir alles andere zu heftig ist...
oder liegt es daran, dass dir alles zu heftig ist, was jemand ausser dir
benutzt?

wurzel

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



Re^7: Wieder was neues... (Daria, 11. Jun 2001, 15:56:58):
~#! rn=Schmarrn rt=992267794 rg=d.vland
~#! tid=992252247
Feige!

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



Re^6: Wieder was neues... (Schmarrn, 11. Jun 2001, 15:59:18):
~#! rn=Wurzel rt=992267674 rg=d.vland
~#! tid=992252247
Ach, heult doch alle!
Schmarrn - der Name ist Programm.

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



Re^7: Wieder was neues... (Foobar, 11. Jun 2001, 16:01:40):
~#! rn=Schmarrn rt=992267958 rg=d.vland
~#! tid=992252247
> fg schmarrn
Schmarrn ist anwesend,
und zwar von: Oesterreich.

Foobar - noch Fragen?

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



Re^8: Wieder was neues... (Schmarrn, 11. Jun 2001, 16:04:02):
~#! rn=Foobar rt=992268100 rg=d.vland
~#! tid=992252247
> fg foobar
Foobar ist nicht anwesend.
Rasse: Zwerg
Schmarrn - Sowas schon lange koennend

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



Re^9: Wieder was neues... (Anacrion, 11. Jun 2001, 16:09:34):
~#! rn=Schmarrn rt=992268242 rg=d.vland
~#! tid=992252247
Lieber Wurzel,

hatte ich irgendwas ueber die Sachen geschrieben?

Offensichtlich legst Du mir nahe, Adamantschuhe u, Drachenblut und Feuerwasser
nicht zu benutzen .. mitnichten!
 Wenn man allerdings nach einigen Runden HZausmetzeln nicht nur  1 MEP
ueberschuss hat, sondern auch noch in der Gegend von 80 Feuerwasser und 110
Drachenblut (Saeuredaemonen gibts halt mehr) und zudem noch nen Stapel grosse
Adaschuhe besitzt und Flappenpanzer, dann ist IMHO ein Gebiet falsch
konzepiert ...

Das aber nur am Rande ... im Prinzip finde ich Morgoths Aufregung ueber die
Balance leicht daneben, genau wie die von Tsunami .. nicht weil er es nicht
denken darf, sondern weil die Form wie er es anbringt einfach daneben ist.

anac*

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



Re^10: Wieder was neues... (Darkwing, 11. Jun 2001, 16:15:14):
~#! rn=Anacrion rt=992268574 rg=d.vland
~#! tid=992252247
Anacrion for Balance !!!!

Dann sieht er was es wirklich gibt, faellt in Ohnmacht und ist ruhig.

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



Re^10: Wieder was neues... (Vardion, 11. Jun 2001, 16:38:47):
~#! rn=Anacrion rt=992268574 rg=d.vland
~#! tid=992252247
Nun, wenn es Dir nicht zu stupide ist, Dein Haus komplett an den Daemonen zu
metzeln, dann leb halt damit. Wer nen ganzen Tag lang immer ein und das selbe
Monster haut, wird irgendwann jede Menge von dem, was immer auch das Monster
hat, haben. Geh mal nen halben Tag in die neue FE und zaehl die Adamanthemden,
die Du dann hast. Das ist doch einfach nicht der Punkt. Ich finde es ok wies
ist, weil dann auch die Leute etwas haben, die besseres vorhaben, als den
ganzen tag immer wieder das selbe Gesicht (sofern die Dinger sowas haben ;-))
zu sehen.

Vardion, mag Abwechslung

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



Re^11: Wieder was neues... (Silvana, 11. Jun 2001, 19:14:45):
~#! rn=Vardion rt=992270327 rg=d.vland
~#! tid=992252247
Disclaimer: Antwort auf den letzten Artikel, kein direkter Bezug.

Als erfahrene (Wieder-) Wald-RM kann ich Euch eines verraten: So wie es in den
Wald hereinschallt, schallt es wieder heraus.

  Silvana (sich seit einiger Zeit die Ohren zuhaltend, bei dem was da
           schreit...)

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



Re^10: Wieder was neues... (Morgoth, 11. Jun 2001, 22:39:33):
~#! rn=Anacrion rt=992268574 rg=d.vland
~#! tid=992252247
Dumm ist nur, dass zu Beginn der Balance (Teddy, Sting, Zephyr, Boing...) die
Peitsche EXTRA so geschaffen wurde, damit die Chaoten, die zu diesem Zeitpunkt
umgewertet wurden (Chaosball + Waffen), etwas davon hatten. Es gab(gibt?)
naemlich keine andere Waffe, die diese Schadenstypen hat.

Das kotzt mich eben an. Erst ankommen und sagen: Komm progg mal eben, Du
machst da ja eh Fliessband und dann wenns nicht mehr passt aendern. Irgendwer
muss da wohl mal was falsch gemacht haben.

M* hatte grade wieder Lust am proggen

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



Re^11: Wieder was neues... (Bendeigid, 12. Jun 2001, 08:43:22):
~#! rn=Morgoth rt=992291973 rg=d.vland
~#! tid=992252247
Ohne jetzt ernsthaft staenkern zu wollen, aber KOENNTE ein Teil der
schieflaufenden Balance an Fliessbandarbeit liegen? 
Ich weiss es ja nicht, aber wenn ich mir so diverse, in Spielerkreisen extrem
beliebte Sachen ansehe, dann stammen 90% davon von drei oder vier Magiern....
KANN Zufall sein, glaub ich aber nicht....

Bendeigid, damals die Balance inszeniert habend und noch immer fuer erheblich
restriktivere Beschraenkungen sein. 

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



Re^12: Wieder was neues... (Anacrion, 12. Jun 2001, 16:25:54):
~#! rn=Bendeigid rt=992328202 rg=d.vland
~#! tid=992252247
Bende* ? 

wo kann ich Dir ein Bier ausgeben ?

Anac*

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



Neue Quest (Nonne, 17. Jun 2001, 14:42:36):
Hallo Mudders,

im Vland spielt eine neue Quest. Infos gibts natuerlich beim Wanderer. Dazu
gehoert noch ein kleines Gebiet, wo noch ein wenig mehr los ist. Sollte sich
jemand in der Parawelt dorthin verirren, sollte er/sie ein paar Mitstreiter
dabei haben. Die Para-Gnome sind nicht ohne! Ihr seid gewarnt!

Ansonsten wuensche ich viel Spass
Nonne.

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



Ich bin dumm! (Nonne, 20. Jun 2001, 20:39:37):
Und weil ich so dumm bin, haben viele Leute die Nixen nicht gefunden. Jetzt
sollten die beiden suessen aber da sein, wobei die in Para wohl eher als
herb-suess zu bezeichnen ist (c;

Nonne, gelobt Besserung.

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



bugfix (Morgoth, 25. Jun 2001, 13:24:26):
hi

hab endlich den fehler gefunden, warum sich orks ab und an selber hauen. das
sollte nun in der naechsten orkgeneration gefixed sein...

M*

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



Re: bugfix (Gnome, 26. Jun 2001, 00:16:13):
~#! rn=Morgoth rt=993468266 rg=d.vland
~#! tid=993468266
hoffentlich hast du den bug auch boing gemeldet. die trves haben naemlich
auch manchmal so komische ambitionen. ;-)

gnOme

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



Re: bugfix (Solmyr, 26. Jun 2001, 21:34:20):
~#! rn=Morgoth rt=993468266 rg=d.vland
~#! tid=993468266
Hmm,

Orks sind doch eigentlich von Hause aus ein aggressives Volk. Du solltest Dir
nicht unnoetig Arbeit aufhalsen, Morgoth :)

Gruss Sol*

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



Re: Re: bugfix (Gloinson, 27. Jun 2001, 02:48:14):
~#! rn=Solmyr rt=993584060 rg=d.vland
~#! tid=993468266
Gloinson sagt: Du hast gute Sachen, her damit!

Renn Solmyr, renn!

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



Belohung fuer den Metzelgang (Nonne, 28. Jun 2001, 13:00:26):
Hallo Ihrs,

die Belohung fuer den Metzelgang ist angeschlossen.

Viel Spass damit wuenscht
Nonne.

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



Und wieder ein bischen weniger.... (Morgoth, 31. Jul 2001, 12:59:33):
Diesmal hats das Elementarschwert und den Elementarschild getroffen...
Freut Euch, wenn ihr sowas habt, ab sofort gibts die Sachen nicht mehr.

M*

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



Re: Und wieder ein bischen weniger.... (Varlarion, 31. Jul 2001, 14:27:11):
~#! rn=Morgoth rt=996577173 rg=d.vland
~#! tid=996577173
Seltsam, wieso trifft es bei den Abwertungen eigentlich die Chaoten am
haertesten? Daemonenpeitsche und Elementarschwert werden/wurden wohl von uns
am haeufigsten verwendet... Ich frage mich, was von meiner Waffensammlung noch
uebrigbleibt, wenn das so weitergeht.
Oder gibts bald ne neue Waffengattung, die fuer Chaoten besonders gut ist?

Varl*, steht langsam mit leeren Haenden da

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



Re: Und wieder ein bischen weniger.... (Foobar, 31. Jul 2001, 15:09:31):
~#! rn=Morgoth rt=996577173 rg=d.vland
~#! tid=996577173
Nur die wandelbaren oder alle?

Foobar

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



Re: Re: Und wieder ein bischen weniger.... (Terrorist,  1. Aug 2001, 12:22:31):
~#! rn=Varlarion rt=996582431 rg=d.vland
~#! tid=996577173
Chaoten sind nunmal eine magische Gilde, die vor allem mit Ihren Spells
Schaden zufuegen koennen.
Das man verschiedene Waffen braucht um besser als der Durchschnitt zu sein
find ich persoenlich ganz gut.
Und es gibt noch etliche Waffen die brauchbar sind, wenn auch teilweise
exotisch.
z.B. Wer kennt das Chaosschwert? :)

TERROR*

P.S.: Natuerlich hab ich das ES damals auch staendig benutzt, aber die
Begruendung von Anatol kann ich durchaus nachvollziehen.

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



Re^3: Und wieder ein bischen weniger.... (Varlarion,  1. Aug 2001, 12:32:07):
~#! rn=Terrorist rt=996661351 rg=d.vland
~#! tid=996577173
Klar sind die Chaoten eine magische Gilde, aber der Chaosball ist nunmal so
ausgelegt, dass er nur dann 100%ig durchschlaegt, wenn man eine Waffe in der
Hand hat, die die entsprechende(n) Schadensart(en) haben, sonst eben nur zu
50-60%.
Zwar ist der Unterschied bei den Chaoten bei weitem nicht so krass, aber die
Wirkung ist aehnlich, wie der Hand-Spell der Zauberer mit und ohne Handkompo.
Auch kann ich mich mit dem Gedanken, bald nur noch "exotische" Waffen
verwenden zu koennen - weil es eben die einzigen sind, die noch brauchbar sind
- nicht wirklich anfreunden. (Nein, ich kenne das Chaosschwert nicht, wo gibts
das? ;)

Varl*, Chaot

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



Re^4: Und wieder ein bischen weniger.... (Firehawk,  1. Aug 2001, 15:03:36):
~#! rn=Varlarion rt=996661927 rg=d.vland
~#! tid=996577173
Kleine Ergaenzung:
Wenn wir schon eine magische Gilde sind, warum muessen wir nun wieder massen
Waffen mit uns rumschleppen um unsere Faehigkeiten anzuwenden? Zumal ich
irgendwann mal von irgendnem Kaempfer gehoert hab, das das Eleschwert als
Einhandwaffe nicht so nuetzlich ist, waehrend es fuer Chaoten eigentlich ideal
... war.
Noch was zum Thema exotische Waffen. Ich hoffe beim Anschluss dieser
'chaotenfreundlichen :)' Waffen wird auch bedacht, dass viele Chaoten (und ich
meine jetzt nicht irgendwelche Zweities und Chaoten mit eigener Zweitiearmee)
Einzelkaempfer sind und an das Zeug dann auch rankommen sollten.

Komme es wie es will, so kriegt man uns nicht unter. Chaoten jammern net,
Chaoten fluchen ... wir sind ja keine Zauberer.
 Daher ein: Uenkl grrumrisstars, uiurkskrotzlik XXmrem, yque pllmda,
vmoepouel, oolms Sarrss. Nurns strunz trxu krant!

Pfuck armttr exa, FirehawkShadowchild.

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



Re^5: Und wieder ein bischen weniger.... (Terrorist,  2. Aug 2001, 19:00:15):
~#! rn=Firehawk rt=996671016 rg=d.vland
~#! tid=996577173
Ich glaub das kann Dir Zardoz gut erklaeren :)

Oder ist es Dir lieber die Waffe wegzustecken, um mit beiden Haenden einen
Chaosball zaubern zu koennen?

TERROR*

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



Re^6: Und wieder ein bischen weniger.... (Firehawk,  3. Aug 2001, 13:49:31):
~#! rn=Terrorist rt=996771615 rg=d.vland
~#! tid=996577173
Kommt drauf an, da der Chaosball wenn man ihn zweihaendig machen muss ja ohne
Waffe volle Staerke haben muesste wuerde ich eventuell ganz auf ne Waffe
verzichten ;)

Firehawk.

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



scoreamulett (Patryn, 17. Aug 2001, 10:46:05):
aus technischen gruenden haben ab jetzt neu besorgte scoreamus ein
's' vor jedem internen befehl.

-- 
patryn

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



...the story continues (Morgoth,  7. Sep 2001, 11:58:00):
und wieder etwas weniger
sorry ugi :(

M*

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



Fisch vom Fischer (Nonne, 26. Sep 2001, 19:58:36):
Hallo Leuts,

wegen eines Bugs musste ich leider alle Fische vom Fischer destructen. Wenn
ihr keinen neuen bekommt, sollte es nach 'ende' wieder gehen. Bedankt euch bei
Elaine, die hat den Bug gefunden. *g*

Nonne, auf Kaeferjagd

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



SATAN (Morgoth, 14. Jan 2002, 09:30:35):
Mal schauen ob der geisterhafte SATAN nun endlich ruhe gibt.

M*

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



Alles neu, macht der Februar...aeh, oder so (Morgoth, 19. Feb 2002, 08:21:31):
Auf Wunsch eines Einzelnen sind die neuen Kreuze etwas geaendert ]:)

M* 'bloeeeek'

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



Ach ja... (Morgoth, 19. Mar 2002, 13:14:22):
auf vielfachen Wunsch eines einzelnen Magiers landet man jetzt nicht mehr
direkt im Dojo.

M*

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



Satan als Geist (Morgoth, 23. Apr 2002, 17:29:48):
Hi,

ein kleines Update:
Der Bug ist noch nicht gefixed, weil noch niemand ihn nachvollziehen kann.
Auch Zook arbeitet jetzt daran. Es wird so ziemlich alles in dieser Hinsicht
geloggt. Also bitte vermehrt metzeln.

M*

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



Re: Satan als Geist (Mupfel, 23. Apr 2002, 18:17:58):
~#! rn=Morgoth rt=1019575788 rg=d.vland
~#! tid=1019575788
Warum testest Du das nicht im Homemud, mit lauter gescripteten Spielern? Tag
und Nacht muss er fallen.... ;)

-mupfel-

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



Re: Re: Satan als Geist (Gor, 23. Apr 2002, 23:39:33):
~#! rn=Mupfel rt=1019578678 rg=d.vland
~#! tid=1019575788
Genau, das ist ja oberunfair. So holt dich ja dann garantiert keiner in der
Top-Kerben-Liste ein. Jungs proggt buggende Viecher und lasst die SPieler dann
vermehrt metzeln. };-)

Gor oeffnet das Textpad und legt los.

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



Re^3: Satan als Geist (Vector, 24. Apr 2002, 00:49:30):
~#! rn=Gor rt=1019597973 rg=d.vland
~#! tid=1019575788
Immerhin sagt er, dass der NPC buggt.

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



Re^4: Satan als Geist (Anacrion, 24. Apr 2002, 00:58:21):
~#! rn=Vector rt=1019602170 rg=d.vland
~#! tid=1019575788
Wenn ein NPC mit 99% Wahrscheinlichkeit zappt und ansonsten stirbt, und auch
nur 1 Stups bringt, weiss ich wo so einige Schlange stehen .....

anac* (nur knapp an der diku vorbei)

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



Re^5: Satan als Geist (Deepblue, 24. Apr 2002, 09:17:19):
~#! rn=Anacrion rt=1019602701 rg=d.vland
~#! tid=1019575788
Bei Rikus als NPC_Balance?

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



Re^6: Satan als Geist (Mupfel, 24. Apr 2002, 22:15:58):
~#! rn=Deepblue rt=1019632639 rg=d.vland
~#! tid=1019575788
Bei Rikus nur, wenn der NPC ueberhaupt keinen Stups bringt ;) wer wird sich
denn da sonst ins eigene Fleisch schneiden, hm? ;)

-mupfel-

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



Und noch ein Befehl von oben ausgefuehrt... (Nonne, 19. Aug 2002, 16:15:46):
Tach zusammen,

im Verlorenen Land gibts so einen Trichter, der nach Ansicht der hoechten
Magier-Instanzen viel zu gut sei. Daher sah ich mich genoetigt, das Gewicht
des Produkts etwas anzupassen und bei der Benutzung einen Obulus zu fordern,
der der Zentralbank zugute kommt. Damit liegt das Objekt wenigstens im Bereich
der anderen Zahlungsmittel des MG.

Mit freundlichen Gruessen
Nonne.

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



Re: Und noch ein Befehl von oben ausgefuehrt... (Grimmborn, 19. Aug 2002, 16:18:15):
~#! rn=Nonne rt=1029766546 rg=d.vland
~#! tid=1029766546
Du scheinst Dich in der Rubrik vertan zu haben, die Rubrik "gejammer" findest
Du unter gilden.zauberer...

GdA

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



Re: Und noch ein Befehl von oben ausgefuehrt... (Gnome, 19. Aug 2002, 16:25:10):
~#! rn=Nonne rt=1029766546 rg=d.vland
~#! tid=1029766546
war eigentlich klar.
reichte es nicht negativum, dass alle punkte bei crash verlorengehen?
und 10% obulus? dann kann man ja auch wieder die geldkarte benutzen.

gnOme entsorgt einen trichter.

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



Re: Re: Und noch ein Befehl von oben ausgefuehrt... (Boing, 19. Aug 2002, 16:32:01):
~#! rn=Gnome rt=1029767110 rg=d.vland
~#! tid=1029766546
war eigentlich klar.
reichte es nicht als positivum, dass man nie beklaut wird und dass 
man in jeder situation geld dabei hat? 

boing hilft gern beim entsorgen.

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



Re^3: Und noch ein Befehl von oben ausgefuehrt... (Grimmborn, 19. Aug 2002, 16:33:30):
~#! rn=Boing rt=1029767521 rg=d.vland
~#! tid=1029766546
Mich amuesiert vor allem die Dreistigkeit, bei im Schnitt vielleicht vier
ernsthaften crashs im Jahr diese als Argument fuer die ach so immensen
Nachteile anzufuehren.

GdA

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



Re^4: Und noch ein Befehl von oben ausgefuehrt... (Foobar, 19. Aug 2002, 16:34:12):
~#! rn=Grimmborn rt=1029767610 rg=d.vland
~#! tid=1029766546
Wie sieht denn ein nicht ernsthafter Crash aus?

Gruss,

   Foobar

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



Re^4: Und noch ein Befehl von oben ausgefuehrt... (Gnome, 19. Aug 2002, 16:34:13):
~#! rn=Grimmborn rt=1029767610 rg=d.vland
~#! tid=1029766546
4 crashs im jahr?
und ich dachte immer, du koenntest wenigstens bis 20 zaehlen. naja...

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



Re^5: Und noch ein Befehl von oben ausgefuehrt... (Grimmborn, 19. Aug 2002, 16:35:34):
~#! rn=Gnome rt=1029767653 rg=d.vland
~#! tid=1029766546
Ein nicht-ernsthafter crash ist einer, der 30 min nach dem Neustart erfolgt.
Davon abgesehen haben wir regelmaessig uptimes um die 100 Tage.

GdA

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



Re^6: Und noch ein Befehl von oben ausgefuehrt... (Gnome, 19. Aug 2002, 16:36:29):
~#! rn=Grimmborn rt=1029767734 rg=d.vland
~#! tid=1029766546
die letzte uptime um die 100 tage war letztes jahr.
aber als magier kriegt man das wahrscheinlich nicht so mit.

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



Re^7: Und noch ein Befehl von oben ausgefuehrt... (Pitfall, 19. Aug 2002, 16:41:51):
~#! rn=Gnome rt=1029767789 rg=d.vland
~#! tid=1029766546
:jubelt.

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



Re^6: Und noch ein Befehl von oben ausgefuehrt... (Foobar, 19. Aug 2002, 16:42:34):
~#! rn=Grimmborn rt=1029767734 rg=d.vland
~#! tid=1029766546
Warum ist der nicht ernsthaft?

Gruss,

   Foobar

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



Re^7: Und noch ein Befehl von oben ausgefuehrt... (Grimmborn, 19. Aug 2002, 16:54:08):
~#! rn=Foobar rt=1029768154 rg=d.vland
~#! tid=1029766546
Weil ein "ernsthafter crash" fuer mich bedeutet, dass man viel Arbeit
verliert, Sachen, die man ueber Tage und Wochen zusammengesammelt hat. Ich
gebe zu dass es hart sein kann wenn man sein collect_all_after_crash script
als erster hat starten koennen und die Sachen dann ne halbe Stunde spaeter
wieder verliert, aber das ist dann halt nur normales Pech. Dass ein crash
selten alleine kommt, weil dann die Gelegenheit wahrgenommen wird noch ein
bischen zu tunen, ist ein alter Erfahrungssatz.

GdA

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



Re^6: Und noch ein Befehl von oben ausgefuehrt... (Catweazle, 20. Aug 2002, 10:32:16):
~#! rn=Grimmborn rt=1029767734 rg=d.vland
~#! tid=1029766546
Um es mal mit ein paar Fakten zu wuerzen: wir haben dieses Jahr bisher sieben
mal gebootet. 
Mitte gewinnt.

YTC

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



Re^7: Und noch ein Befehl von oben ausgefuehrt... (Vanion, 21. Aug 2002, 17:25:55):
~#! rn=Catweazle rt=1029832336 rg=d.vland
~#! tid=1029766546
Catty, Du bist ein Spielverderber. Fakten machen einem die schoensten
Diskussionen madig. Spekulationen, Mutmassungen und Behauptungen sind das, was
einen Thread am Leben haelt. 

Dass Fakten einen Thread totmachen, kannst Du schon sehen, dass nach Deinem
Artikel ueber einen Tag niemand was zum Thema zu sagen hatte.

V*, schmarrnt? Teilweise.

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



Re^8: Und noch ein Befehl von oben ausgefuehrt... (Mandragon, 21. Aug 2002, 17:26:37):
~#! rn=Vanion rt=1029943555 rg=d.vland
~#! tid=1029766546
Also um manche Dikus ist es nicht schade ... ehrlich nicht.

Ma*

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



Re^9: Und noch ein Befehl von oben ausgefuehrt... (Grimmborn, 21. Aug 2002, 19:35:32):
~#! rn=Mandragon rt=1029943597 rg=d.vland
~#! tid=1029766546
Tja, Du weisst halt nicht was gut ist und weisst die Guten Dinge des (mud-)
Lebens nicht zu schaetzen.

GdA

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



lalala (Patryn,  5. Dez 2002, 02:03:16):
vorsicht beim seebaeren, anpassungen.

-- 
patryn

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



Wurfsterne (Morgoth, 28. Jan 2003, 08:16:35):
Um dem Gejammer ein Ende zu bereiten:
Die Wurfsterne sind AUFgewertet. :)

M*

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



Re: Wurfsterne (Orktoeter, 28. Jan 2003, 09:27:31):
~#! rn=Morgoth rt=1043738195 rg=d.vland
~#! tid=1043738195
Wer proggt die Darts, die man nebenher noch mit der anderen Hand werfen kann?
Spielen (und trainieren) kann man ja schon fast realistisch in Orkhausen...

OrkT.

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



Schnauze voll !? (Morgoth,  1. Apr 2003, 10:13:48):
Hi Leute,

wie die Magier wissen, haeufen sich bei mir die Auftraege: NPCs abaendern,
Raeume umbauen, Ruestung/Waffen anpassen....uws. 
Seit ca. 4 Wochen warte ich auf eine lauffaehige Version des MG fuer zu Hause.
Es sind einfach in letzter Zeit zu viele Aenderungen an der Lib gemacht worden
um alles File fuer File zu saugen. Deshalb hatte ich einen Gott bzw. die Erzis
gebeten mir doch ein .tgz zu erstellen. Dies ist leider immer noch nicht
geschehen.
Um Aerger oder unmut vorzubeugen, werde ich heute Abend das vLand auf
unbestimmte Zeit abhaengen, bis ich zu Hause arbeiten kann und die ganzen
aufgestauten Arbeiten (z.b. Saikans Gebiete, Kata-Tanken, Klumpfuss...)
erledigt habe.
Ich hoffe ihr habt Verstaendnis dafuer.

M*

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



Re: Schnauze voll !? (Zook,  1. Apr 2003, 10:48:34):
~#! rn=Morgoth rt=1049184828 rg=d.vland
~#! tid=1049184828
Also nur um das mal klar zu stellen: 

1. Sind Nachfragen nach solchen .tgz reichlich aussergewoehnlich, zumeist
voellig sinnfrei (was kann ich dafuer, dass man soviel verschiedene Sachen
braucht, damit d.vland im Homemud laeuft) und machen _Arbeit_.

2. Habe ich das zugesagt, aber wie in magier.urlaub beschrieben, soll es auch
ein RL geben. Kann ja sein, dass das ueberrascht, aber auch ich habe ein
solches.

3. Ist das .tgz fertig und wird nur noch kontrolliert, ob alles und nicht
zuviel drin ist.

Zook, leicht angesaeuert.

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



Re: Re: Schnauze voll !? (Patryn,  1. Apr 2003, 20:21:15):
~#! rn=Zook rt=1049186914 rg=d.vland
~#! tid=1049184828
Na wie gut dass auch Morgoth den 1. April nutzte ;)

-- 
patryn

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



Re^3: Schnauze voll !? (Morgoth,  1. Apr 2003, 20:43:54):
~#! rn=Patryn rt=1049221275 rg=d.vland
~#! tid=1049184828
Tja, und wie gut dass ich von so einem Mist nix halte.
Da es hier auch nur um meine Gebiete geht, sind diese fuers erste geschlossen.
Irgendwer wird sicher noch Wege hinein finden, aber diese werden auch noch
geschlossen, sofern das in meiner Macht steht.

M*

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



Re^4: Schnauze voll !? (Grimmborn,  1. Apr 2003, 20:47:26):
~#! rn=Morgoth rt=1049222634 rg=d.vland
~#! tid=1049184828
hilfe rm
(Nein, das bedeutet nicht "lass Dir von einem Regionsmagier helfen".)

GdA

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



Bugfix (Morgoth,  1. Mai 2003, 21:46:14):
Hi,


die Paraorks sind nun ein bischen debugged und die Gildentechniken ein bischen
verfeinert. Also nicht wundern, wenn Dir auf einmal noch ein Tutszt in die
Fresse haut.

M* :)

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



Re: Bugfix (Morgoth,  3. Mai 2003, 18:35:20):
~#! rn=Morgoth rt=1051818374 rg=d.vland
~#! tid=1051818374
Eigentlich kein Reply, sondern eine Erweiterung.

Einige Orks sind nun mit der Natur und mit was sonst noch im harmonischen
Gleichgewicht :)

M*

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



Wurfsterne (Morgoth, 11. Jul 2003, 08:53:29):
Moin

ich hab mal ein bischen in Richtung Balance gearbeitet und ein paar Sachen in
die kleinen Sternchen gebaut. Wahrscheinlich wird da nochmal was dran
geaendert. Bis dahin frohes testen.

M*

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



Orks (Morgoth, 16. Jul 2003, 23:29:05):
Eine neue Gilde fuer die Orkwachen. 

M* wuenscht good die()

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



Vorsicht... (Morgoth, 20. Aug 2003, 22:38:27):

es gibt jetzt einen Raum weniger, in dem man mal eben fluechten kann. Vor
allem sollte man da nicht alleine reingehen, es koennte...hm noe, es WIRD weh
tun :)

M*

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



Bugfix (Morgoth, 21. Aug 2003, 21:46:49):

Hi

da vor einiger Zeit wohl unbemerkt was an der Mudlib gedreht wurde, hab ich da
jetzt einen Bugfix einbauen muessen. Sorry.

M*

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



Re: Bugfix (Grimmborn, 21. Aug 2003, 21:54:20):
~#! rn=Morgoth rt=1061495209 rg=d.vland
~#! tid=1061495209
So ist richtig. Kuendige stolz an wenn Du einen neuen bug eingebaut hast, aber
entschuldige Dich wenn Du einen fixt.

GdA

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



Re: Vorsicht... (Key, 25. Aug 2003, 22:47:26):
~#! rn=Morgoth rt=1061411907 rg=d.vland
~#! tid=1061411907
Hmm klingt gut .. aber .. es gab einen Raum in den man fluechten kann? Bei
Dir? ;)

Gib mal einen Tipp 

Cu

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



Re: Re: Vorsicht... (Foobar, 25. Aug 2003, 22:53:36):
~#! rn=Key rt=1061844446 rg=d.vland
~#! tid=1061411907
Da kann man in jeden Raum fluechten, da passiert doch nix. :o)

Foobar

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



Re^3: Vorsicht... (Zook, 26. Aug 2003, 11:18:39):
~#! rn=Foobar rt=1061844816 rg=d.vland
~#! tid=1061411907
Key ist halt alt und gebrechlich und vor allem, erinnert er sich nicht mehr
so richtig an Morgoths Gebiete ;)

Zook.

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



Re^4: Vorsicht... (Key, 30. Aug 2003, 20:41:01):
~#! rn=Zook rt=1061889519 rg=d.vland
~#! tid=1061411907
Pah! :)
Durch Morgoth Gebiete renn ich Dir mit verbunden Augen und einhaendig! ;)
Ich hab den Raum deswegen nie als Fluchtort vorgemerkt, da mir da einmal die
Chaosruestung einen streich gespielt hat ...
Wenn erstmal alle hinter einem her sind gibt es keine Fluchtraeume mehr ;)


Cu
*mit dem Krueckstock wedel* :)

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



Bugfixes (Shakedbeer, 27. Sep 2003, 17:44:51):
Ich habe mal meine Repfiles durchforstet und einiges berichtigt. Einige
Aenderungen (besonders an der Gefaengnisinsel) werden erst nach Reboot
wirksam. Einige Typos sind erst berichtigt, wenn man die Quest erneut spielt.
In Zukunft werde ich mal oefter in die Logs sehen. Versprochen!

Shaky - legt jetzt gleich mal ein Verzeichnis /d/vland/shakedbeer/para-gi an.
=8-)

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



Testie fuer Urukhai (Morgoth, 28. Sep 2003, 16:49:05):
Hi,



nachdem ich nun endlich meine Mails wieder restauriert hab, hab ich mich fuer
Lurchi als Tester entschieden. Er spielt einen Elf/Urukhai, welches wohl die
schwierigste Kombination ist, die ich mir so vorstellen kann. Trotzdem viel
Glueck und viel Spass :))

M*

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



Gefaengnisinsel (Shakedbeer,  2. Okt 2003, 16:29:10):
Hallo!

Das kam gerade bei mir an.
 ______ ______________________  ____________________    __________________
|      V                      \/                    \/\/                  \
|                                                                          \
|   Verehrte Gefaengnis-Betreiber,                                         |
|                                                                         /
|   da es neue Richtlinien fuer die Unterbringung von Haeftlingen         \
|   - egal welcher Rasse - gibt, bitten wir Sie, diese schnellstmoeglich   |
 >  auch in Ihrer Anstalt umzusetzen. Verzoegerungen werden mit hohen      |
|   Bussgeldern geahndet.                                                  |
|                                                                          |
|   Der Rat fuer Menschen-/Elfen-/Zwergen-/Dunkelelfen-/Hobbit-            |
|   und Felinenrechte                                                      |
|______________________________________/\_________________________________/

Da ich kein Geld habe, ein solches Risiko einzugehen, wird die Gefaengnis-
insel fuer zwei Wochen fuer Neuzugaenge gesperrt (damit Spieler in der Quest
eine faire Chance haben, die fertig zu spielen) und anschliessend (ab dem 
16.10.2003) fuer min. ein Wochenende bis maximal eine Woche komplett 
geschlossen. Die Zeit laeuft.

Shakedbeer - hat bis dahin eh noch in Para zu tun. 

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



Re: Gefaengnisinsel (Shakedbeer,  2. Okt 2003, 16:38:25):
~#! rn=Shakedbeer rt=1065104950 rg=d.vland
~#! tid=1065104950
Sollte uebrigens noch jemand einen Schluesselbund mit sich rumtragen, der die
Quest noch weiterspielen moechte, so melde er sich bitte bei mir. 

Shaky.

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



Re: Gefaengnisinsel (Montanus,  2. Okt 2003, 16:38:37):
~#! rn=Shakedbeer rt=1065104950 rg=d.vland
~#! tid=1065104950
Dunkelelfen haben keine Rechte. Noch nicht einmal ne Linke.

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



Re: Kampfstaebe (Morgoth,  6. Okt 2003, 15:21:11):
~#! rn=Rikus rt=1065446441 rg=bekanntmachungen
~#! tid=1065446441
Naja, das ist nicht so ganz richtig, Rikus :)

M*

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



Re: Re: Kampfstaebe (Rikus,  6. Okt 2003, 15:22:01):
~#! rn=Morgoth rt=1065446471 rg=d.vland
~#! tid=1065446441
na gut, echte Kamfpstaebe meine ich :)

Rikus

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



Re: Gefaengnisinsel (Shakedbeer, 16. Okt 2003, 08:58:39):
~#! rn=Shakedbeer rt=1065104950 rg=d.vland
~#! tid=1065104950
Hi!

Nochmal zur Erinnerung: Heute ist die letzte Chance fuer die Spieler, die
noch auf der Gefaengnisinsel hocken. Ab morgen gibts die alten Files nicht
mehr und ihr wacht im Void auf... 

Shaky ruft: In 15 Stunden werde ich die Gefaengnisinsel zerstoeren. Teile
Shaky ruft: mir mit, wenn Du in die Zauberergilde zum jammern gebracht werden
Shaky ruft: moechtest.

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



Waffen (Morgoth, 18. Okt 2003, 16:04:33):
Hi,


alle Waffen in Orkhausen und den Katas sollten nun eine Laenge haben. Falls
ich irgendwo eine uebersehen hab, bitte schrei(b)en :)

Dies gilt natuerlich nur fuer neu geclonte Waffen.

M*

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



Waffen #2 (Morgoth, 19. Okt 2003, 19:40:44):
Die Gebiete von Koomi und Saikan sind nun auch mit Waffenlaengen versehen.


M*

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



Re: Re: Gefaengnisinsel (Shakedbeer, 21. Okt 2003, 23:04:38):
~#! rn=Shakedbeer rt=1066287519 rg=d.vland
~#! tid=1065104950
Aufgrund der Umstellung gibt es in ein paar Tagen auch neue Fussringe fuer
alle, die die Quest haben. Wo man die abholen kann schreibe ich noch. Die
alten sind hiermit eingezogen. ;-)

Shaky - heute mal zerstoererisch...

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



Re^3: Gefaengnisinsel (Shakedbeer, 22. Okt 2003, 09:06:11):
~#! rn=Shakedbeer rt=1066770278 rg=d.vland
~#! tid=1065104950
Ich konnte gerade die Wache auf Shaky Island dazu ueberreden, neue Fussringe
zu verteilen.

Shaky - Ueberredungskuenstler.

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



Re^4: Gefaengnisinsel (Shakedbeer, 22. Okt 2003, 09:25:57):
~#! rn=Shakedbeer rt=1066806371 rg=d.vland
~#! tid=1065104950
Bevor jetzt alle fragen: Ich meine wirklich die Wache auf Shaky Island. Die
Gefaengnisinsel ist noch zu.

Shaky.

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



Re^5: Gefaengnisinsel (Qitess, 22. Okt 2003, 11:50:58):
~#! rn=Shakedbeer rt=1066807557 rg=d.vland
~#! tid=1065104950
Mist, und ICH hab den Antrag auf Mitgliedschaft im Foerderverein schon
weggeschickt.

:D

QI**

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



Neueroeffnung (Shakedbeer, 28. Okt 2003, 18:27:00):
Hallo!

Die Gefaengnisinsel ist nun neu eroeffnet. Es gibt weder neue FPs noch
gravierende Aenderungen, die ein Neuspielen der Quest sinnvoll machen wuerden.
(Wartet noch bis Winterburg, und schaut dann nochmal rein.)

Shaky - heute mal geheimnisvoll.

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



Kaempfer-NPC (Morgoth, 12. Nov 2003, 21:17:08):
~#! on=Morgoth ot=1068668117 og=etikette
Hi


ich hab mal ein bissi an meinen Std-Kaempfer-NPC gebaut. Bitte die Vorsicht
beim betreten von Orkhausen auf MAX_LP setzten, sonst koennte es ganz schnell
nen Besuch bei Lars geben :))

M*

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



Klitzekleine Aenderung (Morgoth, 12. Jan 2004, 22:44:01):
Der Ork schielt jetzt ein bischen beim Einschaetzen :)


M* grinst Redman an

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



Achtung... (Morgoth,  2. Feb 2004, 19:31:26):
mit dem Kampfstock. Nonne hat mich mal getreten und ich hab echt mal was getan
*staun* :)

M*

-----------------------------------------------------------------------------



Die Balance mal wieder... (Morgoth,  1. Mar 2004, 19:06:46):
sie hat sich gemeldet und ich hab ein bissi was geaendert. :)

M*

-----------------------------------------------------------------------------



Re: Die Balance mal wieder... (Zook,  1. Mar 2004, 19:07:20):
~#! rn=Morgoth rt=1078164406 rg=d.vland
~#! tid=1078164406
Werden bestimmt eh nur unhoefliche und ruppige Gestalten merken....

Zook.

-----------------------------------------------------------------------------



Bugfix (Morgoth, 13. Mar 2004, 13:11:03):
in den Tomaten :)

M*

-----------------------------------------------------------------------------



Bugfix (Morgoth, 24. Mar 2004, 17:43:16):
Hi

durch einen "kleinen" Bugfix im Spellbook der Uruk-Hai "koennten" diese
Orkilis "etwas" staerker sein. 

M* :)


-----------------------------------------------------------------------------



Alte Fehden, neue Magier (Morgoth, 17. Apr 2004, 21:22:20):
Hi Leute


ich hab das Portal mal ein bischen aufgepeppt. Einige wird es sicher sehr
freuen :)

M*

-----------------------------------------------------------------------------



Dimensionsriss (Morgoth, 29. Apr 2004, 22:22:42):
Oh ihr Furchtlosen...

es hat sich ein Riss in den Dimensionen eroeffnet und ein schreckliches Wesen
ist aus ihnen empor gestiegen. Es brachte ein seltsamen Stein mit sich, der
wundersame Kraefte haben soll.

M* singt: 'Welcome to dying...'

-----------------------------------------------------------------------------



Bugfix (Morgoth,  1. Mai 2004, 21:25:30):
Aehm, ja...

Da war wohl seit 1999 ein klitzekleiner Kaefer in den Saeuredaemonen. Danke an
Dunst fuer den Hinweis :))

M*
P.S.: Ach ja, er is gefixed.

-----------------------------------------------------------------------------



Re: Bugfix (Mupfel,  1. Mai 2004, 21:27:08):
~#! rn=Morgoth rt=1083439530 rg=d.vland
~#! tid=1083439530
Da ist doch eh ein Kaefer in mehreren Deiner NPCs: sie sind zu schwach ;)

SCNR

-mupfel-

-----------------------------------------------------------------------------



Re: Re: Bugfix (Morgoth,  1. Mai 2004, 21:28:41):
~#! rn=Mupfel rt=1083439628 rg=d.vland
~#! tid=1083439530

Tja, damals (vor Zauberern, Kaempfern ...) waren die richtig heftig. *seufz*

M*

-----------------------------------------------------------------------------



Re^3: Bugfix (Muadib,  1. Mai 2004, 22:25:47):
~#! rn=Morgoth rt=1083439721 rg=d.vland
~#! tid=1083439530
lass uns die steinbeisserhoehle stuermen

-----------------------------------------------------------------------------



Re^4: Bugfix (Bambi,  2. Mai 2004, 10:01:16):
~#! rn=Muadib rt=1083443147 rg=d.vland
~#! tid=1083439530
Ich geh mit.

-----------------------------------------------------------------------------



Trichter (Humni, 10. Jun 2004, 15:03:18):
Huhu,

ein gewisser Trichter funktioniert nur noch in einer Richtung.

Begruendung: Geld soll nur dann mitgenommen werden, wenn das auch erlaubt sein
soll.

Mit der bisherigen Funktion des Trichters konnte man solche Stellen umgehen.

Humni

-----------------------------------------------------------------------------



Re: Trichter (Humni, 10. Jun 2004, 15:04:06):
~#! rn=Humni rt=1086872598 rg=d.vland
~#! tid=1086872598
War wohl was missverstaendlich: Umgehen konnt man damit Stellen, wo man eben
KEIN Geld mitnehmen sollte.

Humni

-----------------------------------------------------------------------------



Re: Re: Trichter (Croft, 10. Jun 2004, 16:13:10):
~#! rn=Humni rt=1086872646 rg=d.vland
~#! tid=1086872598
Das was ich mich dann frage: wieso wurde das nicht schon August 2002
vorgenommen?  Die Problematik bestand da genauso, und die Fakten sollten
doch eigentlich bekannt gewesen sein, oder etwa nicht?

Croft

-----------------------------------------------------------------------------



Re: Re: Trichter (Asuka, 10. Jun 2004, 16:36:59):
~#! rn=Humni rt=1086872646 rg=d.vland
~#! tid=1086872598
Also mich wuerde jetzt dochmal interessieren an welche Stellen denn da
so gedacht wurde. Ausser Standardzeugs wie z.b. Seherraeuber wollen mir
einfach keine Orte einfallen, wo explizit kein Geld hinsollte.
Aber ich bin ja nur ein kleiner Spieler und kenn mich nicht aus.

Asuka

-----------------------------------------------------------------------------



Re^3: Trichter (Humni, 10. Jun 2004, 16:40:30):
~#! rn=Asuka rt=1086878219 rg=d.vland
~#! tid=1086872598
SChlachtfeld in Vland, Waechter auf einer Bruecke fallen mir da ein.

Und die fallen MIR ein. Wenn MIR die einfallen gibt es sicherlich noch 20
weitere Stellen die ich aber nicht kenne.

Und die mag ich nicht alle aendern, und die anderen EMs auch nicht. Darum
haben wir beschlossen, dass Spieler keine Moeglichkeit haben sollen, Geld zu
erschaffen.

Humni

-----------------------------------------------------------------------------



Re^4: Trichter (Asuka, 10. Jun 2004, 16:42:31):
~#! rn=Humni rt=1086878430 rg=d.vland
~#! tid=1086872598
Dann haengt das Ding doch gleich ab. Nutzlos ist es jetzt eh.

Asuka

-----------------------------------------------------------------------------



Re^5: Trichter (Miril, 10. Jun 2004, 16:43:03):
~#! rn=Asuka rt=1086878551 rg=d.vland
~#! tid=1086872598
Na, das ist kein Argument. Das Feuerwehrauto ist auch nutzlos.

Miril

-----------------------------------------------------------------------------



Re^5: Trichter (Humni, 10. Jun 2004, 16:43:05):
~#! rn=Asuka rt=1086878551 rg=d.vland
~#! tid=1086872598
Ich glaube, Zauberer, die gerne Stabmagiepunkte haben wollen, sehen das sicher
anders.

Humni

-----------------------------------------------------------------------------



Re^6: Trichter (Croft, 10. Jun 2004, 16:43:31):
~#! rn=Humni rt=1086878585 rg=d.vland
~#! tid=1086872598
Ich glaube du kennst dich zu wenig mit Zaubis aus :>

Croft

-----------------------------------------------------------------------------



Re^7: Trichter (Maarg, 10. Jun 2004, 16:45:03):
~#! rn=Croft rt=1086878611 rg=d.vland
~#! tid=1086872598
Kann man den Trichter nicht auch entsorgen? ;o)

-----------------------------------------------------------------------------



Re^7: Trichter (Roland, 10. Jun 2004, 16:45:05):
~#! rn=Croft rt=1086878611 rg=d.vland
~#! tid=1086872598
himpf und wie bekomm ich nun mein geld an robin vorbei ... *argl

-----------------------------------------------------------------------------



Re^7: Trichter (Asuka, 10. Jun 2004, 16:46:17):
~#! rn=Croft rt=1086878611 rg=d.vland
~#! tid=1086872598
Ich seh ein ' gibt es sicherlich noch 20 weitere Stellen' auch nicht als
sinnvolles Argument an. Das beruht auf Vermutungen. Aber anstatt mal zu
schauen wieviel Stellen wirklich geaendert werden muesse(t)en, wird mal
wieder ein schnelle Loesung gemacht.
Quick'n'Dirty, wie so viele Aenderungen hier.

Asuka

-----------------------------------------------------------------------------



Re^8: Trichter (Alkohol, 10. Jun 2004, 16:47:09):
~#! rn=Asuka rt=1086878777 rg=d.vland
~#! tid=1086872598
was ist an der entscheidung: Spieler sollen kein Geld machen duerfen
quick'n'dirty?

Alk

-----------------------------------------------------------------------------



Re^8: Trichter (Roland, 10. Jun 2004, 16:47:21):
~#! rn=Asuka rt=1086878777 rg=d.vland
~#! tid=1086872598
So geht es halt am einfachsten .. is ja egal .. wer da alles umdenken muss,
hauptsache schnell beschlossen und leicht erledigt

-----------------------------------------------------------------------------



Re^8: Trichter (Grimmborn, 10. Jun 2004, 16:47:31):
~#! rn=Asuka rt=1086878777 rg=d.vland
~#! tid=1086872598
Eben, ich stimme Asuka da uneingeschraenkt zu: Gleich abhaengen, das Teil,
anstatt da sinnlos dran rumzuverbessern.

GdA

-----------------------------------------------------------------------------



Re^9: Trichter (Asuka, 10. Jun 2004, 16:49:11):
~#! rn=Grimmborn rt=1086878851 rg=d.vland
~#! tid=1086872598
Ach, machen die Spieler wirklich damit Geld? Immerhin haben sie den
Stab vorher mit Geld schon gefuettert, und wandeln jetzt nur ihr
schon vorhandes Guthaben wieder zurueck. Wenn man wirklich aus dem
nichts Geld erschaffen koennte, dann wuerd ich das einsehen.

Asuka

-----------------------------------------------------------------------------



Re^10: Trichter (Alkohol, 10. Jun 2004, 16:50:21):
~#! rn=Asuka rt=1086878951 rg=d.vland
~#! tid=1086872598
waer es dir lieber, wenn all die stellen die Geld klauen auch Stabmagiepunkte
klauen? *g*

Alki

-----------------------------------------------------------------------------



Re^10: Trichter (Roland, 10. Jun 2004, 16:50:23):
~#! rn=Asuka rt=1086878951 rg=d.vland
~#! tid=1086872598
also ich hab immer punkte dabei "gehabt"  ist a) leichter  und b) wust ich
trotzdem was ich noch an guthaben hab .. ... 

-----------------------------------------------------------------------------



Re^9: Trichter (Humni, 10. Jun 2004, 16:51:47):
~#! rn=Grimmborn rt=1086878851 rg=d.vland
~#! tid=1086872598
Also, Roland hat schon ine weitere Stelle gefunden.

Fangen wir vorne an: Es gab einen Magier, der hat einen Robin gebaut. Dieser
Robin sollte den grossn Spilrn das Geld klauen und dn kleinen Spielern geben.

Dann gab es einen Trichter, der hat diese Idee umgangen. Die Spieler kommen
nun so an dem vorbei. Das lag vermutlich nicht in der Absicht des Magiers. War
abr so.

Also denke ich, dass diese Abwertung, Abhangung, Ablehnung oder was auch immer
ihrn Zwck erfullt hat.

Und sorry fuer fehlende e - die Tastatur hier ist nicht toll.

Humni

-----------------------------------------------------------------------------



Re^10: Trichter (Amaryllis, 10. Jun 2004, 16:52:45):
~#! rn=Humni rt=1086879107 rg=d.vland
~#! tid=1086872598
Ich weiss nicht. Du musst Dich doch nicht rechtfertigen.

Die Aenderung ist begruendet und damit aus.

Ama*

-----------------------------------------------------------------------------



Re^10: Trichter (Asuka, 10. Jun 2004, 16:53:07):
~#! rn=Humni rt=1086879107 rg=d.vland
~#! tid=1086872598
Sorry Humni, aber Robin ist wirklich ein schlechtes Beispiel. Ich lauf
an Robin vorbei mit richtig viel Geld im Inv und er nimmt mir nichts ab.
Ja, auch ohne Trichter.

Asuka

-----------------------------------------------------------------------------



Re^11: Trichter (Croft, 10. Jun 2004, 16:53:33):
~#! rn=Amaryllis rt=1086879165 rg=d.vland
~#! tid=1086872598
Naja.  Ist immer noch nicht begruendet wieso das nicht gleich so gemacht
worden
ist.  Die genannten Stellen gab es auch schon vor 2 Jahren ...

Croft

-----------------------------------------------------------------------------



Re^12: Trichter (Roland, 10. Jun 2004, 16:54:27):
~#! rn=Croft rt=1086879213 rg=d.vland
~#! tid=1086872598
das waer ja zu einfach gewesen, croft ;)

-----------------------------------------------------------------------------



Re^12: Trichter (Amaryllis, 10. Jun 2004, 16:55:17):
~#! rn=Croft rt=1086879213 rg=d.vland
~#! tid=1086872598
Die Frage ist, ob das die verantwortlichen Erzies ueberhaupt muessen
(begruenden).

Imho jedenfalls nicht unbedingt gegenueber Spielern.

Ama*

-----------------------------------------------------------------------------



Re^13: Trichter (Humni, 10. Jun 2004, 16:58:04):
~#! rn=Amaryllis rt=1086879317 rg=d.vland
~#! tid=1086872598
Ich rechtfertige auch nix, nur zu Croft: Ja, wir sind verflucht spaet dran.
Vielleicht viel zu spaet. Sorry.

Humni

-----------------------------------------------------------------------------



Re^14: Trichter (Grimmborn, 10. Jun 2004, 17:00:04):
~#! rn=Humni rt=1086879484 rg=d.vland
~#! tid=1086872598
Wie waere es denn, als Ausgleich fuer die zwei Jahre lang ungerechtfertigten
Vorteile, sagen wir, 30 zufaellige Spiele zu toeten? Das sollte unterm Strich
doch die Vorteile wieder ausgleichen.

GdA

-----------------------------------------------------------------------------



Re^14: Trichter (Roland, 10. Jun 2004, 17:15:28):
~#! rn=Humni rt=1086879484 rg=d.vland
~#! tid=1086872598
Ok, mal ganz abgesehen das ich nicht erfreut bin ueber die ganze sache, eine
andere sache zu diesem thema noch, koennte man dann wenigstens die seherkarte
etwas verbessern .. wat sind schon 100000 muenzen zum tanken wenn man am
metzeln ist.

-----------------------------------------------------------------------------



Hafenkneipe (Morgoth, 10. Jun 2004, 17:53:58):

Da mal wieder ein Fehler in der Kneipe aufgetreten ist, der von Patryn seit
Ende Maerz noch nicht behoben wurde (Zaubererflaschen), ist die Kneipe bis auf
weiteres erstmal abgehaengt.

M*, fackelt auch nur kurz

-----------------------------------------------------------------------------



Re^15: Trichter (Hisasul, 10. Jun 2004, 18:13:10):
~#! rn=Roland rt=1086880528 rg=d.vland
~#! tid=1086872598
Meiner Meinung nach hat Humnis Argumentation einen Haken, den man nicht
vergessen sollte.
Warum soll es keine Moeglichkeit geben eine solche Stelle (wie Robin oder das
Schlachtfeld, oder...) mit einem Objekt umgehen zu koennen. Es ist ja nicht
so, dass jeder der hier nen Charakter beginnt gleich einen Trichter geclont
bekommt, sondern man muss ihn sich erstmal holen (ok, in dem Fall nicht schwer
erreichbar) und dann auch noch hinter seine Funktionsweise kommen.
Mit der Aenderung oder dem Abhaengen von solchen ("altbewerten") Tools schafft
ihr hier nicht mehr Spielfreude, im Gegenteil. Das ist jetzt nicht nur auf den
Trichter bezogen, aber viele Aenderungen der letzten Zeit sind fuer den
Spielspass nicht foerderlich, ich kenne sogar Leute, die deswegen nicht mehr
spielen moechten.
Sonst kann man naemlich weitermachen und z.B. gleich noch den VS abhaengen,
oder glaubt hier wer im Ernst dran, dass eine Waffe dieser Art und Macht heute
noch durch die Balance kommen wuerde? Aber an den traut ihr euch noch nicht
ran, was?

Viele sehen das wahrscheinlich anders, ich moechte hier aber keine Diskussion
anzetteln. Nehmt meine Meinung einfach zur Kenntnis und amuesiert euch
drueber.
HisAsul

-----------------------------------------------------------------------------



Re^16: Trichter (Morgoth, 10. Jun 2004, 18:16:38):
~#! rn=Hisasul rt=1086883990 rg=d.vland
~#! tid=1086872598

Tja, sei froh dass ich den Posten nicht bekommen habe. Mir wuerden da noch ein
paar weitere Sachen einfallen, die "geringfuegig" geaendert wuerden.

M*

-----------------------------------------------------------------------------



Re^17: Trichter (Nonne, 10. Jun 2004, 18:17:32):
~#! rn=Morgoth rt=1086884198 rg=d.vland
~#! tid=1086872598
Och, mir fallen da auch ein paar Sachen ein, aber ich haenge am Leben (c;

-----------------------------------------------------------------------------



Re^18: Trichter (Morgoth, 10. Jun 2004, 18:18:00):
~#! rn=Nonne rt=1086884252 rg=d.vland
~#! tid=1086872598
Weichei.

-----------------------------------------------------------------------------



Re^16: Trichter (Darkwing, 10. Jun 2004, 18:19:51):
~#! rn=Hisasul rt=1086883990 rg=d.vland
~#! tid=1086872598
Suess, nun hat Humni aus Versehen das gewichtslose Geld abgeschafft - vor zwei
Jahren haett mich das ganz schoen geaergert, nun kann ich nur grinsen :>

Darkwing

-----------------------------------------------------------------------------



Re^17: Trichter (Miril, 10. Jun 2004, 18:24:37):
~#! rn=Darkwing rt=1086884391 rg=d.vland
~#! tid=1086872598
Ich glaube kaum, dass es ein Versehen war ;). 

Miril

-----------------------------------------------------------------------------



Re^16: Trichter (Boing, 10. Jun 2004, 19:14:34):
~#! rn=Hisasul rt=1086883990 rg=d.vland
~#! tid=1086872598
Seit 1992 gibt es jetzt das MG ... und seit 1992 gibt es den von 
Spielern immer wieder kehrenden Spruch 'in letzter Zeit wurden 
viele Dinge geaendert, die den Spielspass mindern'. Mein Gott muss 
das MG 1992 gut gewesen sein. :) Es ist einfach so, dass im Mud
Entscheidungen getroffen werden, dass Dinge geaendert werden, die
der Administration so nicht gefallen. Langfristig gesehen dient
das gerade der Erhaltung des Spielspasses, wenn man bekannte
Schwaechen ausmerzt. Alte Spieler die nicht flexibel genug fuer
die ein oder andere Aenderung sind hoeren dann auf, es kommen
dafuer neue, die nichts anderes als das aktuelle Verhalten kennen.
Glaubst Du denn wirklich dass ein neuer Spieler sagt: 'Poeh! Doofes
Mud! Hier gibt es kein gewichtloses Geld! Ich geh woanders hin!'
Na egal, wieso schreib ich das eigentlich? 

  Boing

-----------------------------------------------------------------------------



Re^17: Trichter (Miril, 10. Jun 2004, 19:16:00):
~#! rn=Boing rt=1086887674 rg=d.vland
~#! tid=1086872598
Also ganz definitiv: Das MG war 1992 nicht so gut.

Miril

-----------------------------------------------------------------------------



Re^18: Trichter (Morgoth, 10. Jun 2004, 19:19:00):
~#! rn=Miril rt=1086887760 rg=d.vland
~#! tid=1086872598
Wie auch, da gabs noch kein verlorenes Land :)

M*

-----------------------------------------------------------------------------



Re^17: Trichter (Mupfel, 10. Jun 2004, 19:19:42):
~#! rn=Boing rt=1086887674 rg=d.vland
~#! tid=1086872598
> Na egal, wieso schreib ich das eigentlich?

Du schreibst hier indirekt auch ein Loblied auf das neue Lichtsystem ;)

-mupfel-

-----------------------------------------------------------------------------



Re^19: Trichter (Miril, 10. Jun 2004, 19:19:46):
~#! rn=Morgoth rt=1086887940 rg=d.vland
~#! tid=1086872598
Stimmt. Es gab auch keinen Trichter. Und vermisst hat ihn auch keiner.

Miril

-----------------------------------------------------------------------------



Re^20: Trichter (Mupfel, 10. Jun 2004, 19:43:57):
~#! rn=Miril rt=1086887986 rg=d.vland
~#! tid=1086872598
Viel interessanter finde ich die Dinge, die *nicht* geaendert werden, sei es,
weil "wir das schon immer so machen", sei es weil der Magier, ders verbrochen
hat, unantastbar ist (aus welchen Gruenden auch immer).

-mupfel-

-----------------------------------------------------------------------------



Re: Hafenkneipe (Roland, 10. Jun 2004, 19:45:47):
~#! rn=Morgoth rt=1086882838 rg=d.vland
~#! tid=1086882838
Hiho, nun nochmal zu dem schnell und einfach ... 
mustest du die ganze kneipe abhaengen ..?
da konnte mann ja immerhin auch yrdsteine aufladen und ein gewisses amulet ist
auch gegehrt!

Ro.*

-----------------------------------------------------------------------------



Re: Re: Hafenkneipe (Morgoth, 10. Jun 2004, 19:46:25):
~#! rn=Roland rt=1086889547 rg=d.vland
~#! tid=1086882838
Ja

-----------------------------------------------------------------------------



Re^3: Hafenkneipe (Roland, 10. Jun 2004, 19:47:13):
~#! rn=Morgoth rt=1086889585 rg=d.vland
~#! tid=1086882838
 ...

-----------------------------------------------------------------------------



Re^17: Trichter (Vanion, 10. Jun 2004, 19:57:25):
~#! rn=Boing rt=1086887674 rg=d.vland
~#! tid=1086872598
Also wenn ich diese Artikel so lese, denke ich bei mir: Schade das wir nie
einen Kaiser im Mud hatten. Dem Mud fehlt es wirklich daran, mal einen Kaiser
gehabt zu haben. 

Wie schoen waer es jetzt, den Satz: 
  Frueher, als wir noch einen Kaiser hatten, war alles besser!

anzubringen.

Doch leider, leider ... wir haben keinen. Naja, die Demokraten in uns kommen
wohl auch ohne den Nebensatz aus.

V*, traeumt von der Guten Alten Zeit (tm)

-----------------------------------------------------------------------------



Re^18: Trichter (Mupfel, 10. Jun 2004, 20:03:09):
~#! rn=Vanion rt=1086890245 rg=d.vland
~#! tid=1086872598
Aeh, wir *hatten* einen Kaiser. Kaiser Boing I.

-mupfel-

-----------------------------------------------------------------------------



Re^4: Hafenkneipe (Darklor, 10. Jun 2004, 20:05:07):
~#! rn=Roland rt=1086889633 rg=d.vland
~#! tid=1086882838
Immer diese Schnellschuesse...

Darklor

-----------------------------------------------------------------------------



Re^5: Hafenkneipe (Morgoth, 10. Jun 2004, 20:06:05):
~#! rn=Darklor rt=1086890707 rg=d.vland
~#! tid=1086882838

Wie bereits geschrieben, hat Patryn ende Maerz ne Mail zu diesem Bug bekommen.
Das sind *rechne* viele Wochen, in denen er den haette fixen koennen. Also nix
Schnellschuss.

M*

-----------------------------------------------------------------------------



Re^6: Hafenkneipe (Darklor, 10. Jun 2004, 20:07:06):
~#! rn=Morgoth rt=1086890765 rg=d.vland
~#! tid=1086882838
Hmm... Patryn: Zuletzt ausgeloggt: Mon, 29. Mar 2004, 23:37:46 (72d 20:28:36).

Darklor

-----------------------------------------------------------------------------



Re^6: Hafenkneipe (Humni, 10. Jun 2004, 20:07:32):
~#! rn=Morgoth rt=1086890765 rg=d.vland
~#! tid=1086882838
ALso ich lehne mich nun mal aus dem Fenster und bruelle laut, dass ich das
eben meiner Meinung nach entbuggt habe. Von daher darfst Du die ruhig wieder
anklemmen. Darfst auch laut schreien, wenn ich den Bug immer noch uebersehen
habe.

Humni

-----------------------------------------------------------------------------



Re^7: Hafenkneipe (Morgoth, 10. Jun 2004, 20:07:40):
~#! rn=Darklor rt=1086890826 rg=d.vland
~#! tid=1086882838
Naja, Patryn vielleicht, aber bei (Patryn) siehts anders aus.

M*

-----------------------------------------------------------------------------



Re^8: Hafenkneipe (Darklor, 10. Jun 2004, 20:09:36):
~#! rn=Morgoth rt=1086890860 rg=d.vland
~#! tid=1086882838
Also, so ((patryn)) heisst bestimmt kein Spieler hier!

Darklor ;)

-----------------------------------------------------------------------------



Re^17: Trichter (Ensof, 10. Jun 2004, 20:10:04):
~#! rn=Morgoth rt=1086884198 rg=d.vland
~#! tid=1086872598
.. vermutlich einer der Gruende, warum Du ihn nicht bekommen hast.

Ensof (der an Vernunft bei Personalentscheidungen glaubt - ein wenig) 

-----------------------------------------------------------------------------



Re^18: Trichter (Akasha, 10. Jun 2004, 20:13:00):
~#! rn=Ensof rt=1086891004 rg=d.vland
~#! tid=1086872598
Ja, man merkt, dass du noch nicht so lange hier bist...

Akasha

-----------------------------------------------------------------------------



Re^19: Trichter (Darklor, 10. Jun 2004, 20:14:32):
~#! rn=Akasha rt=1086891180 rg=d.vland
~#! tid=1086872598
Is es nich so das Vitamin B die Personalentscheidungen trifft?

Darklor

-----------------------------------------------------------------------------



Re^6: Hafenkneipe (Patryn, 10. Jun 2004, 20:14:48):
~#! rn=Morgoth rt=1086890765 rg=d.vland
~#! tid=1086882838
Entschuldigung dass ich zu bloed bin mein Diplom in vernuenftigen Zeiten
in die Hand zu bekommen. Du schaffst es nicht mal mit genuegend Zeit Dein
Zeug bugfrei hinzubekommen und rennst hier elefantentenmaessig durch den
Porzellanladen.

-- 
patryn

PS: Wusste gar nicht dass der Trichter so beliebt ist ;)

-----------------------------------------------------------------------------



Re^19: Trichter (Ensof, 10. Jun 2004, 20:16:10):
~#! rn=Akasha rt=1086891180 rg=d.vland
~#! tid=1086872598

(*Akasha anschnurrend*) Mag wohl sein. Aber ich habe in dieser Zeit 
einige Personalentscheidungen (auch und gerade im Bereich Balance)
gesehen, die ich sehr vernuenftig fand. Ich hoffe doch, dass das
nicht purer Zufall war ..

Ensof

-----------------------------------------------------------------------------



Re^20: Trichter (Morgoth, 10. Jun 2004, 20:18:04):
~#! rn=Ensof rt=1086891370 rg=d.vland
~#! tid=1086872598

Hey, nich Akasha anschnurren, sonst gibts haue.

M*

-----------------------------------------------------------------------------



Re^21: Trichter (Turbo, 10. Jun 2004, 21:14:19):
~#! rn=Morgoth rt=1086891484 rg=d.vland
~#! tid=1086872598
Wir Katzen schnurren jeden an, den wir anschnurren wollen, wenn
uns danach ist. Ich habe sogar schon in Deine Richtung geschnurrt,
weil mir aus gutem Grunde danach war (ok, auch schon gefaucht).

Ein so grosser Koeter, dass er eine Katze einschuechtern koennte,
wuerde auf Grund seiner Masse implodieren und zum schwarzen Loch
werden.

Miau

Turbo

-----------------------------------------------------------------------------



to artikel 49 (Muadib, 10. Jun 2004, 22:23:11):
~#! rn=Roland rt=1086889547 rg=d.vland
~#! tid=1086882838
her mit der liste, immer wieder gerne gesehen

lass das "hab ich schon 1000mal gemacht" stecken und immer noch her damit

wir sind bloed und uneinsichtig und benoetigen den steten tropfen

-----------------------------------------------------------------------------



Re: to artikel 49 (Ogo, 11. Jun 2004, 00:41:13):
~#! rn=Muadib rt=1086898991 rg=d.vland
~#! tid=1086882838
Es gibt da so ein hartnaeckiges Geruecht; ich will probieren, es
wiederzugeben:

"Die Kaempfer werden nicht angefasst[1], da sie Boings Steckenpferd sind, und
damit quasi goettlichem Schutze unterliegen."


[1] Im Sinne von 'In ertraegliche Staerkeformen' gewandelt.


Ogo, heute ganz ganz mutig ;->

-----------------------------------------------------------------------------



Re^16: Trichter (Foobar, 11. Jun 2004, 01:10:49):
~#! rn=Hisasul rt=1086883990 rg=d.vland
~#! tid=1086872598
> Sonst kann man naemlich weitermachen und z.B. gleich noch den VS
> abhaengen, oder glaubt hier wer im Ernst dran, dass eine Waffe
> dieser Art und Macht heute noch durch die Balance kommen wuerde?

Nein.

> Aber an den traut ihr euch noch nicht ran, was?

Doch.

Foobar

-----------------------------------------------------------------------------



Re^16: Trichter (Gloinson, 11. Jun 2004, 01:24:53):
~#! rn=Hisasul rt=1086883990 rg=d.vland
~#! tid=1086872598
> Warum soll es keine Moeglichkeit geben eine solche Stelle (wie Robin
> oder das Schlachtfeld, oder...) mit einem Objekt umgehen zu koennen.

Weil die Erschaffer dieser Stellen das nicht wollten.

Faktisch sind solche Objekte eine Missachtung der Ideen und Konzepte
anderer, wenn nicht mit ihnen oder ihrem Nachfolger abgesprochen.
Irgendwer hat also geschlampt - ob nun der vielleicht unwissende
Erschaffer, die nicht allmaechtige Balance oder der heimlich in sich
hineingrinsende weil wohl um die Luecke wissende Spieler.



-----------------------------------------------------------------------------



Re^17: Trichter (Darklor, 11. Jun 2004, 05:48:29):
~#! rn=Gloinson rt=1086909893 rg=d.vland
~#! tid=1086872598
Oder der Erschaffer dieser Stellen... ;)

Darklor

-----------------------------------------------------------------------------



Re^18: Trichter (Ark, 11. Jun 2004, 10:07:10):
~#! rn=Darklor rt=1086925709 rg=d.vland
~#! tid=1086872598
Der wohl am wenigsten, wenn er/sie lange nicht mehr taetig war. Und es wird
immer schwerer werden, den Ueberblick zu behalten, als Spieler aber auch als
Magier. Deshalb ist es logisch, dass es auch in Zukunft Veraenderungen (und
dabei sprech ich mal bewusst nicht von Abwertung) an Objekten, Quests, NPCs,
Raeumen, etc. geben wird. Dynamik und so. Da wir Menschen haeufig noch sehr
statisch denken, kommt man mit Veraenderungen halt nicht so gut zurecht. Aber,
noch ein 5 Euro Sparschwein Spruch, die Zeit heilt alle Wunden, und so wird es
auch hier sein. Sonst koennte man hier naemlich nichts mehr anfassen.
Achso, zu obigem, als der Trichter das virtuelle Licht des MorgenGrauens
erblickte, lief Robin schon seit Jahren herum, und damals kannte man keinen
neumodischen Krams wie Geldkarte und Wandlungsschnickschnack. Meinereiner darf
sich auch altersmaessig zu den alten Hasen zaehlen, und ich habe hier schon
vernommen, dass so eine Geldkarte "nur" 100K Muenzen aufnimmt.
Frag ich mich mal, wie ich das nur gemacht habe, als ich gemetzelt habe, "Das
kannst Du nicht mehr tragen."
Ist wie mit der Handygeneration, nimm ihnen das Spielzeug weg und sie werden
in der Stadt verhungern. Klar, frueher war alles besser :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^19: Trichter (Amaryllis, 11. Jun 2004, 10:10:42):
~#! rn=Ark rt=1086941230 rg=d.vland
~#! tid=1086872598
> Ist wie mit der Handygeneration, nimm ihnen das Spielzeug weg und sie werden
> in der Stadt verhungern. Klar, frueher war alles besser :-)

Besser haette man es nicht ausdruecken koennen :)

Ama*, kichernd.

-----------------------------------------------------------------------------



Re^25: Trichter (Montanus, 11. Jun 2004, 10:14:06):
~#! on=Montanus ot=1086941192 og=schmarrn
~#! rn=Azrael rt=1086941082 rg=schmarrn
~#! tid=1086872598
Setzt euch alle hin und schreibt in eurer schoensten Handschrift (das ist das,
wozu man einen Stift und keine tastaur braucht) auf ein Blatt Papier 50mal:
Das ist alles nur ein Spiel.

Und ihr werdet sehen, es geht euch hitnerher besser.

-----------------------------------------------------------------------------



Re^26: Trichter (Zook, 11. Jun 2004, 10:38:37):
~#! rn=Montanus rt=1086941646 rg=d.vland
~#! tid=1086872598
Berichtest Du aus eigener Erfahrung?

Zook.

-----------------------------------------------------------------------------



Re^27: Trichter (Montanus, 11. Jun 2004, 10:39:47):
~#! rn=Zook rt=1086943117 rg=d.vland
~#! tid=1086872598
Rat mal, warum ich eine so schoene uns lesbare Handschrift habe.

-----------------------------------------------------------------------------



Re: Re: to artikel 49 (Boing, 11. Jun 2004, 11:15:54):
~#! rn=Ogo rt=1086907273 rg=d.vland
~#! tid=1086882838
Jaja, damit kamen immer wieder Leute an ... oder war es immer wieder
derselbe? Keine Ahnung ... Fakt ist jedenfalls dass ich nachdem ich
die Kaempfer uebernommen hatte, die Gilde ausnahmslos abgewertet hab,
teilweise drastisch. Aber man sieht ja nur das, was man sehen will. :)
  Boing

-----------------------------------------------------------------------------



Re^3: to artikel 49 (Ogo, 11. Jun 2004, 11:32:26):
~#! rn=Boing rt=1086945354 rg=d.vland
~#! tid=1086882838
Da wir nun bei den Fakten gelandet sind, habe ich noch drei Fragen:

1) Du bewertest Deine Abwertungen nur im Ausmass ("drastisch"), nicht in der
Hinlaenglichkeit. "Drastisch" kann und darf nicht das Ziel sein. Sind die
Kaempfer Deiner Meinung nach "ausreichend" abgewertet?

2) Ich kenn mich mit der Kaempfergeschichte wenig aus. Wo gab es denn die
drastischen Abwertungen? (Interessiert mich wirklich)

3) Ich sehe keinen wirklichen Bezug der Aussage, dass Du viel abgewertest
hast, zu der Formulierung des Geruechtes, dass sich sonst niemand traut, Deine
Sachen anzufassen. Vielleicht ist genau dies gar nicht gewollt und man sollten
dem Untouchable-Ruf aktiv entgegenwirken?


Ogo, der natuerlich nur das sieht, was er sehen will

-----------------------------------------------------------------------------



Re^4: to artikel 49 (Boing, 11. Jun 2004, 11:36:21):
~#! rn=Ogo rt=1086946346 rg=d.vland
~#! tid=1086882838
Meiner Meinung nach sind die Kaempfer ausreichend abgewertet, ja. 
Wobei ich uebrigens gar nicht mehr fuer die Kaempfer verantwortlich 
bin, falls Dir das entgangen sein sollte. :) Ueber die genauen Abwertungen
kannst Du Dich im MPA Archiv schlau machen, das wurde alles entsprechend
verkuendet, vermutlich in der Rubrik gilden.kaempfer.
Und zum Punkt 'meine Sachen', die Kaempfergilde war nie meine Sache, die
Gilde ist von Zardoz. Ich wurde nur vor Jahren gebeten mich der Gilde
anzunehmen, da Zardoz nicht mehr aktiv war.
  Boing

-----------------------------------------------------------------------------



Re^4: to artikel 49 (Zook, 11. Jun 2004, 11:42:51):
~#! rn=Ogo rt=1086946346 rg=d.vland
~#! tid=1086882838
Ich finde es muessig, mich inhaltlich mit einem "hartnaeckigen Geruecht"
auseinanderzusetzen, wenn derjenige, der es vorbringt, betont, sich 
mit den "Kaempfergeschichten" wenig auszukennen. 

Zook.

-----------------------------------------------------------------------------



Re^5: to artikel 49 (Grimmborn, 11. Jun 2004, 11:47:51):
~#! rn=Zook rt=1086946971 rg=d.vland
~#! tid=1086882838
Du verwechselst "muessig" mit "sinnlos".

GdA

-----------------------------------------------------------------------------



Re^6: to artikel 49 (Muadib, 11. Jun 2004, 13:14:28):
~#! rn=Grimmborn rt=1086947271 rg=d.vland
~#! tid=1086882838
muessig und sinnlos passt
aber danke nochmal an ogo fuer das kolportieren eines geruechtes ohne jegliche
sachkenntnis 

-----------------------------------------------------------------------------



Re^19: Trichter (Bambi, 11. Jun 2004, 13:38:14):
~#! rn=Ark rt=1086941230 rg=d.vland
~#! tid=1086872598
Um mich als Robin-Warter mal zu Wort zu melden.
Robin stiehlt nicht von der Geldkarte. Nicht, weil das beabsichtigt war,
sondern weil die Implementierung von Robin dermassen von hinten durch die
Zitze...
Dass ich das nicht aendere hat aber auch einen guten Grund, naemlich den, dass
ich es bekloppt faende, wenn ein NPC mit einem (mobilen?) Kartenleser (und
Kenntnis etwaiger Geheimcodes zur Freigabe der Geldsumme...) das Geld abhebt.
Ich finde es aber auch gut, dass Humni den Trichter auf die von ihm verwendete
Weise geaendert hat. Dass man beliebig Geld in "Ich bin zwar Geld aber nicht
mehr als solches erkennbar" umwandeln kann, finde ich schlecht, eben aus dem
Grund, dass ich Robin anpassen muesste, wenn ich verhindern wollte, dass
zuviel auf einmal nach Amalgrim getragen wird.
Ich wage sogar zu orakeln, dass im Zuge einer Robin-Ueberarbeitung ploetzlich
eben dieser NPC "mal eben" Stabmagiepunkte geklaut und in einem Spell
zerstaeubt haette. Also, er haette euch zerstaeubt, mit euren
Stabmagiepunkten. Begruendung? Naja, wenn ihr schon Humnis Argumenten nicht
folgen wollt: Magierwillkuer.
So, jetzt duerft ihr mich anmeckern.
Bambi, sich mit Humni solidarisierend.

-----------------------------------------------------------------------------



Re^7: to artikel 49 (Maharet, 11. Jun 2004, 18:42:11):
~#! rn=Muadib rt=1086952468 rg=d.vland
~#! tid=1086882838
Ich find das ja klasse, dass es doch noch jemand geschafft hat, von nem
Trichter auf das Kaempfer-Abwerten-Thema zu kommen.  Ich hatte mir schon
Sorgen gemacht.  Obwohl so richtig elegant das dann doch nicht war.  Aber es
wird ja noch reichlich Gelegenheiten geben, das zu ueben ;)

Maha, Spion und Giftmischer aD

-----------------------------------------------------------------------------



Re^8: to artikel 49 (Anatol, 11. Jun 2004, 18:52:08):
~#! rn=Maharet rt=1086972131 rg=d.vland
~#! tid=1086882838
Eventuell gibt es ja eine Godwin-Version extra fuer die MPA. :)



-----------------------------------------------------------------------------



Re^9: to artikel 49 (Mupfel, 11. Jun 2004, 23:27:51):
~#! rn=Anatol rt=1086972728 rg=d.vland
~#! tid=1086882838
Immerhin war die Abwehr diesmal nicht so stark, wie sie haette sein koennen.
Es fehlte z.B. ein wirklich polemischer Artikel von Anatol. Aber er koennte
noch einen nachreichen...

-mupfel-

-----------------------------------------------------------------------------



Re^10: to artikel 49 (Vector, 12. Jun 2004, 09:09:34):
~#! rn=Mupfel rt=1086989271 rg=d.vland
~#! tid=1086882838
Schon aufgefallen das quasi nur Kaempfer am jammern sind?
Die Aenderung ist ebenso nachvollziehbar wie einzusehen und noetig 
(wobei es schon lustig war mit dem Trichter die Seherraeuber zu
beklauen).
Warum die Behebung einer Funktion die ja ganz offensichtlich eh 
zum Spielen in der Grauzone benutzen werden konnte nun auf einmal
eine massive Minderung des Spielspass sein soll kann ich nicht ganz
nachvollziehen, nunja.

--Vector--

-----------------------------------------------------------------------------



Re^11: to artikel 49 (Darklor, 12. Jun 2004, 12:37:23):
~#! rn=Vector rt=1087024174 rg=d.vland
~#! tid=1086882838
's liegt vielleicht daran, das die Grauzone immer die schoenste Spielwiese
is...

Darklor ;)

-----------------------------------------------------------------------------



Re^17: Trichter (Gnome, 12. Jun 2004, 17:26:59):
~#! rn=Gloinson rt=1086909893 rg=d.vland
~#! tid=1086872598
nunja.
naehme man deine argumente zu hilfe, koennte man auch - mit etwas
phantasie - alle fackeln im mud abschaffen.
begruendung: fackeln erhellen einen raum, damit ein spieler was sieht.
magier, die einen dunklen raum ohne licht geschrieben haben, wollen
eben nicht, dass ein spieler was sieht, sonst haette er ihn hell
gemacht. also: fackeln abhaengen.
natuerlich ist das beispiel etwas uebertrieben. aber du siehst schon,
was man daraus machen koennte, ja?

@ogo: ich hab noch die artikel von boing bezueglich der abwertungen
      aufm rechner. wir haben damals alle rotz und wasser geheult.
      wer sie haben moechte, mail an mich.

und ueberhaupt: wer benutzt schon trichter oder geldkarte bei DEN
prozenten, die da verlorengehen?

gnOme. zwerg. goldgierig.

-----------------------------------------------------------------------------



Re^18: Trichter (Anatol, 12. Jun 2004, 17:32:21):
~#! rn=Gnome rt=1087054019 rg=d.vland
~#! tid=1086872598
Den Koeder schluckt keiner, Gnome. Zu offensichtlich.


-----------------------------------------------------------------------------



Re^19: Trichter (Darklor, 12. Jun 2004, 18:05:49):
~#! rn=Anatol rt=1087054341 rg=d.vland
~#! tid=1086872598
Aber recht hat er irgendwie ;)

Darklor /trichterlos ;)

-----------------------------------------------------------------------------



Re^18: Trichter (Miril, 13. Jun 2004, 02:10:02):
~#! rn=Gnome rt=1087054019 rg=d.vland
~#! tid=1086872598
Genau das will ich. Das ist echt total unfair, dass meine tollen Raeume, in
denen es dunkel sein muss, damit die Spieler die tolle Tastfunktion benutzen
fuer die meisten gar nicht dunkel sind und sie um den Spass gebracht werden.
Also: Fackeln abhaengen, sofort.

Miril (hat uebrigens zuviel Wein getrunken)

-----------------------------------------------------------------------------



Re^19: Trichter (Morgoth, 13. Jun 2004, 02:13:08):
~#! rn=Miril rt=1087085402 rg=d.vland
~#! tid=1086872598


Auch wenn das vielleicht nach d.gebirge gehoert. Das gabs wirklich. In der
Drakofestung gibts irgendwo ne Karte und die Leutchen, die sie gefunden hatten
haben ewigkeiten gesucht und geraetselt, was das "D" bedeuten soll. Als sie
mich dann gefragt hatten und ich "Dunkelheit" gesagt hab...naja. Es war halt
nicht dunkel :( 

Brauchen wir jetzt noch ne Lichtquellenbalance? 

M* schaut die "Schuldigen" jetzt auch gar nicht an und grinst auch nicht

-----------------------------------------------------------------------------



Re^20: Trichter (Darklor, 13. Jun 2004, 02:15:15):
~#! rn=Morgoth rt=1087085588 rg=d.vland
~#! tid=1086872598
Die Tastfunktion wird ueberbewertet ;)

Darklor

-----------------------------------------------------------------------------



Re^21: Trichter (Anatol, 13. Jun 2004, 14:33:28):
~#! rn=Darklor rt=1087085715 rg=d.vland
~#! tid=1086872598
Oh, ich hab mit Erstaunen festgestellt, dass es tatsaechlich dunkle
Raeume im MG gibt, und davon nicht wenige. So ohne Hydratoeterruestung
und als Nichtkaempfer (d.h. kein Feuerschwert/-sonstwas in den Pfoten)
faellt einem dann schon auf, dass z.B. im Moment alle Raeume mit Seher-
Portal unbeleuchtet sind.

Anatol ausnahmsweise unterbelichtet ;)

-----------------------------------------------------------------------------



Re^22: Trichter (Gwenili, 13. Jun 2004, 15:35:31):
~#! rn=Anatol rt=1087130008 rg=d.vland
~#! tid=1086872598
apropos unbeleuchtet und seher - beim seherhaus kann man mit hydraruestung
einfach kein licht mehr machen (nach wie vor)
*einfach mal ein ceterum censeo drausmachend*
Gwen.

-----------------------------------------------------------------------------



Themawechsel :) (Morgoth, 13. Jun 2004, 15:36:45):
So, um den Trichterthread mal bischen abzuwuergen gibts was neues in den Katas
:)

Hat was mit Licht zu tun.

M*

-----------------------------------------------------------------------------



Re: Themawechsel :) (Darklor, 13. Jun 2004, 15:38:37):
~#! rn=Morgoth rt=1087133805 rg=d.vland
~#! tid=1087133805
Egal - wer interessiert sich schon fuer Katas? 

Darklor ;)

-----------------------------------------------------------------------------



Re: Re: Themawechsel :) (Vector, 13. Jun 2004, 15:39:55):
~#! rn=Darklor rt=1087133917 rg=d.vland
~#! tid=1087133805
jeder dessen hauptaufgabe es nicht ist nur 
in jedem mpa-artikel zu staenkern.

-----------------------------------------------------------------------------



Alchemist (mal wieder) (Morgoth, 27. Sep 2004, 15:26:51):
Da der Bug immer noch nicht ausgebaut ist, ist die Alchemistenkneipe im vLand
bis auf weiteres abgehaengt.

M* 

-----------------------------------------------------------------------------



Re: Alchemist (mal wieder) (Zook, 27. Sep 2004, 15:29:17):
~#! rn=Morgoth rt=1096291611 rg=d.vland
~#! tid=1096291611
Schoene Regelmaessigkeit mit diesen Posts...

Zook.

-----------------------------------------------------------------------------



Re: Alchemist (mal wieder) (Medic, 29. Sep 2004, 00:50:14):
~#! rn=Morgoth rt=1096291611 rg=d.vland
~#! tid=1096291611
Hm, kann man denn da mal einen Bugfix erwarten?
Ich mein, der Alchemist mag ja von Patryn sein, aber er steht in Vland. Und da
in diesen wenigen Raeumen diverse begehrte Dinge zu finden sind (Amulett,
Stifte, Handschuhe....) - ist das dann nicht auch im Interesse des RM, dass
der Kram nicht unbedingt abgehaengt werden muss? Abgesehen davon: Wie
schwerwiegend ist der Bug? Immerhin war das die ganze letzte Zeit dran, ohne
dass man da als Spieler etwas von bemerkt haette (oder?).

Medic

-----------------------------------------------------------------------------



Re: Re: Alchemist (mal wieder) (Morgoth, 29. Sep 2004, 01:09:56):
~#! rn=Medic rt=1096411814 rg=d.vland
~#! tid=1096291611

NEIN, der Alchemist steht nicht in /d/vland 
Also hoer auf zu jammern oder mach das woanders.

M*

-----------------------------------------------------------------------------



Re^3: Alchemist (mal wieder) (Medic, 29. Sep 2004, 01:25:22):
~#! rn=Morgoth rt=1096412996 rg=d.vland
~#! tid=1096291611
Hmpf.
Erstens habe ich eine ganz normale Frage gestellt und habe keine Ahnung, warum
ich deswegen in einem solchen Ton angepisst werde. Zweitens steht aus
Spielersicht der Alchemist im Vland; wenn das in der Verzeichnisstruktur
anders aussieht, ist das fuer mich als Spieler nicht sichtbar. Drittens habe
ich keinen Bock drauf, das Ventil zu spielen, wenn ich eine normale Frage
stelle, um die es offenbar irgendwelches Kompetenzgerangel gibt. Wenn du keine
Lust hast, in einer angemessenen Art und Weise auf eine Anfrage einzugehen,
dann lass es lieber ganz bleiben.

-----------------------------------------------------------------------------



Re^4: Alchemist (mal wieder) (Darklor, 29. Sep 2004, 02:54:16):
~#! rn=Medic rt=1096413922 rg=d.vland
~#! tid=1096291611
...Magier halt...

Darklor ;)

-----------------------------------------------------------------------------



Re^3: Alchemist (mal wieder) (Darkwing, 29. Sep 2004, 21:43:48):
~#! rn=Morgoth rt=1096412996 rg=d.vland
~#! tid=1096291611
Na wenn das gar kein vland ist, dann musste den auch nicht abhaengen :-)

-----------------------------------------------------------------------------



Re^4: Alchemist (mal wieder) (Gato, 30. Sep 2004, 00:39:19):
~#! rn=Darkwing rt=1096487028 rg=d.vland
~#! tid=1096291611
Treffer versenkt ;)

-----------------------------------------------------------------------------



Re^5: Alchemist (mal wieder) (Medic, 30. Sep 2004, 00:50:31):
~#! on=Medic ot=1096498215 og=schmarrn
~#! rn=Morgoth rt=1096497993 rg=schmarrn
~#! tid=1096291611
Meinetwegen zieh es ins laecherliche....aendert aber nichts an der
Stichhaltigkeit: Es ist Vland? Warum debuggst du es als RM dann nicht? Es ist
kein Vland? Was kuemmerts dich dann?

-----------------------------------------------------------------------------



Re^6: Alchemist (mal wieder) (Nonne, 30. Sep 2004, 08:43:14):
~#! rn=Medic rt=1096498231 rg=d.vland
~#! tid=1096291611
Sag ich mal was als Co-RM dazu:
- Den Bug gibt es schon sehr lange, aber aufgrund einer Mudlib-Aenderung, die
genau diese Bugs zum vorschein bringen sollte, sieht man den jetzt auf -debug
- Der zustaendige Magier sieht das anders und laesst lieber zig Objekte im
Nirvana vergammeln, als den Bug zu fixen. Da das jetzt nicht mehr der Fall
ist, schiebt er die Schuld auf die EM, die den Bug eingebaut haben.
- Das zustaendige File liegt an einem Ort, wo Morgoth keine Schreibrechte hat,
er kann den Bug also nicht selbst fixen, hat aber dem zustaendigen Magier
wiederholt bescheid gesagt, mit o.g. Resultat.
- Da der NPC in einem Raum im VLand ist, kann Morgoth den NPC abhaengen, womit
der Bug auch nicht mehr zutage tritt, und damit versuchen, Druck auf den
zustaendigen Magier auszuueben.
- Morgoth versucht eigene Bugs so schnell wie moeglich zu fixen. Wenn ihr
vergleicht, wie oft Magier buggen, vergleicht auch, wieviel sie angeschlossen
haben. Und einige Bugs sind wirklich nicht einfach zu finden.
- Ich habe keine Ahnung (um bestimmten Leute schonmal den Wind aus den Segeln
zu nehmen.)

Nonne, geht diese Diskussion auf den Geist.

-----------------------------------------------------------------------------



Re^7: Alchemist (mal wieder) (Humni, 30. Sep 2004, 10:29:30):
~#! rn=Nonne rt=1096526594 rg=d.vland
~#! tid=1096291611
So, mal mein Senf dazu:

Ich suche diesen Bug. Ich gehe nicht darauf ein, warum der Bug schwer zu
finden ist. Ich habe nun einige Sachen eingebaut, die beim Finden dieses Bugs
helfen koennen.

Sorry, dass ich nicht immer die Zeit habe, sofort zu reagieren. Ich habe den
Bug in der Tat fuer gefixt gehalten, sonst wuerde ich solche Dinge auch nicht
sagen.

Humni

-----------------------------------------------------------------------------



Re^8: Alchemist (mal wieder) (Turbo, 30. Sep 2004, 11:14:00):
~#! rn=Humni rt=1096532970 rg=d.vland
~#! tid=1096291611
Ist ja alles hochinteressant. Die Frage stellt sich fuer mich, wieso 
das qua Abklemmen auf dem Ruecken der Spieler ausgetragen wird.
Redet Ihr nicht miteinander?
Ich stelle mir gerade vor, wir (Serveradministration), die Netzadmins 
und die Anwendungsbetreuung haetten Kommunikationsprobleme (das kommt
in der Tat vor), und deshalb wuerden wir den Kunden den Zugang 
abklemmen. Da wuerde sehr schnell von oben mit dem dicken Hammer
draufgehauen. Aber offenbar ermangelt es hier am oben wie am Hammer.

Turbo (Kater)

-----------------------------------------------------------------------------



Re^9: Alchemist (mal wieder) (Muadib, 30. Sep 2004, 11:15:52):
~#! rn=Turbo rt=1096535640 rg=d.vland
~#! tid=1096291611
keiner der betroffenen wird fuer die arbeit hier bezahlt
das ist kein argument pro vergraetzen von spielern, sollte aber vor manchen
vergleichen bedacht werden.

-----------------------------------------------------------------------------



Re^9: Alchemist (mal wieder) (Catweazle, 30. Sep 2004, 11:30:22):
~#! rn=Turbo rt=1096535640 rg=d.vland
~#! tid=1096291611
Offenbar wurde hier ein Kundenzugang abgeklemmt, der nicht funktionert. So
what. 

Zum Glueck wird hier keiner bezahlt und keiner kann verantwortlich gemacht
werden. Ja, hier gibt es Kommunikationsprobleme. Nein, hier wird sowas nicht
bestraft. Dafuer gehen aber auch keine Aktien in den Keller. Ich will auch gar
nicht derjenige sein, der die Kommunikationsprobleme zu loesen hat. Wer sollte
auch, schliesslich ist hier alles freiwillig. 

Zooooooooook!

YTC

-----------------------------------------------------------------------------



Re^10: Alchemist (mal wieder) (Turbo, 30. Sep 2004, 12:01:58):
~#! rn=Catweazle rt=1096536622 rg=d.vland
~#! tid=1096291611
>Offenbar wurde hier ein Kundenzugang abgeklemmt, der nicht 
>funktionert. So what.

Nein, eben nicht. Von Kundenseite aus gesehen funktioniert ja alles.
Das ist eher damit zu vergleichen, wenn hier ein Tivoli-Agent ausrastet
und die TEC-Console aussieht wie ein Friedhof (fatal events sind 
schwarz). Dann koennen wir eben nicht die Kunden abklemmen, weil 
irgendwelche Kollegen was nicht auf die Reihe gekriegt haben. Und 
bezahlt oder nicht, solange nicht die Integritaet des Systems in
Frage steht, ist das auch hochgradig unprofessionell.

Da dieser Streit schon so lange geht: Warum kann nicht der Code in die
Verantwortung (und die schreibbaren Verzeichnisse) des/der RM Vland
uebergehen? Faellt da jemand ein Zacken aus der Krone? Oder kann ein
Schreibberechtigter (z.B. Humni) nicht angesprochen werden, statt dass
abgeklemmt wird? Ist das nicht etwas kindisch, auf dem Ruecken der
Spieler "Druck auszuueben"?

Turbo (Kater)

-----------------------------------------------------------------------------



Re^11: Alchemist (mal wieder) (Morgoth, 30. Sep 2004, 12:06:09):
~#! rn=Turbo rt=1096538518 rg=d.vland
~#! tid=1096291611
Jetzt halt Dich mal flach hier. Du hast ueberhaupt keine Ahnung von dem was Du
da redest. Wenn Du meinen und Nonnes und Humnis Artikel verstanden haettest,
haettest Du bemerken muessen, dass wir durchaus geredet haben und versucht
haben das Problem zu loesen.
> Nein, eben nicht. Von Kundenseite aus gesehen funktioniert ja alles.
Wenn es auf -Debug scrollt ist NICHT alles OK. Du magst da als
Spielerwuerstchen vielleicht nix von mitbekommen, aber das ist auch Sinn der
Sache.
Jetzt verschwinde und geh an Deinen Kratzbaum pinkeln, lass uns das regeln.

M*

-----------------------------------------------------------------------------



Re^12: Alchemist (mal wieder) (Turbo, 30. Sep 2004, 12:18:59):
~#! rn=Morgoth rt=1096538769 rg=d.vland
~#! tid=1096291611

[ ggfs. nach schmarrn verlegen. Danke ]

>Jetzt halt Dich mal flach hier. Du hast ueberhaupt keine Ahnung von
>dem was Du da redest. 

Hund, getroffen, Wuff? *g*

>Wenn Du meinen und Nonnes und Humnis Artikel verstanden haettest,
>haettest Du bemerken muessen, dass wir durchaus geredet haben und
>versucht haben das Problem zu loesen.

Und weil eine Loesung nicht moeglich war, traegt man das ueber die
Spieler und die MPA aus? Interessant.

>> Nein, eben nicht. Von Kundenseite aus gesehen funktioniert ja alles.
>Wenn es auf -Debug scrollt ist NICHT alles OK. 

Was genau hast Du an "von Kundenseite aus gesehen" nicht verstanden?

Wer hat behauptet, es sei alles OK gewesen? Aber war es noetig,
die Spieler hereinzuziehen?

War die Integritaet des Systems gefaehrdet?

>Du magst da als Spielerwuerstchen vielleicht nix von mitbekommen, 
>aber das ist auch Sinn der Sache.

Das ist meine Rede. Ich sitze naemlich beruflich genau an dem Ende,
an dem Ihr Euch im Mud als Amateure betaetigt. Deshalb kann ich
die Qualitaet Eurer Arbeit diesbezueglich, was Arbeitsteilung, 
Koordination und Kooperation angeht, sehr wohl einschaetzen. Und nein, 
wir pruegeln uns nicht vor den Kunden, nie, garnienicht. Und nicht nur,
weil wir Geld dafuer bekommen.

>Jetzt verschwinde und geh an Deinen Kratzbaum pinkeln, 
 
Nein und nein. Ich verschwinde nicht, und ich pinkle nicht
an Kratzbaeume. Tut mir echt leid fuer Dich (tm).

>lass uns das regeln.

Darum bat ich die ganze Zeit.

Turbo (Kater)

-----------------------------------------------------------------------------



Re^13: Alchemist (mal wieder) (Boing, 30. Sep 2004, 12:25:49):
~#! rn=Turbo rt=1096539539 rg=d.vland
~#! tid=1096291611
Du hast recht ... am Besten Du machst ein eigenes Mud auf.
  Boing

-----------------------------------------------------------------------------



Re^14: Alchemist (mal wieder) (Mingo, 30. Sep 2004, 12:27:23):
~#! rn=Boing rt=1096539949 rg=d.vland
~#! tid=1096291611
Er arbeitet sich auf einen Posten hier hoch ;)


-----------------------------------------------------------------------------



Re^15: Alchemist (mal wieder) (Boing, 30. Sep 2004, 12:27:55):
~#! rn=Mingo rt=1096540043 rg=d.vland
~#! tid=1096291611
Glaube ich auch, er scheint ja alle noetigen Qualifikationen zu haben. :)
Und das sogar besser als alle die seit Jahren hier taetig sind!
  Boing

-----------------------------------------------------------------------------



Re^16: Alchemist (mal wieder) (Turbo, 30. Sep 2004, 12:32:39):
~#! rn=Boing rt=1096540075 rg=d.vland
~#! tid=1096291611
Die Unfaehigkeit, ein Sachthema zu eroertern, ohne in persoenliches
Gepoebel abzugleiten, scheint im MG tatsaechlich weit verbreitet.

Turbo (Kater)

-----------------------------------------------------------------------------



Re^17: Alchemist (mal wieder) (Mingo, 30. Sep 2004, 12:33:03):
~#! rn=Turbo rt=1096540359 rg=d.vland
~#! tid=1096291611
Kannst du das nicht in deine Signatur schreiben? Dann haben alle Rubriken was
davon. Staendig.


-----------------------------------------------------------------------------



Re^17: Alchemist (mal wieder) (Boing, 30. Sep 2004, 12:33:29):
~#! rn=Turbo rt=1096540359 rg=d.vland
~#! tid=1096291611
Sachthemen werden durchaus sachlich eroertert, aber mit Leuten die sich mit
dem Thema auskennen. Du gibst halt ueberall Deinen Senf dazu, also leb damit
dass man sich darueber amuesiert. :)
  Boing

-----------------------------------------------------------------------------



Re^18: Alchemist (mal wieder) (Turbo, 30. Sep 2004, 12:38:39):
~#! rn=Boing rt=1096540409 rg=d.vland
~#! tid=1096291611
Wie schoen. Ich amuesiere mich auch sehr gut ueber die Gereiztheiten,
Eitelkeiten und Berechenbarkeiten. Dann haben wir doch alle was davon.

Turbo (Kater)

-----------------------------------------------------------------------------



Re^17: Alchemist (mal wieder) (Muadib, 30. Sep 2004, 12:42:51):
~#! rn=Turbo rt=1096540359 rg=d.vland
~#! tid=1096291611
meintest du nicht die faehigkeit persoenliches gepoebel in ein sachthema zu
kleiden?

-----------------------------------------------------------------------------



Re^18: Alchemist (mal wieder) (Turbo, 30. Sep 2004, 12:47:53):
~#! rn=Muadib rt=1096540971 rg=d.vland
~#! tid=1096291611
paranoia?

Turbo (Kater)

-----------------------------------------------------------------------------



Re^19: Alchemist (mal wieder) (Mingo, 30. Sep 2004, 12:52:35):
~#! rn=Turbo rt=1096541273 rg=d.vland
~#! tid=1096291611
Willst du das Wort definiert haben oder hast du welche abzugeben, Mr "immer
kommen die boesen Polemiker, wenn ich das MUD retten will"-Kater?


-----------------------------------------------------------------------------



Re^20: Alchemist (mal wieder) (Turbo, 30. Sep 2004, 12:59:07):
~#! rn=Mingo rt=1096541555 rg=d.vland
~#! tid=1096291611
Projektion? *g*

Turbo (Kater)

-----------------------------------------------------------------------------



Re^21: Alchemist (mal wieder) (Morgoth, 30. Sep 2004, 13:00:07):
~#! rn=Turbo rt=1096541947 rg=d.vland
~#! tid=1096291611
Wenn Du Infos ueber nen Beamer haben willst, dann mach das doch in
hardsoftware. Hier bist Du falsch.

M*

-----------------------------------------------------------------------------



Re^22: Alchemist (mal wieder) (Nonne, 30. Sep 2004, 13:01:22):
~#! rn=Morgoth rt=1096542007 rg=d.vland
~#! tid=1096291611
Vielleicht hat er auch Probleme mit dem Skalarprodukt und fuer Mathe-Nachhilfe
haben wir noch keine Rubrik

-----------------------------------------------------------------------------



Re^7: Alchemist (mal wieder) (Patryn, 30. Sep 2004, 13:03:30):
~#! rn=Nonne rt=1096526594 rg=d.vland
~#! tid=1096291611
Ich schiebe die Schuld nicht auf EM und hab gar kein
Problem damit, den zu fixen.
Sicher, ich find es albern, darauf herumzureiten, dass es diesen
Bug gibt, der eindeutig nachtraeglich erst zu einem nervigen
Bug gemacht wurde, aber wenn ich das mit zwinkerndem Auge
dazusage, will ich damit gar nicht sagen, dass ich das prinzipiell
falsch finde.
Ich finde es aber auch niucht richtig, wenn dieses Zeug nun einen
richtigen Bug wirft und man zum Abklemmen gezwungen ist, wenn der Magier
grad keine Zeit/Motivation/... hat.

-----------------------------------------------------------------------------



Re^8: Alchemist (mal wieder) (Grimmborn, 30. Sep 2004, 15:11:12):
~#! rn=Patryn rt=1096542210 rg=d.vland
~#! tid=1096291611
Mal voellig unrelated, es gibt ja Leute, die finden die Praxis, Haustiere
(z.B. der Gattung Felis) zu kastrieren, unverantwortlich.
Ich bin da eher gegenteiliger Meinung.

GdA

-----------------------------------------------------------------------------



Re^15: Alchemist (mal wieder) (Kellybundy, 30. Sep 2004, 19:19:52):
~#! rn=Mingo rt=1096540043 rg=d.vland
~#! tid=1096291611
Nana, wer wird denn Turbo gleich so grauenhaft bestrafen wollen? *GG*

Blondchen

-----------------------------------------------------------------------------



So ! (Morgoth, 30. Sep 2004, 22:50:44):

Ich hab mit Humni (hoffentlich) endlich den Bug gefixed und ihr
Jammerer^WZauberer koennt nun wieder euren Mist beim Alchemisten kaufen (oder
was auch immer ihr da macht).

M* (diplomatisch wie immer)

-----------------------------------------------------------------------------



Re: Re: So ! (Kellybundy, 30. Sep 2004, 22:51:46):
~#! rn=Arathorn rt=1096577486 rg=d.vland
~#! tid=1096577444
Ferkel!

-----------------------------------------------------------------------------



Re^13: Alchemist (mal wieder) (Gato,  1. Okt 2004, 00:43:34):
~#! rn=Turbo rt=1096539539 rg=d.vland
~#! tid=1096291611
Wenn einer, der mit Muehen kaum,
gekrochen ist auf einen Baum,
schont meint dass er ein Vogel waer,
so irrt sich der :)

-----------------------------------------------------------------------------



Re: So ! (Bambi,  1. Okt 2004, 18:23:10):
~#! rn=Morgoth rt=1096577444 rg=d.vland
~#! tid=1096577444
Das Folgende mal rein hypothetisch:
Angenommen, ich als RM haenge die Zauberergilde ab, weil mir da ein Bug
tierisch auf die Hoerner geht... Muss ich den dann fixen? Krieg ich
Schreibrechte in der Gilde? Darf ich die loeschen?

Und jetzt mal ernsthaft:
WIEVIELE wertvolle Objekte soll der NPC dabei haben, dass ihr so ein Trara
macht, nur weil der ein paar Tage abgehaengt war?
Und bevor jetzt jemand Morgoths "bis auf weiteres" zitiert: nichts wird so
heiss gegessen, wie es einem an den Kopf geworfen wird.

-----------------------------------------------------------------------------



Re: Re: So ! (Anatol,  2. Okt 2004, 14:22:48):
~#! rn=Bambi rt=1096647790 rg=d.vland
~#! tid=1096577444
1. ist das sehr positiv, dass sich Morgoth vom "Der Bug is in der Lib, ich
mach da nix!" offensichtlich zu seinem Vorteil weiterentwickelt hat.

2. Es ist die Entscheidung des RMs, fehlerhaften Code abzuhaengen, zu 
fixen oder sonstwas damit zu tun. Wie er seine Prioritaeten dabei
setzt ist seine Sache. Rechenschaft schuldig ist er der Spielerwelt nicht.
Nachfragen kostet aber nix, oder? ;)

3. Vland war schon immer etwas.... Kindergarten. 

Drei Meinungs-Lira von mir ;)
Anatol :)

-----------------------------------------------------------------------------



Re^13: Alchemist (mal wieder) (Foobar,  2. Okt 2004, 15:45:42):
~#! rn=Turbo rt=1096539539 rg=d.vland
~#! tid=1096291611
> Hund, getroffen, Wuff? *g*

Patryn, bist Du's?

-----------------------------------------------------------------------------



Re^14: Alchemist (mal wieder) (Patryn,  2. Okt 2004, 15:46:06):
~#! rn=Foobar rt=1096724742 rg=d.vland
~#! tid=1096291611
Geh an die frische Luft, das hilft.

-----------------------------------------------------------------------------



Re^15: Alchemist (mal wieder) (Foobar,  2. Okt 2004, 15:50:54):
~#! rn=Patryn rt=1096724766 rg=d.vland
~#! tid=1096291611
*wuff*

-----------------------------------------------------------------------------



Re^10: Alchemist (mal wieder) (Zook,  3. Okt 2004, 18:59:39):
~#! rn=Catweazle rt=1096536622 rg=d.vland
~#! tid=1096291611
Mein Postfach ist leer. ;)

Zook.

-----------------------------------------------------------------------------



Re^16: Alchemist (mal wieder) (Zook,  3. Okt 2004, 19:06:33):
~#! rn=Boing rt=1096540075 rg=d.vland
~#! tid=1096291611
Muss ich mir Sorgen machen?

Zook.

-----------------------------------------------------------------------------



Re^17: Alchemist (mal wieder) (Zook,  3. Okt 2004, 19:06:49):
~#! rn=Turbo rt=1096540359 rg=d.vland
~#! tid=1096291611
Oh, Du mischt da doch auch immer fleissig mit. :)

Zook.

-----------------------------------------------------------------------------



Neulich auf der Gefaengnisinsel... (Shakedbeer, 22. Okt 2004, 16:14:08):
Auf Nachfrage einer einzelnen Dame, hier (nach einigen Jahren mal wieder) die
"Warum PLITSCH?"-Logfile-Highlights. 

MENSCHLICHE GRUENDE gibt es viele, aber einige scheinen auch bei Pinguinen zu
wirken:

Mago antwortete: Furz
Medic antwortete: haemorrhoiden.
Syron antwortete: badekappe
Amsel antwortete: weil das kind eine windel traegt
Terror antwortete: schwimmaermel

Manche Spieler spinne lieber GEMEINE THEORIEEN:

Shadox antwortete: das wasser kocht
Shadox antwortete: kind landet in blut
Shadox antwortete: die eltern wurden von haien getoetet, das kind landet im 
                   blut von ihnen

BESCHIMPFUNGEN UND DROHUNGEN haben bei Eskimos meist keine Wirkung:

Medic antwortete: eskimos sind scheisse
Medic antwortete: und du ganz besonders
Pruedance antwortete: ich hab ploetzlich hunger auf gebratenen eskimo
Kaitano antwortete: du bist ein depp
Raphael antwortete: ich bin klein, mein herz ist rein... rueck den schluessel 
                    raus oder ich hau dich um
Raphael antwortete: ich werd noch ganz wuschig wenn das so weitergeht
Nulill antwortete: du kannst mich mal kreuzweise du bloedes sackgesicht

TECHNISCHE GRUENDE gibt es auch. Selbst Keppler wird herangezogen. :o)

Amsel antwortete: weil es ein wellental erwischt
Amsel antwortete: weil es einen wellenberg erwischt
Rachel antwortete: das kind hat geidelt bis ebbe war?
Garak antwortete: weil sein koerper egonomischer geformt ist und deshalb 
                  leichter ins wasser gleitet und weniger spritzer
verursacht.
Raphael antwortete: der kleine verdraengt eben nicht soviel wasser... und 
                    durch das kepplersche gesetz (das 2.) gekoppelt mit der 
                    super-string-theorie... da _muss_ ein PLITSCH kommen
Nulill antwortete: du hast dich verhoert weil du eis im ohr hast, das 
                   gefroren ist von den platschern von vater und mutter

Wenn man das Raetsel zu oft hoert, greift tatsaechlich VERWIRRUNG um sich:

Pruedance antwortete: je platscher desto plitsch
Pruedance antwortete: der magier veralbert die armen spieler
Pruedance antwortete: weil der kaese keine ecken hatte
Ensof antwortete: PLOTSCH
Garak antwortete: weil aus salat keine autoreifen gemacht wird!
Mudlark antwortete: meinereinenspinntbeimweinen
Vishnu antwortete: in kind ist ein i
Rachel antwortete: das kind war blond?
Unox antwortete: sex mit kleinen gelben haftzettelchen ?
Raphael antwortete: weil die pinguine eigentlich alle schwul sind?

Minjan stellt die Theorie auf, dass MAGIER an allem schuld sind:

Minjan antwortete: ronda
Minjan antwortete: ark
Minjan antwortete: morgoth
Minjan antwortete: patryn
Minjan antwortete: padreic
Minjan antwortete: shakedbeer
Minjan antwortete: eskimo

Inzwischen hat sich wohl rumgesprochen, dass es ein LOG gibt...

Medic antwortete: wenn diese antworten mal ein magier in einem log liest....
Requiem antwortete: Shaky, wenn du dieses Log liest, sei dir im klaren: ich 
                    hasse dieses raetsel und will endlich die loesung wissen 
                    ;)

... und auch Spekulationen zur PGI fehlen nicht.
Chykos antwortete: das wird sich hoffentlich ind er paragefaengsnisinsel 
                   klaeren ;-)

Bleibt nur noch:

Nulill antwortete: ist so, akzeptiers halt

Shaky

-----------------------------------------------------------------------------



Wurfsterne (Nonne, 19. Jan 2005, 11:12:18):
Hallo Leuts,

leider hatte sich in die Berechnung der Kosten fuer die Wurfsterne ein
Kaeferchen eingenistet, das ich zu eurem Leidwesen nun entfernt habe. Aber so
war es gemeint, ganz ehrlich!

Nonne.

-----------------------------------------------------------------------------



Und noch ein Fix (Nonne, 19. Jan 2005, 11:19:04):
Im Metzelgang konnte man die Belohung nicht bekommen, wenn man Frosch war. Da
man bei betreten des letzten Raums die Aufgabe geloest hat, wird man dort nun
automatisch entfroscht, um nicht um die Fruechte der Arbeit betrogen zu
werden.

Nonne.

-----------------------------------------------------------------------------



Re: Wurfsterne (Gnome, 19. Jan 2005, 12:33:41):
~#! rn=Nonne rt=1106129538 rg=d.vland
~#! tid=1106129538
ihr tut in letzter zeit alles dafuer, um die wurfsterne im speziellen und
den metzelspass im allgemeinen, immer unattraktiver werden zu lassen.
sehr seltsam, ganz ehrlich.

gnOme

-----------------------------------------------------------------------------



Re: Re: Wurfsterne (Alkohol, 19. Jan 2005, 12:35:59):
~#! rn=Gnome rt=1106134421 rg=d.vland
~#! tid=1106129538
du findest metzeln, was daraus besteht tonnen wurfsterne zu werfen, attraktiv?

Alk

-----------------------------------------------------------------------------



Re: Und noch ein Fix (Pitfall, 19. Jan 2005, 12:36:35):
~#! rn=Nonne rt=1106129944 rg=d.vland
~#! tid=1106129944
Man koennte Kaefer natuerlich auch in den Objekten
drinlassen, wenn man welche findet.

Pit* - brummelt was von 58101

-----------------------------------------------------------------------------



Re: Re: Wurfsterne (Nonne, 19. Jan 2005, 12:37:07):
~#! rn=Gnome rt=1106134421 rg=d.vland
~#! tid=1106129538
Das die Wurfsterne zu stark waren, darueber sollten sich eigentlich alle einig
sein, deshalb gab es auch einen Beschluss der Balance zu den Wurfsternen. Der
ist aber schon einige Monate oder Jahre alt und wurde aufgrund des Bugs nicht
richtig umgesetzt, wie es die Balance damals forderte. Nun habe ich diesen Bug
entfernt. Wenn das noch erneuter Abwertung aussieht, tut es mir leid, es ist
aber wirklich nur ein Bugfix.

Nonne.

-----------------------------------------------------------------------------



Re^3: Wurfsterne (Gnome, 19. Jan 2005, 12:37:37):
~#! rn=Alkohol rt=1106134559 rg=d.vland
~#! tid=1106129538
korrigiere: "was _unter anderem_ daraus besteht..."
dann: ja.

gnOme

-----------------------------------------------------------------------------



Re^4: Wurfsterne (Grimmborn, 19. Jan 2005, 12:40:39):
~#! rn=Gnome rt=1106134657 rg=d.vland
~#! tid=1106129538
Ich verstehe Dein "in letzter zeit" nicht so richtig - erst hatte ich gedacht,
Du haettest einen Artikel aus dem MPA-Archiv aus dem letzten Jahrtausend
recycled.

GdA

-----------------------------------------------------------------------------



Re^3: Wurfsterne (Gnome, 19. Jan 2005, 12:41:55):
~#! rn=Nonne rt=1106134627 rg=d.vland
~#! tid=1106129538
hey, und ich dachte damals: mensch, da haben die sich ja mal in ihrem
abwertungswahn etwas zurueckgehalten, endlich mal nicht ein gimmick,
was von 100 auf null gekuerzt wird, cool.

naja, was solls, programmier ich halt mehr und metzel weniger.
wenn das euer ziel ist...

gnOme

-----------------------------------------------------------------------------



Re^4: Wurfsterne (Rangorn, 19. Jan 2005, 14:08:46):
~#! rn=Gnome rt=1106134915 rg=d.vland
~#! tid=1106129538
<schmarrn>
Schnell .. verbuggt die Wurfsterne wieder ;o)
</schmarrn>

- Rangorn Khur'Tigres -

-----------------------------------------------------------------------------



Bugfix (Morgoth, 27. Feb 2005, 21:35:33):

Mal wieder ein Bugfix.

Danke an Arathorn (von mir). Ihr duerft ihn gern dafuer pruegeln...wenn ihr
bei Lars wieder raus seid.

M*

-----------------------------------------------------------------------------



Scoreamulett (Ennox, 27. Aug 2007, 09:49:23):
da ich sowieso gerade das ScoreAmu in der Hand habe wegen Grafik aus, hier
mal eine kurze Frage. Es gibt ja einige Infos (Forschung etc.) die einfach
hinten rangepappt werden, waere Euch lieber, dass die auch schick im Kasten
sind oder doch nich?
Mesi

-----------------------------------------------------------------------------



Re: Scoreamulett (Zook, 27. Aug 2007, 09:51:26):
~#! rn=Ennox rt=1188200963 rg=d.vland
~#! tid=1188200963
mach's mal schick. z

-----------------------------------------------------------------------------



Scoreamulett (Ennox,  2. Sep 2007, 15:55:56):
Ich habe das Scoreamulett mal blindenfreundlicher gemacht und dabei etwas 
ueberarbeitet. Das Grafik ein/aus merkt es sich beim Anziehen, also wenn
ihr da die Aenderung sehen wollt, muesst ihr es einmal aus- und anziehen.
Wenn irgend was kaputt ist, sagt bitte Bescheid.
Mesi

-----------------------------------------------------------------------------



Scoreamulett (Esme, 11. Nov 2007, 14:35:35):
Hallo,
Ich musste wegen eines Bugs alle Scoreamulette ersetzen, also nicht wundern,
wenn 
es ausgezogen ist oder irgendwelche Einstellungen zurueckgesetzt wurden.
Der Befehl sziehe sollte nun wieder funktionieren, falls irgendwem noch Dinge
auffallen, die nicht sind, wie sie sein sollten, bitte Bescheid sagen, ich
repariere das dann, sobald ich dazu komme.

Viele Gruesse,
Esme

-----------------------------------------------------------------------------



Gewisse Schuhe (Esme, 21. Dez 2007, 12:14:42):
sollten sich nun bzgl. Beschaedigung/Reparatur wie urspruenglich gedacht
verhalten (wenn
auch vielleicht anders als Spieler sich das vorstellen), allerdings nur
neugeholte
Exemplare.
Gruss, Esme

-----------------------------------------------------------------------------



Die Wurfsterne... (Esme, 27. Apr 2008, 17:54:41):
...sind nun auch dem Zahn der Zeit anheimgegeben.

Dafuer waren ausser in den Sternen selbst auch Aenderungen an Stellen, wo 
man diese bekommt noetig. Wenn also irgendwem seltsame Dinge auffallen
bitte Mail an mich.

Gruss, Esme

-----------------------------------------------------------------------------



Artikel (Esme, 27. Apr 2008, 18:53:32):
Steine
halten nun auch nicht mehr ewig.
Gruss, Esme

-----------------------------------------------------------------------------



Temporaere Verstaerkung (Ark, 30. Jun 2008, 23:50:56):
Hi,
ich bin bis auf weiteres mit Ansprechpartner fuer VLand. Falls ihr Probleme
mit etwas habt, Bugs, etc., was sich nicht durch einen ueblichen Weg erledigt
in einer annehmbaren Zeit, dann helfe ich gerne. Bitte beachten, ich
uebernehme keinen RM Posten :-)
Gleichzeitig versuche ich mich noch in der Abarbeitung der bugs/ideen/typos
bei Xand (nordwestlich Orkhausen, Holzfaellerlager). Dauert eine Weile, aber
es gibt hoffentlich stetige Verbesserung.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Old friends ... (Ark,  3. Jul 2008, 20:36:31):
... die hard. Ein gefluegelter Freund ist wieder gesichtet worden, jetzt
hoffentlich wieder regelmaessiger. Falls nicht, meldet den Feigling einfach an
mich.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Silberkreuz (Esme, 22. Aug 2008, 15:36:52):
Hallo,
Falls jemand bevor er renewed wurde ein Silberkreuz geholt hat und nun etwas
an
vorher vorhandener Funktionalitaet vermisst, moege er sich bitte ein neues
Kreuz holen oder sich vertrauensvoll an mich wenden.

Esme

-----------------------------------------------------------------------------



Im verlorenen Land... (Esme, 22. Sep 2008, 23:42:05):
... ist viel zu tun. Viele Gebiete entsprechen was Beschreibung, Detailtiefe
und Interaktionsmoeglichkeiten angehen nicht mehr dem, was hier heute
ueblich ist, z.B. der Drudenwald und angrenzende Gebiete von Saikan. 
Ausserdem gibt es da einige angefangene Projekte, bei denen es 
schade ist, dass sie nie fertiggeworden sind.

Ich wuerde das gerne aendern und suche Leute die mich dabei tatkraeftig 
unterstuetzen. Details dazu finden sich am Projektbrett.

Ich wuerde mich freuen, wenn sich ein paar interessierte Magier und
werdende Magier finden (einige der Dinge eignen sich als 
Gesellenstuecke, deshalb auch in dieser Rubrik).

Viele Gruesse,
Esme

-----------------------------------------------------------------------------



PGI Developer-Blog (Shakedbeer, 12. Mar 2009, 20:54:09):
Hallo PGI-Fans!

Hier eine kleine Rechnung:
Mehr Zeit fuers MUD + Mac-Fieber = PGI Developer Blog

Wer gerne mitlesen moechte:
http://web.me.com/ingo.dellwig/PGI
User: trailer
Pass: shakedbeer

Viel Spass!
Shaky.

-----------------------------------------------------------------------------



Re: PGI Developer-Blog (Zesstra, 12. Mar 2009, 20:57:46):
~#! rn=Shakedbeer rt=1236887649 rg=d.vland
~#! tid=1236887649
:jubelt Shaky zu.
Heya, da laeuft ja sogar ein Countdown fuer einen neuen Trailer. ;-)

Zesstra

-----------------------------------------------------------------------------



Re: Re: PGI Developer-Blog (Gwen, 12. Mar 2009, 21:03:31):
~#! rn=Zesstra rt=1236887866 rg=d.vland
~#! tid=1236887649
Megacool!
Das war mir nen neuen Titel wert... ;)
Gwen.

-----------------------------------------------------------------------------



Re^3: PGI Developer-Blog (Boing, 13. Mar 2009, 09:17:00):
~#! rn=Gwen rt=1236888211 rg=d.vland
~#! tid=1236887649
Bei mir wird da nichts angezeigt.
  Boing

-----------------------------------------------------------------------------



Re^4: PGI Developer-Blog (Shakedbeer, 13. Mar 2009, 15:32:35):
~#! rn=Boing rt=1236932220 rg=d.vland
~#! tid=1236887649
Hmmm. So gar keine Meldung?
Shaky - erstaunt.

-----------------------------------------------------------------------------



Re^5: PGI Developer-Blog (Anatol, 13. Mar 2009, 16:27:09):
~#! rn=Shakedbeer rt=1236954755 rg=d.vland
~#! tid=1236887649
"Unbekanntes Plugin (video/x-m4v)"


-----------------------------------------------------------------------------



F**** gesucht! (Ennox,  4. Aug 2009, 02:18:51):
Der Forscherpunktsammler ist es leid, selbst das MG zu erforschen, daher ist
er auf die Idee gekommen, diese Aufgabe an willige Spieler abzutreten. Da in
der heutigen Zeit nichts umsonst ist (nichtmal mehr der Tod), konnte ich ihn
ueberreden, sich erkenntlich zu zeigen.

Frohes Forschen,

Gruss Ennox

-----------------------------------------------------------------------------



Stock (Ark, 29. Okt 2009, 21:43:08):
Mit dem Hoopak kann man jetzt die Gegner gezielt treffen ... lt. Syntax schon
frueher moeglich, aber nicht korrekt ... implementiert. Das gilt fuer neue
Stoecke, altes Holz wird nicht ersetzt.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Stock (Zesstra, 29. Okt 2009, 21:44:10):
~#! rn=Ark rt=1256848988 rg=d.vland
~#! tid=1256848988
Alte Stoecke ins Feuer - brenne! ;-)

Zesstra

-----------------------------------------------------------------------------



Re: Re: Stock (Ark, 29. Okt 2009, 21:48:43):
~#! rn=Zesstra rt=1256849050 rg=d.vland
~#! tid=1256848988
134 Hoelzer ... fackel nicht alles ab! :)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



War of the Stocks (Ark,  3. Nov 2009, 22:01:10):
So, nachdem meine Babylonier in Civ4 jetzt Dauerkrieg hatten, habe ich mich
mangels Lust nochmal drangesetzt und hab ihn Dreigottesnamen den Stock wieder
(Verschlimmfixung No.3) geaendert. Er verlangt einen Gegner, dem er gezielt
einen Stein verpasst, wird dieser weggelassen, wird ein zufaellig anwesender
Gegner steinisch beglueckt. Ich hoffe, das passt nun so ... wenn nicht, kann
ich immer noch Verschlimmfixung No.4 einspielen: man trifft sich selbst.
Und jetzt zaehl ich die Sekunden bis "[Moerder:Geist einer Wache] Warst Du
wegen des Bugs bei mir?" :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Sokobanspielende Kaefer... (Esme,  6. Feb 2010, 17:49:56):
...haben sich (evtl. mit Unterstuetzung von mir unbekannter Seite) wieder 
aus dem Staub gemacht.
Das heisst, dass das Raumzeitgefuege im Labyrinth der Gnomenquest wieder
in Ordnung und bespielbar sein sollte.

Esme

-----------------------------------------------------------------------------



Bugfix Schleudersteine (Arathorn,  3. Aug 2010, 23:09:44):
Hallo zusammen,

in den Schleudersteinen von Morgoth (beide Versionen, normal und para) war
ein Bugfix erforderlich, aufgrund dessen ich saemtliche im Spiel befindliche
Steine gegen neue austauschen musste. (Das sollte jetzt aber der letzte Fix
an diesen Dingern gewesen sein.) Ich habe sorgfaeltig geprueft, dass jeder
die vorige Anzahl an Steinen bei diesem Austausch zurueckbekommen hat.
Wenn trotzdem irgendwem etwas auffaellt, oder die Anzahl nicht zu stimmen
scheint, bitte melden.

Gruss, Arathorn.

P.S.: Nein, versucht's gar nicht erst. Ich habe geloggt, wo ich welche Steine
      in welcher Zahl ersetzt habe. ;-)

-----------------------------------------------------------------------------



Das Toeten wird nie mehr so sein wie es war ... (Ark, 22. Feb 2011, 17:40:43):
So oder aehnlich wollte ich jetzt Weltuntergangsstimmung verbreiten und viele
Spieler zum Selbstloeschen animieren ... aber eigentlich Unsinn, es wurde
balanceseitig nur ein wenig an einem Item geschraubt, und die NPC werden
weiterhin eine Sekunde frueher oder spaeter fallen, die Welt geht nicht unter,
und nur Pessimisten loggen sich deshalb fuer immer aus :-)

Wovon ich rede? Die Wurfsterne kosten jetzt ein wenig mehr an Konzentration.
Mehr nicht!


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Das Toeten wird nie mehr so sein wie es war ... (Sharia, 23. Feb 2011, 11:34:47):
~#! rn=Ark rt=1298392843 rg=d.vland
~#! tid=1298392843
Mist, dann muss ich mich loeschen... 

Mal ehrlich: schade fuer diejenigen, die vorher nicht die Gelegenheit hatten
den Skill zu ueben...

Sharia, geht sich loeschen .. oder so :)

-----------------------------------------------------------------------------



Stecken, Staebe, Stoecke ... (Ark,  1. Jul 2011, 10:41:21):
Eigentlich mehr Stock und Stein, die sind naemlich auf die Balance getroffen
und wurden leicht geaendert hinterlassen und heutigen Regeln angepasst. Im
Grunde aendert sich fuehlbar vor allem die Zerfallszeit der Steine, die hat
sich drastisch erhoeht, deshalb:
Froehliches Steinewerfen.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Morgoths Orks... (Zesstra, 22. Mai 2012, 21:16:46):
... buggen jetzt wohl wieder weniger als die letzten Tage. Wenn sich immer
noch nicht richtig metzeln laesst, bitte kurzen Hinweis.

Zesstra

-----------------------------------------------------------------------------



Neulich ist mir etwas Seltsames passiert... (Bugfix, 12. Dez 2012, 22:11:54):
Ich war gerade auf dem Weg nach Orkhausen, als mich ploetzlich ein kleiner 
Orkjunge anrempelte und fast umwarf. 
"Hey, pass' doch auf!", sagte ich zu ihm, doch er strahlte mich nur an. 
"Ich bin ja so aufgeregt! Gerade habe ich mein erstes Reh erlegt, ganz 
allein! Und jetzt werde ich diese unglaublich leckere Rehkeule verputzen!" 
Erschrocken zuckte ich zurueck, als er mir mit der Keule direkt vor dem 
Gesicht herumfuchtelte. 
Mit diesen Worten rannte er auch schon wieder los in Richtung Orkhausen. 
Ich blieb etwas verwundert zurueck. Rehe, hier in der Naehe? Nachdenklich 
betrachtete ich den Boden, als mir die Spur des Jungen auffiel. Sie fuehrte 
direkt nach Osten auf eine grosse Wiese zu. 
Huch, die ist mir hier ja noch nie aufgefallen... 

-----------------------------------------------------------------------------



Re: Neulich ist mir etwas Seltsames passiert... (Bugfix, 12. Dez 2012, 22:12:21):
~#! rn=Bugfix rt=1355346714 rg=d.vland
~#! tid=1355346714
Danksagung

Auch wenn das jetzt ein kleineres Gebiet ist, gehoert es zu einem recht 
grossen Projekt, daher gibt es ein paar mehr Personen, denen hier zu danken 
ist.

Dunst, die letzten Endes Schuld daran hat.
Morgoth, der schon vor Jahren den Rahmen geliefert hat.
Ark, der es trotz wenig Zeit abgenommen und angeschlossen hat.
Und vor allem Nefis, die die Beschreibungen geliefert hat, sodass ich mich 
auf die Technik konzentrieren konnte.

BF

-----------------------------------------------------------------------------



Re: Neulich ist mir etwas Seltsames passiert... (Bambi, 14. Dez 2012, 23:23:21):
~#! rn=Bugfix rt=1355346714 rg=d.vland
~#! tid=1355346714
Sag mir doch bitte, wo genau ich diesen "lieben Orkjungen" finden kann, der da
ein Reh getoetet hat. Ich wuerde den gerne mal besuchen oder jemanden
vorbeischicken...

-----------------------------------------------------------------------------



Re: Fehler bei Details in Patryns Gebieten (Zesstra, 22. Dez 2012, 13:51:13):
~#! rn=Zesstra rt=1356180644 rg=d.wald
~#! tid=1356180644
siehe fuer Details den Artikel in d.wald.

Zesstra

-----------------------------------------------------------------------------



Kleine Aufgabe (Bugfix, 12. Jan 2013, 01:05:23):
Moin zusammen.

In Orkhausen humpelt seit neuestem jemand durch die Gegend. Der wirkt 
irgendwie so, als braeuchte er Hilfe. Vielleicht mag sich ja jemand von euch 
erbarmen?

BF

-----------------------------------------------------------------------------



Was lange wehrt ... (Bugfix, 18. Feb 2013, 22:26:40):
Man kennt sie seit vielen Jahren als zivilisierte Rasse, doch kaum einer 
ahnt, wie es tatsaechlich in ihnen aussieht. Jetzt endlich habt Ihr die 
Moeglichkeit das selbst herauszufinden.

Wer haette damit gerechnet? Tatsaechlich noch vor Taramis ist es mir heute, 
nachdem sie lange auf Eis lagen, gelungen, den Orks den letzten Schliff zu 
geben.

Ich wuensche viel Spass mit der neuen Rasse und Gilde.

BF

-----------------------------------------------------------------------------



Re: Was lange wehrt ... (Bugfix, 18. Feb 2013, 22:27:19):
~#! rn=Bugfix rt=1361222800 rg=d.vland
~#! tid=1361222800
Danksagung:

Ich bedanke mich bei allen, die hier mitgewirkt haben:

Vanion, der eine Wette vorschlug.
Dunst, die eine gute Idee fuer meinen Einsatz hatte.
Morgoth, der den ganzen Kram urspruenglich geschrieben hat und mir erlaubte 
es zu Ende zu bringen.
Ark, der das Anfaenger-Metzelgebiet, die Anfaenger-MQ und die Rasse 
abgenommen hat, vor allem letzteres war gar nicht einfach.
Humni, der die Gilde abgenommen hat, das war stellenweise noch schwieriger.
Nefis, ohne die ich niemals so schnell Arks Anforderungen zum Anschluss der 
Rasse erfuellt haette.
Vector, der am Ende beim Testen eines Spells noch ein viel groesseres Problem
aufzudecken half.
Und allen Leuten, die frueher schon mal getestet oder sonst wie geholfen 
haben, als Morgoth noch dran gebaut hat, sowie allen, die ich jetzt grade 
vergessen hab.

BF

-----------------------------------------------------------------------------



Re: Re: Was lange wehrt ... (Ark, 19. Feb 2013, 00:03:11):
~#! rn=Bugfix rt=1361222839 rg=d.vland
~#! tid=1361222800
... w_ae_hrt so besser :)
Fuer die Erlaubnis, eine andere Gilde als Uruk-hai zu spielen, wenden sie sich
bitte an die Gildenmagier der Wunschgilde. Es kann durchaus sein, dass es
nicht erwuenscht ist, wenn Orks Dunkelelfen oder Katzenkrieger werden. Und bei
anderen Gilden kann es vielleicht etwas dauern (Kaempfer?), bis alles
eingerichtet ist, also nur nicht die Geduld verlieren.
Ich bitte an dieser Stelle auch an Feedback an mich, sollte etwas
ueber-/unter(ne, nich wirklich)trieben sein.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Was lange wehrt ... (Bugfix, 21. Feb 2013, 20:14:44):
~#! rn=Bugfix rt=1361222800 rg=d.vland
~#! tid=1361222800
Moin,

Um kleinen Orkzweities die lange Reise aufs Festland zu ersparen hat sich
Hragznor breit schlagen lassen sich jetzt auch um die Markierung von
Zweitspielern zu kuemmern.

BF

-----------------------------------------------------------------------------



Orks (Miril, 23. Feb 2013, 17:58:44):
Nach Beginn der neuen Uptime wird Lezz ein Einsehen haben und das Portal nach
Orkhausen bereits im ersten Anlauf vergeben. Diese Umstellung koennte vor
allem fuer die Orks unter euch interessant sein. Andere Inselportale wird es
aber nach wie vor erst spaeter geben.

Miril

-----------------------------------------------------------------------------



Der Thron SATANs (Ark,  7. Sep 2013, 09:51:08):
Hi, wer dieses unheilige Artefakt nicht ueberlebt, sollte zumindest seine
Sachen nun davor wiederfinden. Die Ueberlebenschancen, diesen zu ueberleben,
sind zwar gestiegen, aber sind nun wirklich so, wie sie der Erschaffer in
seiner Hinterhaeltigkeit beabsichtigte (Boeses Buch, Absatz 6, Artikel 6,
Punkt 6). Bisher war die Chance so gut wie 0. Dies heisst nicht, dass sie
jetzt wesentlich hoeher ist, aber die dokumentierte Wahrscheinlichkeit tritt
nun erst ueberhaupt ein :-)
Have fun.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Hafenspelunkenkeller (Miril,  8. Jan 2014, 21:55:25):
Wegen akuten Insektenbefalls bleibt der Keller in der Hafenspelunke bis auf
weiteres geschlossen. Ihr muesst leider eure Joints woanders rauchen ;).

Miril

-----------------------------------------------------------------------------



Re: Hafenspelunkenkeller (Miril,  8. Jan 2014, 22:22:53):
~#! rn=Miril rt=1389214525 rg=d.vland
~#! tid=1389214525
Dank eine Insektenspray, das Zesstra schon vor laengerer Zeit entwickelt hat,
ist der Keller nun doch wieder begehbar.

Miril

-----------------------------------------------------------------------------



Ignorieren von Arenen-Scroll (Zesstra, 18. Mar 2014, 22:53:18):
Wer irgendwelche Arenen ignorieren will, sollte folgende neue Eintraege
verwenden:

* Kampfscroll im Fegefeuer: .arena.fegefeuerscroll
* Duellaufforderungen im Fegefeuer: .arena.fegefeuerduell
* Kampfankuendigungen im Fegefeuer: .arena.fegefeuer
* Ankuendigungen von Jaspers Schlachtfeld: .arena.schlachtfeld
* Seherwettbewerb in der Wuestenarena: .arena.seherwettbewerb
* Herausforderungen in der Wuestenarena: .arena.gladiator
* Spielerduelle in der Wuestenarena: .arena.duell

Zesstra

-----------------------------------------------------------------------------



Aufraeumarbeiten im VLand (Bugfix, 21. Jan 2015, 13:17:55):
Moin zusammen,

Ich habe einige Umbauarbeiten an einem weit verbreiteten Standardraum gemacht.
Insbesondere sind eine Reihe Standard-Details raus geflogen, die an
zahlreichen Stellen zu Inkonsistenzen in der Beschreibung fuehrten, aber auch
einige andere Dinge mussten daran glauben.

Wenn irgend etwas auf der Strecke geblieben ist, was ihr fuer wichtig haltet,
dann meldet euch bitte bei mir.

BF

-----------------------------------------------------------------------------



Re: Aufraeumarbeiten im VLand (Bugfix, 22. Jan 2015, 14:08:46):
~#! rn=Bugfix rt=1421842675 rg=d.vland
~#! tid=1421842675
Moin,

Und die Aufraeum-Arbeiten gehen weiter. Heute habe ich Nonnes Metzelgang
entruempelt.

Wie immer gilt, sollte etwas nicht mehr funktionieren ode sich seltsam
verhalten, bitte gebt mir eine Rueckmeldung.

BF, schuettelt Staub aus seiner Kleidung.

-----------------------------------------------------------------------------



Ein Alchemist ... (Bugfix,  4. Feb 2015, 15:17:04):
... hat heute etwas Manieren eingepruegelt bekommen und ist beim Aufraeumen
jetzt vorsichtiger, weshalb er keine Gegenstaende mehr zerstoert, die Spieler
nichtmal einfach haetten weglegen koennen.

BF

-----------------------------------------------------------------------------



Orkhausen (Bugfix,  9. Feb 2015, 17:58:11):
Moin,

Ich habe das Kampfsystem der Orks stark modifiziert. Das sollte eigentlich
keine Auswirkungen haben, hoffe ich.

Wenn es das doch hat, ihr also einen Unterschied zu frueher bemerkt, dann gebt
mir bitte bescheid, bei so grossflaechigen Ueberarbeitungen kann es leider mal
passieren, das irgendwas sich nicht so verhaelt wie gewuenscht.

BF

-----------------------------------------------------------------------------



Para-Orks (Bugfix, 16. Feb 2015, 14:21:09):
Moin,

Heute hat sich, aus bisher nicht nachvollziehbaren Gruenden, ein Para-Ork nach
Normal-Orkhausen verlaufen. Ich hab mal dafuer gesorgt, dass der agressive
Kerl keine Spieler mehr verschreckt. Sollte euch in Normal-Orkhausen ein
Para-Ork ueber den Weg laufen, meldet euch bitte bei mir.

BF

-----------------------------------------------------------------------------



Zu den Aufraeumarbeiten (Isaliel, 18. Mar 2015, 14:01:10):
Hallo,
Ist es so gedacht, dass der Bauarbeiterork oestlich des Stadttores weg
ist, man also keine Ohrenschuetzer mehr bekommen kann?
Und falls man sie doch kriegt: Schuetzen sie wieder vor dem 
Banshee-Geschrei?
Liebe Gruesse Isaliel

-----------------------------------------------------------------------------



Re: Zu den Aufraeumarbeiten (Bugfix, 18. Mar 2015, 14:07:43):
~#! rn=Isaliel rt=1426683670 rg=d.vland
~#! tid=1426683670
Moin,

Der Bauarbeiter ist nur ein bisschen durch die Gegend gelaufen, das kommt vor.
Du findest ihn garnicht weit weg von seiner eigentlichen Position.

Was die Banshee angeht ... Die Ohrenschuetzer machen taub, wie es gedacht ist.
Wenn das nicht gegen die Banshee-Schreie hilft,  dann solltest du das mal an
der Banshee als Fehler absetzen.

BF

-----------------------------------------------------------------------------



Re: Re: Zu den Aufraeumarbeiten (Anatol, 18. Mar 2015, 14:23:22):
~#! rn=Bugfix rt=1426684063 rg=d.vland
~#! tid=1426683670
Diese Denkweise ist im Zweifelsfall nicht zu verallgemeinern. Morgoth
hatte damals (tm) die Ohrenschuetzer ins Spiel gebracht, weil die vom
Banshee-Schoepfer zur Verfuegung gestellten Mittel gegen den Banshee-
Schrei ploetzlich nicht mehr halfen.

Verbockt hatte es damals natuerlich nicht Morgoth, und auch nicht der
Schoepfer der Banshee. Das Problem kam aus einer fuer normale Spieler
experiementell nicht (oder nur sehr schwer) zu ermittelnden Ecke: Der
Maexchentisch. Ein Besuch in Franks Abenteurerkneipe hat gereicht, um
die Spielergehoergaenge auf ewig (bzw. bis zum Tod - was Post-Mortem-
Analysen NICHT vereinfachte) freizupusten. Die Banshee fand's toll.

Bei solchen Themen (Mittel A hilft [nach Wartungsarbeiten] bei Ecke B
nicht mehr gegen Effekt C) wuerde ich nach wie vor versuchen, kundige
Magier direkt zu involvieren.

Anatol

PS: Irgendwo habe ich die Mails noch... :)


-----------------------------------------------------------------------------



Re^3: Zu den Aufraeumarbeiten (Tin, 18. Mar 2015, 14:26:42):
~#! rn=Anatol rt=1426685002 rg=d.vland
~#! tid=1426683670
Die Ohrenschuetzer sind auch nicht mehr das - was sie mal waren.
Wenn man die aufhat, hoert man sowohl die Ebenen noch - das war mal anders
als auch die TM-Nachrichten - das war auch mal anders.
tin

-----------------------------------------------------------------------------



Re^4: Zu den Aufraeumarbeiten (Bugfix, 18. Mar 2015, 14:28:11):
~#! rn=Tin rt=1426685202 rg=d.vland
~#! tid=1426683670
Ja, weil vor einiger Zeit beschlossen wurde, das weder Ebenen noch TMs
wirklich ueber das gehoer kommen, ist ebenfalls keine Sache der
Ohrenschuetzer.

BF

-----------------------------------------------------------------------------



Re^5: Zu den Aufraeumarbeiten (Tin, 18. Mar 2015, 14:31:39):
~#! rn=Bugfix rt=1426685291 rg=d.vland
~#! tid=1426683670
Ah ok :)
und frufe geht uebers gehoer?
Ich finde das verwirrend.
tin

-----------------------------------------------------------------------------



ohrenschuetzer (Elkantar, 18. Mar 2015, 17:26:14):
Hi! Ich komm nochmal auf das zurueck, was anatol sagte. Denn wenn fuer spieler
nicht ersichtlich ist, warum was nicht mehr geht kommt, koennte ich mir
vorstellen noch groesserer mist dabei rum. also, spieler a setzt einen fehler
am fraglichen NPC ab. Magier guckt, sieht, npc ist Ok. jetzt setzt spieler b
einen fehler an den Ohrenschuetzern ab. auch alles Ok. aber etwas hat sich
geaendert. waere denke ich interessant, was es war und wie man jetzt noch nach
neskaja geen, dort kaempfen kann ohne sich zwangslaeufig mit diesem Npc
herumzuaergern.

gruesse

elkantar

-----------------------------------------------------------------------------



Re: ohrenschuetzer (Zesstra, 18. Mar 2015, 23:53:55):
~#! rn=Elkantar rt=1426695974 rg=d.vland
~#! tid=1426695974
Um mal auf den letzten Artikel zu dem Thema zu antworten: wenn festgestellt
wird, dass die Ohrenschuetzer an sich funktionieren, aber fuer NPC xy nicht
und der fuer NPC xy zustaendige Magier meint, die Ohrenschuetzer muessten an
sich wirksam sein, dann ist es IMHO primaer an dem fuer NPC xy zustaendigen
Magier, festzustellen, was los ist. Ja - evtl. sollten sich beide Magier mal
unterhalten. Das sehe ich auch als deren Aufgabe. (Uebrigens koennen Magier
Fehler untereinander transferieren, wenn sie der Meinung sind, jemand anders
sei zustaendig.)

Zesstra

-----------------------------------------------------------------------------



Re: Re: ohrenschuetzer (Anatol, 19. Mar 2015, 08:49:07):
~#! rn=Zesstra rt=1426719235 rg=d.vland
~#! tid=1426695974

Der Magier von ... "primaerer Zustaendigkeit", gesetzt den Fall 
er haett' denn Zeit - und waere willig!? - ist dennoch jedweder 
Moeglichkeit befreit. Wenn andere (an sich ja recht und billig)
auch Code versenken, verrenken, und nicht an Durchsicht denken.
Der dann (ungeschickt, jedoch bestimmt!) gut getarnten Einfluss 
nimmt. 

Also ist nicht erpicht und gar nicht chillig:  Der tote Spieler,
verstimmt, und leidend an Paeddis Wahnen. Seine ach "Fehlerfreie 
Ueberlegenheit", man kann das ahnen, wuerde jener Dir erklaeren. 
Lang und breit. 

Waer das hilfreich?
Wie man's nimmt.

So passiert, anno '99 - und es half nur einzig:  Ein Spieler auf 
dem Pass in Paralysen, aber dann rechtzeitig davongejettet,  die
eigne Haut gerettet, bereit fuer krass die Analysen. 

Am Ende hat's ein Erzi entdeckt, und dem Paeddi (der sich keiner
Schuld bewusst, warum denn auch ;)) dann gesteckt.

Mit deutlichen Worten.
SO war das damals Brauch.

Wenn die Analyse scheitert, die Stimmung gaert und eitert,  wenn 
tote Spieler weiter maulen, weil Leichenberge weiter faulen,  so 
wenn man glaubt: "es geht nix mehr", muss dann wohl ein "Jemand"
her, der dies Kaliber dann ...

... loesen kann.

-----------------------------------------------------------------------------



Und weiter geht's (Bugfix, 19. Mar 2015, 13:20:52):
Moin,

Dieses mal habe ich mir das Gebiet von Koomi, zwischen Handelskontor und
Schattenwald inklusive Waldschenke und Wiese vorgenommen. Ich hoffe, es treten
keine Probeleme auf, ansonsten, wie immer, einfach bei mir melden.

BF

-----------------------------------------------------------------------------



Re^3: ohrenschuetzer (Zesstra, 20. Mar 2015, 01:03:12):
~#! rn=Anatol rt=1426751347 rg=d.vland
~#! tid=1426695974
Bitte entschuldige, wenn ich etwas stumpf bin. Ich bin mir gerade nicht
sicher, ob Dein Posting nur eine Geschichte damaliger Verhaeltnisse erzaehlt
oder ich etwas tun soll. Wenn letzteres, bitte sagt mir das explizit.

Zesstra

-----------------------------------------------------------------------------



Re^4: ohrenschuetzer (Anatol, 20. Mar 2015, 08:14:33):
~#! rn=Zesstra rt=1426809792 rg=d.vland
~#! tid=1426695974
Im "Muss" und "Soll" bist Du nirgendwo. Mir persoenlich waere es nur 
recht, wenn bei "Objekt XY von A funktioniert bei B ploetzlich nicht
mehr" auch gerne sofort eine uebergreifend agierende Kraft ([W], [E]
oder [G]) draufschaut.


-----------------------------------------------------------------------------



Neulich im Kirchturm von Orkhausen (Bugfix,  4. Apr 2015, 16:46:14):
Ein Geist kommt an.

Der Geist sagt:
Hallo Bugfix.

Du sagst:
Hallo Johann. Kann ich Dir helfen?

Der Geist sagt traurig:
Ich hoffe. In den letzten Jahren ist es hier so still geworden, meinst Du 
nicht, man koennte da etwas gegen tun?

Du gruebelst:
Hmm, das beste Mittel Spieler in ein Gebiet zu locken ist, ihnen dafuer 
etwas zu geben.

Der Geist staunt:
Aber sie bekommen doch etwas, wenn sie die Aufgabe hier erledigen.

Du nickst:
Ja, aber viele Spieler brauchen das nicht. Und die anderen wissen nichts 
davon.

Der Geist fragt skeptisch:
Und was meinst Du, koennte mmman dagegen tun?

Du sagst:
Naja, die Aufgabe hier ist doch ganz nett. Ich renoviere deinen Kirchturm 
noch ein bisschen und dann sprechen wir mal mit Ark und Miril, ob denen das 
ganze nicht ein paar Punkte wert ist.

Der Geist sagt:
Nicht, dass mir das dann zu anstrengend wird.

Du versprichst:
Keine Sorge, Johann. Du musst nicht mehr machen als bisher.

Der Geist seufzt:
Na, wenn Du meinst, dann probieren wir mal, ob das so funktioniert.

Du nickst zustimmend.

Der Geist winkt und verblasst.

BF

-----------------------------------------------------------------------------



Gefaengnisinsel (Bugfix,  6. Apr 2015, 11:44:04):
Moin,

Ich habe den Schluesselbund der Gefaengnisinsel etwas ueberarbeitet. Sollte
irgendetwas nichtmehr funktionieren ... Ihr wisst ja. ;-)

BF

-----------------------------------------------------------------------------



NPCs in Orkhausen und den Katakomben (Bugfix, 28. Jun 2015, 11:40:17):
Moin,

Einige NPCs in Orkhausen (Nein, keine Orks) und in den Katakomben haben eine
recht heftige Ueberarbeitung erfahren. Theoretisch sollten sich die meisten
Dinge so verhalten wie bisher. Wenn ihr gravierende Aenderungen bemerkt, bitte
melden. ;-)

Bugfix

-----------------------------------------------------------------------------



Re: NPCs in Orkhausen und den Katakomben (Ark, 28. Jun 2015, 23:13:34):
~#! rn=Bugfix rt=1435484417 rg=d.vland
~#! tid=1435484417
Wieso dann "drastisch"? Mehr Infos fuer Autoattacker? :-D


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: NPCs in Orkhausen und den Katakomben (Amaryllis, 30. Jun 2015, 20:36:01):
~#! rn=Bugfix rt=1435484417 rg=d.vland
~#! tid=1435484417
"Heftige Aenderung"?

Ich hoffe, sie sind jetzt nicht mehr so poplig? ;)

*duck und weg*
Ama*

-----------------------------------------------------------------------------



Der Gnomenschatz (Rhovan,  5. Jul 2015, 23:09:17):
An alle Abenteurer,
ein Gnom, der in der Naehe einer Wiese im verlorenen Land lebt,
wuerde sich freuen, wenn ihr ihm helfend zur Seite stuendet.
Eine Belohnung gibt es sicherlich auch, also lohnt es sich allemal,
bei ihm vorbei zu schauen.

Gruss
Rhovan

-----------------------------------------------------------------------------



Fehlende Details und Ideen (Bugfix,  7. Okt 2015, 16:14:30):
Moin,

An den Zeiten, wann im verlorenen Land fehlende Details und Ideen gemeldet
wurden meine ich zu erkennen, dass einige Spieler der Ansicht sind, dass ein
aktiver RM bedeutet, dass auch solche bearbeitet wuerden. Ich weiss nicht wie
meine Kollegen das sehen, ich werde aber nicht damit anfangen in Gebieten von
inaktiven Magiern Details und neue tolle Kommandos zu schreiben.

Aus diesem Grund verzichtet doch bitte darauf bei bekanntermassen lange
inaktiven Leuten wie Morgoth, Xant oder Patryn fehlende Details und Ideen zu
melden, damit erreicht ihr nichts als meine Fehlerliste zu verlaengern und
mich damit zu nerven. Bugs und Typos sind natuerlich willkommen.

(Mir ist natuerlich klar, dass manche kleinen Spieler das nicht wissen
koennen, aber mir fielen hier vorallem einige hochlevelige Seher auf.

Danke

Bugfix

-----------------------------------------------------------------------------



Re: Fehlende Details und Ideen (Anatol,  7. Okt 2015, 16:30:07):
~#! rn=Bugfix rt=1444227270 rg=d.vland
~#! tid=1444227270
Das Vorgehen ist meiner Meinung nach nicht dauerhaft tragfaehig, muesste
der aktive Spieler schliesslich alle zum Thema passenden MPA-Beitraege
im Kopf behalten und regelmaessig pruefen, in wessen Schoepfers Gebiete
er gerade herumstiefelt.

Das soll nicht heissen, dass Regionsmagier gefaelligst Typos und Fehlende
Details bearbeiten, sondern vielmehr, dass es vielleicht bessere Wege gibt.

So koennte beispielsweise der Raum wissen, ob er von einem aktiven Magier
betreut wird oder nicht (gerne auch mit Zwischentoenen) und einem Spieler,
der eine nichtkritische Rueckmeldung gibt, sofort eine entsprechende 
Meldung ausgibt.

Ich persoenlich empfand es damals als motivationshemmend, als mir ein
Magier am Stammtisch sagte: "Was? Noe, das Repfile rotiert durch, ich
schau da nie rein." - in einem Gebiet, das ich im Verlauf von zwei Tagen
muehevoll auf links gedreht hatte. "Damals" ist uebrigens mindestens 15
Jahre her, das Problem ist also eher nicht neu.


-----------------------------------------------------------------------------



Re: Re: Fehlende Details und Ideen (Notstrom,  7. Okt 2015, 16:59:04):
~#! rn=Anatol rt=1444228207 rg=d.vland
~#! tid=1444227270
Huhu,

wenn ich Bugfix richtig verstehe, geht es vorrangig darum, dass es keinen
Sinn ergibt, in den innig geliebten "Sowas-siehst-Du-da-nicht"-Wuesten
haufenweise fehlende Details oder Ideen abzusetzen, schlichtweg weil der
Einbau dieser abgesetzten Dinge eher einem Neuschreiben des Gebietes
gleichkaeme. Wenn ein Gebiet flaechendeckend 2-3 Details pro Raum (!)
aufweist, dann wird vermutlich kein RM dort Details nachruesten (es sei
denn, er schreibt gleich die ganze Gegend neu).

Uebrigens handhabe ich das fuer Region Wueste ganz aehnlich: Wenn fehlende
Details oder Ideen fuer Gebiete, die eh gut beschrieben sind (z.B. Gladi-
schule), abgesetzt werden, dann nimmt man die gerne an. Wenn bergeweise
Details in detaillosen Gegenden abgesetzt werden (z.B. Steinwueste zwischen
Gladischule und Valgessa), dann ist das zwar lieb gemeint, aber de facto
eher unnoetig (bzw. ueberfluessige Arbeit fuer alle Beteiligten).

Ich denke also, man benoetigt keinen komplizierten Mechanismus, um festzu-
stellen, wie lang ein Magier nicht mehr aktiv ist, sondern kann sich als
ersten Anlaufpunkt an der vorhandenen Detaildichte orientieren.

Um das nochmal klarzustellen (da scheint es ja Verwechslungen zu geben):
Bugs und Typos sind eine komplett andere Angelegenheit, die werden immer
behandelt, egal wie trostlos das Gebiet beschrieben ist.

Hth,
Notstrom.

-----------------------------------------------------------------------------



Re^3: Fehlende Details und Ideen (Ark,  7. Okt 2015, 19:21:59):
~#! rn=Notstrom rt=1444229944 rg=d.vland
~#! tid=1444227270
Das Ganze ist witzlos. Ein Regionsmagier ist fuer die gesamte Region
zustaendig, sie/er kann sich nicht Gebiete rauspicken und andere
vernachlaessigen. Es wird niemandem vorgeschrieben, in welcher Geschwindigkeit
etwas gemacht wird, auch ich mache im Dschungel mal einen Schwung voller
Details/Bugs, etc. weg, aber mit Aufrufen, Absetzen zu unterlassen, verbessert
man nie etwas. Einfach machen, aus Spielersicht ist es eh schlecht zu ersehen,
in welchem Gebiet "gerade etwas gemacht wird", "viel eh fehlt" oder wie auch
immer.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^4: Fehlende Details und Ideen (Bugfix,  7. Okt 2015, 19:41:06):
~#! rn=Ark rt=1444238519 rg=d.vland
~#! tid=1444227270
Kurz zur Klarstellung: setzt ruhig auch fehlende Details ab, wenn ihr das
wollt. Ich wollte nur mitteilen, dass ich nicht gedenke in Gebieten anderer
Magier grossflaechig mit dem Einbauen zusaetzlicher Detailsanzufangen. Eben
weil ich, wie geschrieben, den Eindruck hatte, dass das im VLand mehr geworden
ist, seit ich RM bin. Nur dass sich keiner wundert...

Bugfix

-----------------------------------------------------------------------------



Re^5: Fehlende Details und Ideen (Taramar,  7. Okt 2015, 19:46:51):
~#! rn=Bugfix rt=1444239666 rg=d.vland
~#! tid=1444227270
Ich kann Bugfix und Notstroms Argumente sehr gut verstehen.
Wenn es einem Neuschreiben des Gebietes gleichkommt, wuerde ich vermutlich als
Magier auch nicht alles auf den Kopf stellen. Sicher hat man dann auch eigene
Projekte im Kopf, die man umsetzen moechte.
Durch das Hoerrohr erfaehrt man ja, wer welches Gebiet geschrieben hat. Ein
Finger auf den entsprechenden Namen zeigt doch auch an, ob der Magier taetig
ist oder inaktiv.

Sicher ist jeder Magier fuer seine Region zustaendig, aber bestimmt nicht
verpflichtet, sehr alte gebiete neu zu schreiben?...

Bei Notstrom und Bugfix habe ich auch schon eine sehr grosse Bereitschaft
erlebt. Sie setzen sich ein und kuemmern sich um Fehler. Ich finde, das macht
einen Regionsmagier aus. Das, was nicht funktioniert wieder zum Laufen zu
bringen.
Hier und da mal ein fehlendes Detail einzufuegen, gerade wenn das Gebiet
ansonsten auch gut beschrieben ist, finde ich auch wichtig. Aber wirkliche
Gebiete, in denen kaum was beschrieben ist, extra neu zu schreiben erachte ich
dann doch als Sinnfrei.

-----------------------------------------------------------------------------



Re^6: Fehlende Details und Ideen (Anatol,  8. Okt 2015, 08:55:32):
~#! rn=Taramar rt=1444240011 rg=d.vland
~#! tid=1444227270
Maedels, ihr haettet da jetzt genauso gut ueber Photosynthese, afrikanische
Springboecke oder fruehkindliche Sprachentwicklung referieren koennen - das
haette genauso gut zur Sache gepasst.

Ich bestritt nicht, dass es fuer Regionsmagier keine Aufgabe sein sollte,
in verwaisten alten Gebieten fehlende Details nachzupflegen oder Tippfehler
zu korrigieren. Im Gegenteil bin ich davon ueberzeugt, dass das gerade NICHT
zum Aufgabenprofil gehoeren sollte. Wegen mir muessen wir darueber wirklich
nicht diskutieren. Aber hey, wenn ihr wollt, macht das ruhig. Ist echt okay.
Wir koennen es ja alle mal schreiben. Dann hat jeder etwas geschrieben. Von
den Regionsmagiern muessen wir doch erwarten koennen, dass sie sich von den
vorgenannten Aufgaben, deren Zuschreibung faelschlicherweise unterstellt 
wurde, distanzieren. Als Praeventivmassnahme, gewissermassen. Nicht dass 
dann 20 Posts weiter jemand die Position vertritt, Regionsmagier muessten
das schliesslich tun. 

Echt mal. 

Magier Bugfix hat - offenbar mit einem zuenftigen Bias - konstatiert, dass
die Spielermuehen in einer dediziert aufgefuehrten Liste von Gebieten
total vergebens sind, er sie geflissentlich ignoriert und diese Muehen ihn
ausserdem nerven. Das ist ehrlich, diese Haltung ist sein gutes Recht, aber
es ist vor allem NICHT HILFREICH, denn

Weder wird die Situation "Die Aufwaende, um in alten verwaisten Gebieten
fehlende Details nachzutragen oder Tippfehler auszubessern, koennen von 
den aktiven Magiern nicht erbracht werden." verbessert, noch wird eine
strukturierte und nennenswerte Verbesserung auf der anderen Seite (die, 
welche die Muehen der vergebenen Rueckmeldungen auf sich nimmt) erzielt.

Das Problem ist steinalt. Das Problem betrifft das gesamte Morgengrauen.
Dieser Scope sollte bei der Behandlung der misslichen Umstaende bitte
beruecksichtigt werden.


-----------------------------------------------------------------------------



Drudensteine (Bugfix, 25. Okt 2015, 20:24:25):
Moin,

Die Drudensteine haben eine kleine Ueberarbeitung erfahren. Sie halten jetzt
auch bei nicht-Benutzung etwas weniger lang als bis zum naechsten Reboot,
ausserdem kann man sie nicht mehr am laufenden Band verwenden.

Bugfix

-----------------------------------------------------------------------------



Das Geheimnis von Murksbach (Notstrom, 29. Nov 2015, 17:07:45):
Der Mond scheint hell und bleich ueber die Wipfel des Verlorenen Landes,
als die kuehle Nachtbrise sanft ueber den Wald streicht. Hier oben in der
Astgabel der Eiche kann man die ganze Umgebung friedlich schlummern sehen.

Leider schlummert nicht alles ...

Hasso seufzt leise.

"Ich kann mich da nicht einmischen", sage ich. "Das wuerden die anderen
 Magier ganz schnell spitzbekommen, und Du weisst ja ... einige von ihnen
 koennten die Sache anders sehen als wir."

Aus dem Augenwinkel sehe ich, wie Hasso die Schultern haengen laesst. Ich
erklaere weiter:

"Nein ... dann haetten wir hier einen Krieg der Magier, jeder unterstuetzt
 wen anders ... das willst Du doch auch nicht, oder?"

Hasso seufzt abermals. "Nein, natuerlich nicht. Aber Du musst mich auch
verstehen. Die Woelfe sind meine Freunde, aber ich habe getan, was ich
konnte. Mehr steht einfach nicht in meiner Macht."

Ich ueberlege.

"Ich koennte natuerlich ..."

Hasso richtet sich auf, hoffnungsfroh leuchten seine Augen in der Dunkelheit.
"Du koenntest?"

"Nun ...", formuliere ich den Gedanken, der mir soeben kam, "... ich koennte
 natuerlich ein paar Abenteurer koedern. So wie Ark die armen Troepfe in
 Muradhs Turm lockt."

"Aber", unterbricht Hasso mich, "aber das ist doch viel zu gefaehrlich!
 Wir brauchen Leute, die im Kampf ihren Mann stehen! Oder ihre Frau! Die
 Erfahrung und Ausruestung ihr Eigen nennen, die sich von dem Schrecken,
 der im Wald umgeht, ..."

Ich unterbreche ihn. "Ich weiss was. Wir wenden uns an Freunde in Deiner wie
auch in den anderen Gilden. Mit dem Spuersinn der Werwoelfe, den magischen
Kenntnissen der Zauberer und Tanjians, der Todesverachtung der Chaoten, ..."

"... der Forschfaulheit sturzbesoffener Kaempfer ...", unterbricht mich
Hasso, aber ich bin schon zu gut in Fahrt.

"... werden wir das Raetsel schon loesen und Deinen Wolfsfreunden helfen
 koennen. Ich schreibe ein paar Zeilen zusammen, und Du wirst sehen, es
 werden Scharen von Helfern kommen, die Dich unterstuetzen. Kein Grund,
 warum die anderen Magier denken muessten, ich haette damit was zu tun."

Hasso schaut immer noch nicht gluecklich drein, also versuche ich ihn ein
wenig aufzumuntern. "Keine Bange, das kriegen wir schon hin."

"Wie kriegst _Du_ es nur immer hin, dass du 'wir' sagst, aber ich hinterher
 die ganze Arbeit am Hacken habe?"

"Das lernt man, wenn man Magier wird", schmunzele ich.

-----------------------------------------------------------------------------



Das Geheimnis von Murksbach (Notstrom, 29. Nov 2015, 17:08:13):
    Huhu,

ich freue mich, Euch nach sieben langen Monaten endlich das Geheimnis von
Murksbach praesentieren zu duerfen, mein bisher groesstes eigenes Gebiet.

Ganz wichtig ist es mir aber auch, speziell meinem unermuedlichen und sehr
akribischen Tester Elendil ganz lieb zu danken, ohne den der aktuelle
Qualitaetsstand einfach nicht moeglich gewesen waere. Ausserdem natuerlich
den ueblichen Verdaechtigen, die mich mit einem nie versiegenden Strom von
Tips und Ideen unterstuetzt haben. Danke!

Ganz viel Spass beim Spielen,
Notstrom.

-----------------------------------------------------------------------------



Re: Das Geheimnis von Murksbach (Notstrom, 30. Nov 2015, 14:42:21):
~#! rn=Notstrom rt=1448813293 rg=d.vland
~#! tid=1448813293
Huhu nochmal,

da die Frage aufkam, wo man denn das neue Gebiet findet: Erkundigt Euch
doch mal beim Wanderer auf der Hochebene nach dem Geheimnis von Murksbach.

Viel Spass!
Notstrom.

-----------------------------------------------------------------------------



Re: Re: Das Geheimnis von Murksbach (Ark, 30. Nov 2015, 19:38:24):
~#! rn=Notstrom rt=1448890941 rg=d.vland
~#! tid=1448813293
Da beginnen uebrigens alle Abenteurer: beim Wanderer!


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Auf vielfachen Wunsch ... (Notstrom,  8. Dez 2015, 12:38:53):
... wird nun ein Lockversuch honoriert.

Viel Spass,
Notstrom.

-----------------------------------------------------------------------------



Die Orks in Orkhausen, mal wieder (Bugfix,  2. Jan 2016, 17:48:07):
Moin,

Soeben habe ich eine Aenderung am Laufmechanismus der Orks gemacht. Ihr
Verhalten ist jetzt etwas zufaelliger, was die Abstaende angeht, ansonsten
sollte sich nichts fuer euch sichtbares geaendert haben. Wenn doch, dann
bitte bei mir melden.

Bugfix

-----------------------------------------------------------------------------



Sonntagsspaziergang im VLand (Cruix, 17. Jan 2016, 11:11:51):
Sonntagvormittag war ich mal im V-Land spazieren um "den vorschollenen Gnom"
zu finden.
Alles mehr oder weniger ruhig.Naetuerlich verlaeuft man sich in den Feldern.
Auf der Suche nach dem Ausgang wird man natuerlich geblendet.
Aber ok, irgendwie da wieder rausgefunden...
ann endlich, die ersten moeglichen anzeigen von Gnomen: Eine verlassene und
demolierte Hoehle. Prima, denke ich, dann kanns ja losgehen :-)
Ging auch ganz gut, bis ich das Gaestezimmer betreten wollte. Da wurde ich
direlkt freundlichst begruesst:

> w 
Ein gewaltiger Eissturm wirbelt Dich rum.
Ein maechtiger Feuerball rast auf Dich zu.
Ein maechtiger Feuerball rast auf Dich zu.
Das Untier reisst sein Maul auf und will Dich fressen. Da Du zu gross bist,
reisst es nur eine riesige Wunde mit seinen Zaehnen.
Ein ehemaliges Gaestezimmer.
Es gibt einen sichtbaren Ausgang: osten.
Ein riesiges, dreikoepfiges Untier.
Das Untier greift Dich mit seinen maechtigen Pranken an.
Ein Untier trifft Dich sehr hart.
Die Angst ist staerker als Du ... Du willst nur noch weg hier.
Ein Untier ist jetzt hinter Dir her.

*lach* Noch bevor man im Raum ist, bekommt man vier mal einen uebergebraten.
Dann kommt der "normale" Angriff, da hatte ich aber schon genug :-)

Das VLand ist manchmal schon scpeziell :-)

Gruesse,
Cruix

-----------------------------------------------------------------------------



spontaner Umzug (Saray, 22. Jan 2016, 14:03:16):
Ein gewisser, alter Gnom, hat sich ueberlegt umzuziehen.
Er ist nun nordoestlich einer wesentlich zugaenglicheren wiese zu finden und
wartet dort weiterhin auf mutige Abenteurer, die eine Aufgabe fuer ihn
erledigen wollen.
Na ja, direkt an einer Wiese lebt er jetzt zwar nicht mehr, aber fast. Er
findet es dort jedenfalls wesentlich schoener, und darin werden ihm
wahrscheinlich viele zustimmen.
Saray

-----------------------------------------------------------------------------



Murks murks! (Notstrom, 24. Mar 2016, 14:43:32):
Graschi traeumte ihren Traum. Sie sass inmitten der Wolken, die sich wattig
und wonnig und weich und zuckersuess anfuehlten. Da kam ihr Held, der Prinz
der Orks, aus dem Nebel gestapft. Sie strahlte, denn jetzt wuerde er sie
mitnehmen und auf sein Schloss bringen, wo sie jeden Tag Pflaumenkuchen
essen konnte und alle nett zueinander waren. Doch als er naeherkam, bemerkte
sie, dass er ueberhaupt nicht aussah wie ein Ork. Seine Haut war dunkel,
unbehaart und ledrig, und seine Augen waren gross und spiegelten ihr
unglaeubiges Laecheln. Im letzten Moment erschrak sie.
  *Pyuu pyuu pyuu*
Graschi wurde schwarz vor Augen. Sie fuehlte noch, wie die Welt um sie herum
sich veraenderte ... fast als ob sie in eine andere, boesartigere Dimension
gezogen, mitgenommen wuerde. Dann fuehlte sie gar nichts mehr.

-----------------------------------------------------------------------------



Ein besorgter Hobbit (Rhovan,  3. Apr 2016, 23:43:41):
Es kommt doch oefter einmal vor, dass ich mich mit den vier Hobbits, die
friedlich in Orkhausen leben, treffe, um einen netten Abend zu verbringen.
An dem letzten dieser Abende kam es zu einer interessanten Unterhaltung, die
ich euch nicht vorenthalten moechte.
Na ja, vielleicht war auch etwas viel Pfeifenkraut und ein paar Glaeser
Hobbinger Huegelweins zu viel der Grund, aber Frodo wurde auf einmal sehr
redselig:
Frodo blickte seufzend zu mir auf:
"Ach, Rhovan, ichh glaube, ich habe einen furchtbaren Fehler gemacht,einen
wirklich schlimmen Fehler...".
"Frodo, so kenne ich Dich ja gar nicht.Was ist denn los?"
"Ach, na ja, weisst Du, ich habe  da diesen Ring..." Frodo stockte.
"Was fuer einen Ring? Lass Dir doch nicht alles unter Deinen Pelzfuessen
rausziehen. Erzaehl schon!"
"Dieser Ring wurde mir allein anvertraut, um ihn zu zerstoeren. Du kannst dir
ja gar nicht vorstellen, welches Unheil dieser Ring ueber die Welt bringen
koennte, wenn er nicht vernichtet wird. Riesiges Unheil waere das.Wirklich
gaaanz grosses Unheil..."
"Also gut, und diesen Ring hast Du bei Dir? Du hast ihn bei Dir anstatt ihn zu
vernichten? WARUM?!"
Langsam wurde ich ungehalten.
"Ach, hier war es so schoen und friedlich die ganze Zeit. mit den Orks
verstehen wir uns ja echt gut.
Da habe ich... Das wohl einfach vergessen. Aber es ist wirklich wichtig, dass
sich da wer drum kuemmert. Wirklich!"
Den Rest dieses Gespraechs werde ich euch ersparen, denn es wurden vielleicht
nicht nur nette Dinge in dessen Verlauf gesagt.
Am Besten waere es, ihr bildet euch selbst eine Meinung und redet einmal mit
Frodo.
Aber er hat mich zumindest von der Wichtigkeit dieser Aufgabe ueberzeugt. Die
zerstoerung der Welt ist etwas, dass vermutlich niemand ignorieren sollte.

-----------------------------------------------------------------------------



Der Forscherpunktsammler (Bugfix, 15. Apr 2016, 18:44:05):
Moin,

Der Forscherpunktsammler hat ein kleines Update seiner Gebietsliste bekommen.
Einige alte Gebiete sind raus geflogen, einige neue dazu gekommen. Wenn ihr
ein tolles Gebiet wisst was er unbedingt kennen muss oder ein Gebiet zu dem er
euch hin schickt ganz furchtbar wenige Details oder in allen Raeumen nur die
gleichen hat, dann meldet euch bei mir.

Bugfix

-----------------------------------------------------------------------------



Re: Der Forscherpunktsammler (Bugfix, 17. Apr 2016, 18:09:01):
~#! rn=Bugfix rt=1460738645 rg=d.vland
~#! tid=1460738645
Moin,

Und weiter gehts, das Forschprotokoll akzeptiert nun auch "schau" als Verb zum
untersuchen.

Bugfix

-----------------------------------------------------------------------------



Im verlorenen Land ... (Bugfix,  7. Jun 2016, 22:32:27):
Moin,

Soeben wurde ich Zeuge, wie ein Schutthaufen, der den Eingang zu einem
Stollen in einem Huegel mit einem Ritterdennkmal versperrte etwas zusammen
sank, so dass sich eine Luecke bildete. Als Magier habe ich natuerlich
anderes zu tun, aber bestimmt findet sich der eine oder andere Abenteurer,
der mit dieser Information etwas anzufangen weiss.

Bugfix

-----------------------------------------------------------------------------



Ein Silberdolch ... (Bugfix, 22. Jun 2016, 20:51:56):
... ist gegen die richtigen Gegner jetzt nur noch sehr stark, nicht mehr
illegal stark.

Bugfix

-----------------------------------------------------------------------------



Ein Ritualdolch ... (Bugfix, 22. Jun 2016, 21:12:39):
... den vermutlich keiner kennt hat an einer Funktion, die vermutlich keiner
nutzt auch eine kleine Aenderung erfahren, die vermutlich keinem auffaellt.

Bugfix

-----------------------------------------------------------------------------



Ein Geist ... (Bugfix, 18. Jul 2016, 16:07:29):
... hat einen Gegenstand wiedergefunden, den es lange nicht gab. Die
Wahrscheinlichkeit dass er ihn dabei hat ist leider immernoch so gering wie
frueher.


Bugfix

-----------------------------------------------------------------------------



Ein Gluehender Panzer ... (Bugfix, 28. Jul 2016, 11:07:59):
... macht jetzt keinen illegalen Schaden mehr.

Seine Abwehrfaehigkeiten sind nicht schwaecher geworden, auch wenn das fuer
einige Leute beim schaetzen so aussehen koennte.

Bugfix

-----------------------------------------------------------------------------



Vorspiegelung falschen Sonnenlichts (Notstrom, 17. Aug 2016, 10:03:18):
    Huhu,

eine Mudlib-Funktion, die wundervoll dokumentiert aber nicht implementiert
ist, hat dazu gefuehrt, dass ein Handspiegel nicht so funktioniert hat wie
erwartet. Das sollte nun gefixt sein. Im Umlauf befindliche Spiegel wurden
ausgetauscht.

Danke an Masul und Bugfix.

Notstrom.

-----------------------------------------------------------------------------



Buerst-Modus aktiviert (Notstrom, 18. Aug 2016, 23:15:19):
Huhu,

eine auf der Abschussliste befindliche rebootfeste Buerste von Hate ist
nun in neuem Glanze von einem gewissenlosen Haendler kaeuflich erwerbbar.
Wundert Euch nicht, wenn die alten Buersten auf erzmagierlichen Ratschluss
verschwinden, die neuen sollten hoffentlich ein gleichwertiger Ersatz sein.

Neugierigen und Buerstverweigerern sei die Syntaxhilfe (*) angeraten, die
die neue Version aus der Tuete bereits beherrscht.

Hth,
Notstrom.

(*) Fuer Gelegenheitsleser sei die Syntax der Syntaxhilfe nochmal iteriert:
      syntaxhilfe buerste


-----------------------------------------------------------------------------



Ein alter Seebaer (Bugfix, 12. Sep 2016, 22:30:11):
... wurde von Zesstra generalueberholt, vielen Dank dafuer.

Sollte irgendwas nicht funktionieren oder komisch sein bitte bei mir melden.

Bugfix

PS: Noch komischer als sonst da, meine ich natuerlich.

-----------------------------------------------------------------------------



Immer diese Orks... (Bugfix, 15. Sep 2016, 11:03:49):
Moin,

Am noerdlichen Ende eines kleinen Waeldchens, welches an eine gewisse Wiese
grenzt hat ein Ork doch tatsaechlich den Aussichtspunkt kaputt gemacht, den
wir extra dahin gebaut haben, indem er ans obere Ende der dafuer gedachten
Leiter ein Baumhaus gebaut hat. Komischer Ork, ich dachte sowas tun nur
Elfen...

Aber in einer anderen Hinsicht ist er ganz orkisch. Hat er sich erstmal fuer
etwas entschieden dann bleibt er dabei. Ich konnte ihn weder freundlich noch
mit Gewalt dazu ueberreden sich einen anderen Wohnort zu suchen.

Einen Kompromiss konnte ich jedoch aushandeln. Fuer eine kleine
Gegenleistung ist er bereit euch, sofern ihr nicht so gross seid, dass ihr
das definitiv auch ohne seine Hilfe schafft, zur Hochebene zu fuehren. Das
hat er jetzt davon!

Danke an Arathorn, Saray, Soynada und Elendil fuers begutachten und testen.

Bugfix

-----------------------------------------------------------------------------



Eine Witzige Ankuendigung (Backzwerg, 23. Okt 2016, 18:21:14):
An alle Baecker und Baeckerinnen,
hiermit veroeffentliche ich folgenden Aushang:
WITZIGKEIT KENNT KEINE GRENZEN
testen Sie Ihre humoristischen Backfaehigkeiten in meiner Backstube!
Backen sie Ihren eigenen, ganz persoenlichen Witzkeks und freuen Sie sich
ueber das aeusserst ulkige Ergebnis!
gez. der orkhausener Backzwerg

-----------------------------------------------------------------------------



Der spitzhut einer gewissen Waldfee... (Bugfix, 26. Okt 2016, 11:14:18):
... Hatte einen kleinen Bug, weshalb vorhandene Exemplare ausgetauscht werden
musste. Wer ihn trug muss ihn neu aufsetzen, sonst sollte das keine groesseren
Auswirkungen haben.

Bugfix

-----------------------------------------------------------------------------



Das Forschprotokoll (Bugfix, 19. Feb 2017, 17:54:45):
Moin,

Besagte Miniquest hat leider einige schwerwiegende Bugs und auch
konzeptionelle Probleme. Da ich im Moment keine Zeit habe sie zu
ueberarbeiten wird sie, in Absprache mit Ark als zustaendigem Erzmagier fuer
Quests, voruebergehend deaktiviert.

Wer die Quest schon hatte braucht sie nicht neu zu spielen, wenn sie wieder
freigegeben wird. Der Status der Spieler die derzeit dabei sind sie zu
spielen bleibt gespeichert und wird so weit wie moeglich angerechnet.

Ich bitte darum auf Beschwerden zu verzichten, auch wenn euch dadurch
voruebergehend einige Stufenpunkte verloren gehen, Ark und ich haetten diesen
Schritt nicht gemacht, wenn es nicht noetig waere.

Bugfix

-----------------------------------------------------------------------------



Mea culpa (Notstrom, 10. Mar 2017, 18:44:46):
... ich habe naemlich soeben versehentlich alle im Spiel befindlichen
Doppelaexte aus Murksbach weggemacht. Sorry.

Wer nun total sauer ist, kann sich bei mir melden. Ich kann die Axt zwar nicht
erstatten, da ich keine Liste der Besitzer habe, aber Trostschokolade sollte
drin sein.

Sorry,
Notstrom.

-----------------------------------------------------------------------------



Re: Arena-Duellankuendigungen (Bugfix,  3. Apr 2017, 20:02:04):
~#! rn=Notstrom rt=1491242306 rg=d.wueste
~#! tid=1491242306
Selbiges gilt fuers Schlachtfeld.

Bugfix

-----------------------------------------------------------------------------



Eine Buerste ... (Notstrom, 26. Mai 2017, 10:21:47):
... wurde von mir repariert und laesst sich nun auch mit Adjektiv korrekt
ansprechen.

Hth,
Notstrom.

-----------------------------------------------------------------------------



Adventskranz (Bugfix, 10. Dez 2017, 14:27:14):
Heute bin ich an der Reihe die zweite Kerze zu entzuenden.

Ein paar NPCs, die sonst nirgendwo hin passten, haben sich heute in einer
anderen Welt auf einer gewissen Wiese im verlorenen Land angesiedelt.

Gruesst mir Lars.

Bugfix

-----------------------------------------------------------------------------



Re: Adventskranz (Bugfix, 20. Dez 2017, 16:44:07):
~#! rn=Bugfix rt=1512912434 rg=d.vland
~#! tid=1512912434
Der untote Tote ist wegen einem kleinen Problem hoffentlich nur voruebergehend
leider nicht mehr anwesend, ich bemuehe mich um zeitige Klaerung.

Bugfix

-----------------------------------------------------------------------------



Re: Re: Adventskranz (Bugfix, 28. Dez 2017, 16:21:26):
~#! rn=Bugfix rt=1513784647 rg=d.vland
~#! tid=1512912434
Das Problem ist geloest, ihr duerft jetzt wieder versuchen ihn zu toeten.

Viel Erfolg dabei :-)

Bugfix

-----------------------------------------------------------------------------



Re^3: Adventskranz (Gloinson, 29. Dez 2017, 17:53:02):
~#! rn=Bugfix rt=1514474486 rg=d.vland
~#! tid=1512912434
Die Kleris waren - wie immer - schuld. Furchtbares Gammelpack.


-----------------------------------------------------------------------------



Und zu Neujahr ... (Bugfix,  1. Jan 2018, 11:29:20):
... ist heute noch jemand auf einer gewissen Wiese in einer anderen Welt
eingezogen.

Das duerfte vorallem Chaoten freuen, alle andern aber auch.

Viel Spass.
Bugfix

-----------------------------------------------------------------------------



Murks murks! (Notstrom, 30. Jan 2018, 10:43:36):
Eine Enttanke sollte nun so funktionieren wie urspruenglich vorgesehen und
von der Heilungsbalance genehmigt.

Wenn Euch bei sowas auffaellt, dass es offensichtlich (!) nicht funktioniert,
dann sagt ruhig Bescheid. In den aktiv betreuten Regionen gucken sich die
RM das gern an.

Der Dank geht diesmal an DJTom.

Notstrom.

-----------------------------------------------------------------------------



In den Katas ... (Bugfix,  7. Feb 2018, 20:09:28):
... Werden Tanjian und Felinen jetzt nicht mehr diskriminiert.

Bugfix

-----------------------------------------------------------------------------



Handspiegel (Notstrom, 12. Mar 2018, 10:24:09):

Ich habe festgestellt, dass durch einen peinlichen Schnitzer Eure Handspiegel
in der Lage waren, etwas sehr Unerwuenschtes zu tun. Mea maxima culpa, das
habe ich gerade ausgebaut.

Zum Ausgleich funktioniert nun aber die Syntaxhilfe an den guten Stuecken.
In gewissen Kaempfen erleichtert dies vielleicht die schnelle Benutzung.

Hth,
Notstrom.

-----------------------------------------------------------------------------



Katakombenraum (Bugfix, 30. Mar 2018, 12:47:43):
Moin,

Ich hab grade den Katakombenraum mit dem Schleim am Boden ... aeh, neu
Geschrieben oder so. Falls da etwas nicht mehr so funktioniert wie frueher
bitte melden.

Bugfix

-----------------------------------------------------------------------------



Ein mitteilsamer Bovist (Rhovan, 12. Apr 2018, 13:38:28):
Auch den widerstandsfaehigsten Magier kann ewiges Wurzelziehen
in der duesteren Unterwelt einmal ermueden.
Daher dachte ich mir, es sei mal an der Zeit fuer Urlaub an der Oberflaeche.
Nachdem ich mich an dieses grelle Licht gewoehnt hatte,
kam mir die Idee bei meinem Kumpel, dem alten Gnom vorbei zu schauen.

Gesagt, getan.

Als wir so in seiner Huette sassen und plauderten,
kamen wir auch auf einen gewissen Bovisten zu sprechen.
Der Gnom eroeffnete mir,
dass sich der Bovist beschwert habe,
weil ihm nur so wenige Ausdrucksmoeglichkeiten zur Verfuegung stuenden.
Diesen Missstand wollte ich dann doch schnellstmoeglich beheben.
So unterhielt ich mich also ausfuehrlich mit dem Bovisten
und wir einigten uns auf einige weitere, hoffentlich ansprechende Meldungen, 
die der kleine Kerl jetzt auch kundtut.

Wer in den Genuss des mitteilsameren Bovisten kommen moechte, 
sollte also dem alten Gnom mal einen Besuch abstatten.

Es gruesst Rhovan,
der sich nach so viel Sonne doch lieber wieder in sein dunkles Reich
zurueckzieht.

-----------------------------------------------------------------------------



Buersten (Arathorn, 25. Jun 2018, 00:14:39):
Moin zusammen,

wie schon vor einer ganzen Weile mal angekuendigt, ist die alte Buerste von
Hate nun entsorgt worden. Wer seine vermisst, kann sich in Murksbach Ersatz
beschaffen. Besucht einfach den dortigen Haendler, der euch gerne von seinem
Karren eine verkauft.

Gruss, Arathorn.

-----------------------------------------------------------------------------



Eine Feldgroessenwanze ... (Bugfix, 14. Jul 2018, 14:39:07):
... berechnet ihr Feld jetzt richtig.

Vielen Dank an Soynada fuers melden.

Bugfix

-----------------------------------------------------------------------------



Wurfsterne und -steine ... (Bugfix,  9. Aug 2018, 19:51:12):
... sollten ab jetzt nicht mehr zerfallen. Falls doch bitte melden.

Huldigt der Balance. ;-)

Bugfix

-----------------------------------------------------------------------------



Wandler (Arathorn,  8. Nov 2018, 21:24:40):
Huhu,

ich habe heute einiges am Wandler geaendert. Sollte er sich nicht mehr wie
gewohnt verhalten: meldet euch, entweder bei mir oder bei Bugfix.

Gruss, Arathorn.

-----------------------------------------------------------------------------



Re: Wandler (Arathorn,  8. Nov 2018, 22:12:56):
~#! rn=Arathorn rt=1541708680 rg=d.vland
~#! tid=1541708680
Gleiches gilt fuer die Wandlerhaut.

Arathorn.

-----------------------------------------------------------------------------



Ein Stimmenvervielfaeltiger ... (Bugfix, 29. Mai 2019, 12:01:46):
... beachtet jetzt ignoriere und taucht in der Tmhist auf.

Bugfix

-----------------------------------------------------------------------------



Wurfsterne (Bugfix, 21. Jun 2019, 21:01:28):
Moin,

Ich hab ein paar Kleinigkeiten an den Wurfsternen geaendert. Wenn ich alles
richtig gemacht habe, wird euch nichts auffallen. Falls ihr also was merkt,
dann meldet euch bitte.

Bugfix

-----------------------------------------------------------------------------



Helft dem Hobbit! (Deaddy, 28. Jul 2019, 21:34:34):
Hallo zusammen,

etwas wirklich schlimmes ist passiert. Einem armen kleinen Zauberer
ist ein schrecklichs Uebel widerfahren worden und nun jammert er. Zudem
versaeuft er bestimmt sein ganzes Geld. Er kann zwar nicht viel saufen, aber
er idlet im Trollhumpen und da braucht es dafuer weder einen besonders kleinen
Geldbeutel, noch eine besonders hohe Trinkfestigkeit. Wenn er es nur
wenigstens verfressen wuerde!

Vielleicht koennt Ihr ja etwas daran aendern und Ihm bei seinem Problem
helfen. Sicher ist es sinnvoll, wenn ihr schon ein kleines bisschen
Kampferfahrung gesammlt habt.

Viel Spass!
Deaddy

-----------------------------------------------------------------------------



Re: Helft dem Hobbit! (Zook, 28. Jul 2019, 21:37:06):
~#! rn=Deaddy rt=1564342474 rg=d.vland
~#! tid=1564342474
Ich kann das aus verschiedenen Gruenden (*hust*) nur 
empfehlen. 

Zook

-----------------------------------------------------------------------------



Waldbrand im Verlorenen Land (Bugfix, 28. Aug 2019, 23:08:36):
Im Norden des Verlorenen Landes kam es, wohl ausgeloest durch die sommerliche
Hitze, zu einem verheerenden Waldbrand. Leider war ich beim Loeschen desselben
wohl etwas zu ... aeh, entusiastisch und habe die entsprechenden Dateien
gleich mit geloescht. Der seltsame, verwinkelte und ueberall gleich
aussehende Teil des Schattenwaldes ist wohl auf ewig verloren.

Doch wo brandgerodet wurde kann Neues entstehen. Ihr koennt Tassram fuer
einen komplett neuen und garantiert nicht mehr langweiligen Schattenwald
danken.

Viele Gruesse
Bugfix

PS: Die Geruechte, ich haette den Brand selbst gelegt, kann niemand beweisen!


-----------------------------------------------------------------------------



Herausforschbare NPCs (Notstrom, 17. Okt 2019, 16:14:04):
Huhu,

einige NPCs, die man herausforschen und befragen kann, sollten sich jetzt
nicht mehr unhoeflich vertrubeln, waehrend man mit ihnen spricht. Das
betrifft nicht nur Murksbach, sondern auch meine Gebiete in Unterwelt,
Wald und Wueste.

Hth,
Notstrom.

-----------------------------------------------------------------------------



Dunkelelfen ... (Bugfix,  7. Apr 2020, 11:54:29):
... sollten im Schattenwald jetzt nicht mehr gebraten werden.

Mal wieder danke an Tizona fuers melden.

Bugfix

-----------------------------------------------------------------------------



Die Halle des Krieges ... (Bugfix, 17. Sep 2020, 18:50:04):
... ist jetzt wieder betretbar.

Bugfix

-----------------------------------------------------------------------------



Ein Rosenstrauch ... (Bugfix, 10. Dez 2020, 15:22:24):
... sticht jetzt durch Wandlerhandschuhe hindurch, damit auch Zauberer hier
ihr Blut lassen koennen.

Bugfix

-----------------------------------------------------------------------------



Himmelskreuz (Bugfix, 19. Dez 2020, 22:15:22):
Moin,

Ich habe soeben eure Himmelskreuze ersetzt, daher muesstet ihr sie ggf. neu
anziehen. Grund dafuer war eine fuer euch hoffentlich nicht bemerkbare
Aenderung. Falls ihr doch was merkt, bitte meldet euch, bis auf die alt
bekannten Fehler im Raum-Zeit-Gefuege, die bekomme ich automatisch gemeldet.

Bugfix

-----------------------------------------------------------------------------



Dunkelelfen-Kaempfer ... (Notstrom, 11. Jan 2021, 16:47:41):
... moechten moeglicherweise mal wieder Schubjaks Angebot in Augenschein
nehmen.

Hth,
Notstrom.

-----------------------------------------------------------------------------



Die Runen bei der Gnomenquest ... (Bugfix, 12. Jan 2021, 18:57:40):
... haben jetzt dank Deaddy auch textuelle Beschreibungen.

Viel Spass damit
Bugfix

-----------------------------------------------------------------------------



Ein Rucksack ... (Bugfix, 20. Jan 2021, 17:44:29):
... reagiert jetzt, sofern beschriftet, auch auf die ID "rucksack von <name>".
Das gilt wie ueblich natuerlich nur fuer neue Rucksaecke.

ausserdem gilt wie ueblich, wenn es nicht funktioniert, dann meldet euch,
ausser es gibt einen Fehler im Raum-Zeit-Gefuege, das krieg ich automatisch
gemeldet.

Danke an Tizona fuer die Idee.

Bugfix

-----------------------------------------------------------------------------



Re: Herumlaufende NPCs (Bugfix, 24. Jan 2021, 22:02:56):
~#! rn=Bugfix rt=1611522124 rg=d.gebirge
~#! tid=1611522124
Das selbe gilt hier fuer Schmetterlingsfaenger, schmetterlinge, Schwarzstorch
...

Bugfix

-----------------------------------------------------------------------------



Gefaengnisinsel (Bugfix, 26. Jan 2021, 15:49:02):
Moin,

Die Codetueren auf der Gefaengnisinsel haben grade ein grosses Update
erhalten. Ihr solltet eigentlich nichts davon merken, aber falls doch, dann
meldet euch bitte, ausgenommen Fehler im Raum-Zeig-Gefuege, die bekommen wir
Magier automatisch gemeldet.

Bugfix

-----------------------------------------------------------------------------



Fussring (Bugfix, 27. Jan 2021, 21:47:43):
Moin,

Der Fussring hat soeben ein groesseres Update bekommen. Abgesehen von
Performance-Verbesserungen, laesst er sich jetzt mit "ignoriere
[<spieler>].melde" fuer alle Spieler oder nur einen bestimmten ignorieren.

Sollte irgendwas nicht funktionieren, dann meldet euch bitte, abgesehen von
den bekannten Fehlern im Raum-Zei_t_-Gefuege.

Bugfix

-----------------------------------------------------------------------------



Orks, Orks und noch mehr Orks! (Bugfix,  2. Feb 2021, 17:50:24):
Moin,

Die Orks in beiden Realitaeten von Orkhausen wurden komplett ueberarbeitet.
Das passierte zwar primaer um Wartungsfreundlichkeit und Effizienz zu
steigern, hat jedoch auch ein paar Auswirkungen auf Spieler.

1. Kampfverhalten
Die Orks benutzen jetzt, wo vorhanden und brauchbar, die Standard-NPCs der
jeweiligen Gilde. Das Kampfverhalten koennte sich also leicht veraendert
haben. Sollte es stark abweichen, bitte gebt mir eine rueckmeldung.

2. Diskriminierung von Gilden
Sollten Zauberer und Dunkelelfen den Eindruck haben jetzt mehr Schaden zu
machen, dann stimmt das vermutlich, die rollenspieltechnisch nicht
erklaerbare Schadensreduzierung fuer diese Gilden entfaellt.

3. EKs
Vermutlich interessiert euch das ja alle sowieso nicht, aber falls doch, ein
Besuch in Orkhausen koennte sich durch diese Aenderung durchaus auf der
Plakette bemerkbar machen.

4. Bugs
Das war vermutlich die groesste Aenderung an bestehendem Code, die ich in
mmeiner Magierlaufbahn auf einen Schlag gemacht habe. Natuerlich habe ich
alles was moeglich war im Homemud getestet, aber es sind durchaus Fehler
moeglich, die so nicht so einfach zu entdecken sind. Wenn also etwas nicht
funktionieren oder sich voellig anders verhalten sollte als sonst, bitte gebt
mir eine Rueckmeldung.

Bugfix

-----------------------------------------------------------------------------



Re: Orks, Orks und noch mehr Orks! (Bugfix,  4. Feb 2021, 16:28:52):
~#! rn=Bugfix rt=1612284624 rg=d.vland
~#! tid=1612284624
Moin,

Die Werwolf-Orks haben noch ein Update bekommen. Die gute Nachricht, sie sind
berecenbarer, als sie seit dem letzten Update waren, die schlechte, dass sie
jetzt berechenbar immer stark sind, aehnlich wie vorher. ;-)

Weiterhin gab es noch drei kleine Bugs, die ich gefixt hab. Zweimal danke an
Vanir, einen hab ich selbst gefunden.

Bugfix

-----------------------------------------------------------------------------



Wurfsterne (Bugfix, 21. Mar 2021, 10:13:55):
Moin,
Bei den Wurfsternen gab es eine technische Aenderung. Das einzige, was ihr
merken solltet ist, dass ihr eure Scoreamulette neu anziehen muesst. Solltet
euch etwas anderes aufffallen meldet euch bitte, ausser bei Fehlern im
Raum-Zeit-Gefuege, die bekomme ich automatisch gemeldet.

Bugfix

-----------------------------------------------------------------------------



Ein Fall aus allen Wolken (Bugfix,  6. Sep 2021, 12:13:45):
Moin,

Wer auf besagte Art stirbt, wird es in Zukunft ein bisschen leichter haben
seine Ausruestung wiederzufinden.

Bugfix

-----------------------------------------------------------------------------



Kampfstock (Bugfix, 18. Nov 2021, 22:11:20):
Moin,

Es gab heute einige technische Aenderungen am Kampfstock. Sollte etwas nicht
mehr funktionieren, bitte bei mir melden.

Achja, ich habe alle Kampfstoecke ausgetauscht, also ggf. muesst ihr sie neu
zuecken oder so.

Bugfix

-----------------------------------------------------------------------------



Gefaengnisinsel (Bugfix, 20. Jan 2022, 12:43:51):
Moin zusammen,

Ich habe grade eine groessere Menge Aenderungen an der Gefaengnisinsel
eingespielt. Eigentlich sollte sich das nicht nennenswert im Spiel bemerkbar
machen, falls doch, gebt mir bitte eine Rueckmeldung.

Bugfix

-----------------------------------------------------------------------------



Re: Gefaengnisinsel (Bugfix,  3. Mai 2022, 20:45:35):
~#! rn=Bugfix rt=1642679031 rg=d.vland
~#! tid=1642679031
Moin,

leider habe ich bei der Aktion das Zwillings- und das Codeknackerraetsel
kaputtgemacht. Inzwischen funktionieren sie wieder, vielen Dank an Yyrkoon und
Kollja fuers melden.

Sofern jemand die Quest im genannten Zeitraum angefangen hat und bei den
genannten Raetseln offensichtlich Daten fehlen, moege er oder sie isch bitte
bei mir melden.

Bugfix

-----------------------------------------------------------------------------



Ein gnomischer Speer ... (Bugfix,  8. Okt 2022, 13:13:17):
... hat ein paar technische veraenderungen erfahren. Falls den mal irgendwer
benutzt und irgendwas komisch sein sollte, bitte melden.

Bugfix

-----------------------------------------------------------------------------



Belohnung im Metzelgang (Bugfix, 10. Okt 2022, 22:16:38):
Moin,

die als Belohnung erhaeltliche Waffe hat einige technische Aenderungen
erfahren. Fuer euch duerfte interessant sein, dass sie sich jetzt gegen mehr
Gegner aufhetzen laesst und der Bonus auch bei mehr Gegnern zum Tragen kommt.
Dies alles war bereits mit der Balance abgeklaert, nur leider war der
Mechanismus defekt.

Bugfix

-----------------------------------------------------------------------------



Re: Belohnung im Metzelgang (Bugfix, 10. Okt 2022, 22:23:32):
~#! rn=Bugfix rt=1665432998 rg=d.vland
~#! tid=1665432998
Achja, da besagte Waffe grade unterwegs ist, ersetzen ist leider nicht
moeglich, gilt also nur fuer neue Exemplare. ;-)

Bugfix

-----------------------------------------------------------------------------



Wurfsterne (Bugfix, 19. Jan 2023, 12:03:05):
Moin,

die Balance hat sich mal wieder mit den Wurfsternen befasst.

Die Schadensreduzierung fuer Zauberer entfaellt ab heute. Bei aktivierten
Haenden kann es allerdings vorkommen ... ach, egal, das merkt ihr schon
selbst. ;-)

Das ganze gilt uebrigens nur fuer neu geholte Wurfsterne, die Orks laufen wohl
auch noch mit alten rum, zumindest teilweise. Und aufgrund von
Unitobjekt-Magie koennen neue unter bestimmten Vorraussetzungen auch zu alten
werden, also beschwert euch nicht, die Alternative waere _alle_ aktuell im
Spiel befindlichen Wurfsterne zu entsorgen.

Viel Spass
Bugfix

-----------------------------------------------------------------------------



