Chaos!! (Zardoz, 17. Aug 1995, 14:35:45):
Hallo und Willkommen in der Rubrik des Chaos!
Rochus war so freundlich diese Rubrik einzurichten. Also dann schreibt
hier mal fleissig... ich will aber nur Lob hoeren :-)

Ciao

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



Re: Chaos!! (Cuchullin, 17. Aug 1995, 14:37:09):
#! rn=Zardoz rt=808662945


Fein, Chaos ohne ende... wie waers mit gilden.abenteurer und
gilden.allgemein? Damit wir spieler uns auch maechtig auslaestern koennen....
:-)

Cuch.-


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



Kanal (Anakin, 17. Aug 1995, 15:41:48):
Hiho,

Ja ich wuerd gerne nen eigenen Kanal haben fuer die Gilde immer ueber
[Beileid:] bringt es nicht da viele davon nichts wissen.

Anakin (Chaoskrieger)

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



Kanal (Anakin, 17. Aug 1995, 17:39:03):
Hiho,

es gibt jetzt dank Rochus einen Kanal fuer uns: -+c :)

Anakin.

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



Re: Chaos!! (Schrumpfi, 18. Aug 1995, 02:06:43):
#! rn=Zardoz rt=808662945
Dein Wunsch sei mir Befehl! :-)
Ich hab mir das Gildenfile (jaja, faule Magierin ;-) ) neulich durchgesehen
und bin voellig faszniniert. Ist echt toll, Zardoz!!
Schrumpfi

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



Re: Re: Chaos!! (Zuerileu, 18. Aug 1995, 09:56:01):
#! rn=Schrumpfi rt=808704403
Zuerileu ist immer noch das groesste CHAOS !!!

hihi, ne die Gilde ist klasse Zardoz so wie ich mit ersten Blicken
feststellen konnte und einer meiner Testi's wird dort sicher beitretten um
sich alles live aus der naehe betrachten zu koennen. =:)

Tschuess Zuerileu (in ihm lebt das CHAOS !)


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



Intarbir und Kruftur (Zardoz, 18. Aug 1995, 13:02:43):
Intarbir und Kruftur folgen jetzt (meistens). Dadurch verringert sich auch
ihre Anzahl, da man immer nur einen haben kann.... sie verschwinden nach
Abschaetzung oder Identifizierung oder nach einiger Zeit von alleine.

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



Ommmm...... batis (Cuchullin, 18. Aug 1995, 14:38:39):

Ahem - Zardoz, es waere nett, wenn das Opfer wuesste, wem es die
unterhaltenden Minuten verdankt....

Cuch.-


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



mal ein Bitte (Crusader, 19. Aug 1995, 22:01:53):
musst ihr unbedingt in den kneipen zaubern ?, ich kam heute mit 16 lp in
die kneipe auf dem friedhof zum tanken und waere da beinahe von irgendso
einem daemon oder was das ist gekillt worden.
lapidare antwort des den daemon gerade erschaffenen spielers:
der ist eben fies !

das muss doch nicht sein.
crusader

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



Re: mal ein Bitte (Miro, 21. Aug 1995, 00:18:50):
#! rn=Crusader rt=808862513
Hi ihrs,
gelten die PK Regeln nicht auch fuer die "Kinder" unserer Chaosbrueder?
d.h. wenn irgendjemand was zaubert/erschafft welcher Gilde auch immer und ein
Spieler geht dabei drauf, dann muss er mit den Konsequenzen rechnen.
Also: kein Gebot der Fairness, sondern Grundregel eins des Zusammenlebens.
Auch fuer den fiesesten Chaosbruder.
Miro

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



Re: Re: mal ein Bitte (Anakin, 21. Aug 1995, 00:28:18):
#! rn=Miro rt=808957130
Hi,

Soviel ich weiss passiert bei Daemoen kein PK.

Anakin.

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



Re: mal ein Bitte (Boing, 21. Aug 1995, 15:11:38):
#! rn=Crusader rt=808862513
Ich denke auch, dass Kneipen, Laeden und Post daemonenfreie Zonen
sein sollten.
  Boing

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



Zettel (Zardoz, 21. Aug 1995, 16:57:57):
In der Chaos-Gilde haengt jetzt ein Zettel, auf dem die neusten Aenderungen
in der Gilde angekuendigt werden.

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



Nachtsicht und 'lies bla' (Boing, 21. Aug 1995, 16:59:32):
Nachdem ich eben die Runen in der SSP gefixed habe, moechte ich euch
bitten an Stellen, wo Nachtsicht nicht funktioniert einen Fehler
abzusetzen oder dem entsprechenden Magier eine mail zu schicken.
  Boing

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



Chaosruestung und Quests (Gabi, 23. Aug 1995, 02:56:39):
Hi!
Erstmal ein Lob an Zardoz fuer die lustige Chaosgilde. Rosa (fuer die ich
diesen Artikel schreibe) uebt fleissig und versucht zwischendurch, ein paar
Quests zu loesen. Leider stoesst sie dabei mit ihrer Ruestung auf einige
Probleme, weil die Chaosruestung nicht ausgezogen werden kann. (okay, man kann
sie ausziehen, aber das ist absolut lebensgefaehrlich, und auch wenn sie das
ueberleben sollte, problematisch, wenn sie anschliessend vergiftet oder blind
ist)
In einigen Quests gehoert es zur Aufgabe, eine Ruestung anzuziehen, und dies
kann an ziemlich unerwarteten Stellen passieren. Hier also meine Auflistung
von den Quests, wo man eine andere Ruestung als die Chaosruestung anziehen
muss:
Pandora (Flugpanzer)
Oma Wetterwachs (Dienerweste!)
Heilung fuer den Hexer (Thermopanzer)
Orkenhort (Adlerjacke)
Es waere doch zu ueberlegen, ob es nicht moeglich ist, diese Ruestungen als
Umhaenge zu deklarieren, besonders bei Orkenhort und Oma Wetterwachs sehe ich
darin keine Probleme, da eine Dienerweste sich eh nicht als Ruestung eignet
auf Dauer und die Adlerjacke sich nach Gebrauch ohnehin wieder sofort
aufloest...
Ich schreibe jetzt noch Mails an die einzelnen Magier, die fuer diese Quests
verantwortlich sind, werde aber bei Troy kaum eine Chance haben, dass diese
Mail jemals gelesen wird...
Solange sich also an diesen Ruestungen nichts aendert, sind die Quests fuer
Chaoten nicht zu empfehlen, bzw nur ohne Chaosruestung, was man sich vor
Beginn der Quests ueberlegen sollte!!!
Rosa.

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



Re: Chaosruestung und Quests (Gabi, 23. Aug 1995, 08:42:12):
#! rn=Gabi rt=809139399
Okay, Romili hat schon auf meine Mail reagiert und flugs die Adlerjacke in
einen Umhang verwandelt. Orkenhort ist somit fuer Chaoten (fast) kein Problem
mehr ;-).

Vielen Dank fuer die prompte Reaktion, Romili! :-)

Rosa.

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



Re: Re: Chaosruestung und Quests (Zardoz, 23. Aug 1995, 11:02:40):
#! rn=Gabi rt=809160132
Die Chaosruestung wird geaendert. Danach wird sie bei keiner Quest mehr
stoeren. Ich hoffe, es noch heute fertig zu bekommen.

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



Chaosruestung (Zardoz, 30. Aug 1995, 14:44:23):
So, ich hab den Bug aus der Ruestung jetzt wohl beseitigt. Sie sollte jetzt
keine Probleme mehr machen, wenn man stirbt, und herumliegen sollte sie
auch nicht mehr.

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



eine idee zum chaosschaden (Rosa, 31. Aug 1995, 05:33:04):
hi!

also, die chaosgilde macht mir immer mehr spass :-)

leider vergesse ich meistens, welchen chaosschaden ich als letztes
ausgewaehlt habe. ist es vielleicht moeglich, dass man abfragen kann, welche
art von schaden gerade die aktuelle ist? das wuerde mir sehr helfen. danke!
:-)

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



Re: eine idee zum chaosschaden (Rochus, 31. Aug 1995, 11:36:58):
#! rn=Rosa rt=809839984
Wenn ein Chaot selber den Ueberblick darueber verliert, was er
eingestellt hat, ist das sicherlich nicht unerwuenscht von Zardoz.
Also: Lass Dich ueberraschen... :-)
Wer Chaos will wird auch Chaos bekommen :-)

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



Re: Re: eine idee zum chaosschaden (Ketos, 31. Aug 1995, 15:28:32):
#! rn=Rochus rt=809861818
Choas strikes back >-)

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



Re^3: eine idee zum chaosschaden (Asmodis, 31. Aug 1995, 15:43:40):
#! rn=Ketos rt=809875712
Chaosball haelt sich sowieso selten an den gewaehlten Typ :)

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



Daemonen (Anakin, 20. Sep 1995, 14:36:03):
Hi,

Ich bitte mal alle Karatekas und alle anderen nicht mehr
zu freizuegig mit dem 'toete alle' umzugehen, ich hatte
es frueher auch und es war sehr praktisch, aber wenn denn
ein Chaot im Raum steht und der hat nen Daemon dabei,
und der wird nun dann gekillt, ist es schon aergerlich weil
diese Daemonen bis 180MP kosten (wenn sie mal gelingen :-).


Anakin (zum ersten mal richtig metzelnd als Chaot)


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



Re: Daemonen (Nichts, 20. Sep 1995, 15:01:18):
#! rn=Anakin rt=811600563


Das "toete alle" hat eh Nachteile ;)

"" - fand sich nach einem 'ta' in Moron bei Tim Tintenklecks wieder.

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



Re: Re: Daemonen (Anakin, 20. Sep 1995, 15:39:39):
#! rn=Nichts rt=811602078
Jo,

aber in der SSP macht es sich des Oefteren ganz nett.

Anakin. SSPGaenger.

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



Re: Re: Daemonen (Jaf, 20. Sep 1995, 18:31:28):
#! rn=Nichts rt=811602078

Hm... also ich halte Daemonen fuer natuerliche Gegner :)

Fyt.


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



Re^3: Daemonen (Anakin, 20. Sep 1995, 18:34:05):
#! rn=Jaf rt=811614688

Hm... mach es und Du bekommst Aerger :)

Anakin.

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



Re^4: Daemonen (Jaf, 20. Sep 1995, 19:28:51):
#! rn=Anakin rt=811614845

Hm, das versuch ich Fyt ja auch zu erzaehlen, Anakin, aber er
hoert nicht auf mich :)

Jaf.
nn

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



Re: Daemonen (Hardil, 21. Sep 1995, 10:56:02):
#! rn=Anakin rt=811600563

Sorry Anakin, aber ich muss mich mal ganz bissel totlachen.

Ein CHAOT bittet darum, dass die anderen Spieler ihm nicht seinen 180 MP
teuren Daemonen kaputtmachen?
Ein CHAOT, der in einer Gilde ist, deren Ziel es ist, Chaos uebers MG zu
bringen?
Ein CHAOT, der mit seinen Dunkelheitszaubern *allen* anderen Spielern dauernd
5 MP fuer Lichtkugeln aus der Nase zieht?

Lass mich mich totlachen. Keine Gnade den Chaoten. Wer Chaos verbreitet,
sollte sich nicht wundern, wenn er selber welches
um die Ohren bekommt. :-)))))

-Hardil. Bekommt ploetzlich Lust aufs Daemonen-Jagen. :-)

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



Re: Re: Daemonen (Rxtech, 21. Sep 1995, 11:04:54):
#! rn=Hardil rt=811673762
Tja Hardil, dann reg Dich aber auch nich auf, wenn Diu den Sensi toeten
willst und ploetzlich von nem Flaxtri gekillt wirst, weil Du nunmal toete alle
machen musstest. Gehoert dann ja auch dazu :)

Daemonisch und immer noch Chaot Rx

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



Re: Daemonen (Asmodis, 21. Sep 1995, 22:37:37):
#! rn=Anakin rt=811600563
Naja, wenn die betreffenden Spieler durch den Daemon dann gekillt werden,
sind sie selbst Schuld :)

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



Re^4: Daemonen (Snuggle, 26. Sep 1995, 16:35:09):
#! rn=Anakin rt=811614845
chaot! :-)

Snuggle

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



Re^5: Daemonen (Ray,  3. Okt 1995, 09:43:45):
#! rn=Snuggle rt=812129709
darf man seinen daemonen helfen, wenn sie angegriffen werden?

verteidigt seine daemonen, Ray ;)

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



Kontrolle (Zardoz,  5. Okt 1995, 11:18:27):
Man braucht fuer den Kontrollespruch jetzt keine freie Hand mehr.

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



Re: Kontrolle (Janice,  5. Okt 1995, 13:36:36):
#! rn=Zardoz rt=812888307
Prima !! danke Zardoz

Janice freut sich ueber gute Nachrichten

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



Chaosschaden (Zardoz, 11. Okt 1995, 09:54:16):
Ich habe den Chaosschaden umgeschrieben. Die Wahrscheinlichkeit, dass der
eingestellte Schadenstyp kommt, wird jetzt anders berechnet. Es kann also
passieren, dass bei einigen jetzt seltener die gewuenschten Baelle kommen,
bei anderen haeufiger. Dafuer kann man jetzt davon ausgehen, dass der
gewuenschte Schaden (fast) immer kommt, wenn man den Chaosschaden perfekt
beherrscht.

Ciao         Zardoz  (bastelt wieder an der Gilde)

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



Gilde (Zardoz, 19. Okt 1995, 14:43:59):
Im Raum neben Wuqour hab ich Aenderungen vorgenommen. Die, die Bescheid
wissen,
wissen schon, was ich meine :-))

Ciao        Zardoz

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



Re: Gilde (Asmodis, 19. Okt 1995, 14:59:46):
#! rn=Zardoz rt=814110239
Ich frag mich immer noch, was man da mit nem Pentagramm anfangen soll

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



Chaoshaut (Zardoz, 19. Okt 1995, 16:44:06):
Ich habe die Veraenderung der Stats durch die Chaoshaut erstmal
herausgenommen,
bis ich einen Bug beseitigt hab...

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



Gilde (Zardoz, 31. Okt 1995, 15:45:04):
Wie sicherlich schon einige gemerkt haben (*grins Bernhard an*), bastel
ich zur Zeit endlich mal wieder an der Gilde. Es wird also einiges
Neues in naechster Zeit geben, bzw. gibt es schon. Neuste Infos haengen
am Zettel im Gildenraum (bei Kruuolq und Hutschat). Fuer Tips, Ideen,
Anregungen, Vorschlaege bin ich immer offen.... Also her damit!

Ciao       Zardoz

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



Top-Liste (Zardoz,  2. Nov 1995, 17:42:29):
Hey Leute!
In der Chaos-Gilde liegt auf dem Boden jetzt ne Top-Liste, die leider
viel zu wenig Beachtung findet :-)

Deshalb: Schaut sie euch an!

Ciao    Zardoz

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



Top-Liste (Zardoz,  3. Nov 1995, 09:10:54):
Hallo finstere Krieger des Chaos!

In die Top-Liste der Gilde geht jetzt auch die Gilden-Stufe mit ein.
Deshalb haben sich einige Platzierungen veraendert (duerfte vor allem
Bernhard freuen :-)).

Ciao            Zardoz, der mit dem Chaos tanzt

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



Re: Top-Liste (Bernhard,  3. Nov 1995, 14:43:26):
#! rn=Zardoz rt=815386254
HEYA Zardoz!!!

Klar freue ich mich, danke grosser Meister!!!

MfG Bernhard, der das Chaos meistert

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



Tribuenen fuer die Kampfarena (Zardoz,  6. Nov 1995, 11:29:02):
An der Kampfarena der Gilde wurde angebaut. Es gibt jetzt auch Tribuenen,
von denen aus man einen Kampf genau beobachten kann.

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



Kruuolq (Zardoz,  9. Nov 1995, 09:21:16):
Dies ist ein Artikel von Kruuolq.
Dass Zardoz als Autor genannt wird, ist Zufall.

Liebe Mitglieder der Gilde des Chaos!

Wenn ihr Fragen zu eurer Stufenerhoehung habt, oder ich eure
Zauberfaehigkeiten beurteilen soll, dann braucht ihr es mir
in Zukunft nur mitzuteilen, ich werde euch dann antworten.

Mit daemonischen Gruessen
                               Kruuolq!

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



Chaos-Hobbits (Zardoz,  7. Dez 1995, 11:31:50):
So, die Hobbit-Diskussion ist mir zu sehr abgedriftet. Scheint mir, als
ob die "Mittel-Erde-Experten" jede Gelegenheit nutzen um mit ihrem
"Fachwissen" herumzuwerfen. Ist zwar mal ganz nett, aber diese Rubrik
ist eigentlich nur fuer Sachen, die direkt die Chaos-Gilde betreffen.
Das Hobbits nicht eintreten duerfen, liegt eh alleine an mir. Eine
andere Begruendung brauchts da nicht.

Ciao        Zardoz

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



Chaos zu stark? (Roesti,  8. Dez 1995, 22:16:05):
Also dazu kann ich nur eines sagen...
Die ein oder andere Quest wird,(Fals es richtiog ist zu sagen das die Chaoten
zu stark sind... Ich bezweifle das) durch die Chaosruestung viel
interresannter BZW gefaehrlicher...

Ich stand neulich bei der Postqueste mit revoltierender Ruestung in der
elvensiedlung und hab nen Elvenwaechter angegriffen....Argel...Wenn das in der
Zwergenstadt passiert....

Roesti der RL-Chaot

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



Re: Chaos zu stark? (Asmodis,  8. Dez 1995, 22:48:16):
#! rn=Roesti rt=818457365
Dann gehst du einfach aus der Zwergenstadt raus, wenn du merkst, dass der
Daemon revoltiert, dann passiert dir auch nix.

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



Re: Re: Chaos zu stark? (Roesti,  8. Dez 1995, 22:52:30):
#! rn=Asmodis rt=818459296
Ich mein ja nur....
Ist ein ausgleich dazu das sie angeblich soooo stark sind....

Roesti fuehlt sich nicht zu stark....

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



Re^3: Chaos zu stark? (Asmodis,  8. Dez 1995, 23:45:08):
#! rn=Roesti rt=818459550
Du hast ja auch erst Gildenlevel 5, Karatekas sind mit dem 9. Kyu auch noch
nicht so stark :)

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



Re^4: Chaos zu stark? (Roesti, 11. Dez 1995, 19:52:49):
#! rn=Asmodis rt=818462708
Ich finde NICHT das chaoten zu stark sind aber in letzter Zeit muss ich mir
das immer wieder von anderen anhoeren...
Also nur als Rechtfertigung gedacht...

Roesti

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



Re^5: Chaos zu stark? (Schrumpfi, 11. Dez 1995, 23:35:39):
#! rn=Roesti rt=818707969
Ich finde auch nicht, dass die Chaoten zu stark sind, denn immerhin kostet es
ja auch einigen Schweiss um diese Faehigekeiten zu bekommen. Ich fand Lilith
nur zu schwach :-)
Auch nur so als Rechtfertigung gedacht und um Missverstaendnisse aus dem Weg
zu raeumen.

S.d.O.v.P

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



Re: Chaos zu stark? (Zuerileu, 14. Dez 1995, 04:28:30):
#! rn=Roesti rt=818457365
Sali Roesti,
Sorry aber deinen Level ist auch noch ziemlich tief um einen Elfenwaechter
anzugreifen. Ich meine wenn man nun mal davon abseht das die Elfenwaechter
zusammen zurueckschlagen. Wenn dein Level oder besser deine Attribute etwas
hoeher sind wird es auch Dir noeglich sein einen Elfenwaechter zu toeten.

cu Zuerileu

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



Re: Re: Chaos zu stark? (Roesti, 15. Dez 1995, 12:26:03):
#! rn=Zuerileu rt=818911710
Ich hab mich nie beschwert!!!!
Ich finde das System sehr gut so wie es ist....:)
Ich wollt nur mal ne geschicht erzaehlen die mir passiert ist und sonst
nix....:)

Bitte nix mehr dazu schreiben....
   ->Roesti
nn

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



Wunschzettel (Roesti, 15. Dez 1995, 12:54:45):
Lieber Weihnachtsmann!
Ich habe dieses Jahr einen besonderen Wunsch.
Dieses Jahr wuensche ich mir nicht das schoene BSS Schwert das ich jeden Tag
im Schaufenster unten im Laden bestaune...
Auch nicht den ZT den ich noch nicht gefunden hab.
Auch an muenzen,schmuck,ruestungsteilen hab ich keinen Mange.
Meine schuhe tun es auch noch ne Weile...

Aber bitte lieber Weihnachtsmann ...
   ... bitte , bitte lieber lieber Weihnachtsmann
   mach das Zardoz wieder ins Morgengrauen kommt...

Das waere emein schoenstes Weihnachtsgeschenk...

(schlicht und einfach: ) Roesti

P.S.: Ich will auch immer artig sein...

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



Re: Wunschzettel (Jimdigriz, 15. Dez 1995, 13:04:03):
#! rn=Roesti rt=819028485
Huaaaarg *schuettel mit grausen*

Also glaubt Ihr Echt, das Der Dunkle vom Gewinsel
irgendwelcher Nichste (sorry Nichts) wieder zurueck-
zaubern koennt. Er ist schliesslich nicht so ein kleiner
Winzdaemon wie Intarbir, den jeder Winzwahnswitze herbei
rufen kann. Der Dunkle lacht Doch nur ueber diese sabbernde
an den Nikolaus glaubende weinerliche Gewuerm.
Ich schaetz mal dass hoechstens der Erzmeister Gruuh die
Macht hat Zardoz wieder zu beschwoeren, also
ueberlasst die Sache ihm.
James Bolivar diGriz - heute mal boese, arrogant, gehaessig.

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



Re: Re: Wunschzettel (Jimdigriz, 15. Dez 1995, 13:10:50):
#! rn=Jimdigriz rt=819029043
Hmm

Ich sehe grade das Gruuh die Gilde gewechselt hat, Erzmeister
der Chaosgilde ist Der Dunkle selber... tja dann habt Ihr wohl
Pech gehabt.

JdG

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



Re: Wunschzettel (Schrumpfi, 15. Dez 1995, 18:01:08):
#! rn=Roesti rt=819028485
Erzaehl weiter so einen Scheiss und Zardoz kommt nicht mehr.
Mensch Kinners, er macht eine Spielpause und wenn er sich entscheidet, dass
er nicht mehr kommen will, ist das zwar traurig aber noch lange kein Grund
hier so rumzuschleimen. Da wird einem ja schlecht bei. Weihnachtsmann,
Wunschzettel... sonst   noch was?
Schrumpfi kriegt Spontandurchfall bei solchen Artikeln

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



Re: Wunschzettel (Laila, 18. Dez 1995, 08:47:42):
#! rn=Roesti rt=819028485
Lieber Weihnachtsmann!
Da Roesti dieses Jahr auf materielle Dinge keinen Wert legt.
Kannst Du sie mir ja einfach schenken. Ich bin ja nicht so und lass
dich auf all diesen Dingen sitzen.

Also danke schonmal im Vorraus
und

Schoene Weihnachten

Laila

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



Kruftur (Zardoz,  5. Jan 1996, 21:18:05):
Kruftur kann jetzt auch Objekte identifizieren, die man in seinem Inventory
hat. Gab ja leider bei einer Quest deswegen Probleme... Ihr muesst Kruftur
nix spezielles sagen, er schaut einfach bei euch nach, wenn er das Objekt
im Raum nicht findet...

Ciao   Zardoz

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



Selbstmord (Zardoz, 18. Jan 1996, 17:42:36):
Hallo ihr wahnsinnigen Krieger des Chaos!

Wuqour hat durch jahrelanges Forschen den Verbanne-Zauberspruch dahin
beeinflussen koennen, dass dieser nun auch gegen den Daemon der
Chaosruestung zu verwenden ist. Dies ist natuerlich nicht ganz ungefaerlich,
denn man kann den Daemon damit leicht veraergern, doch sollte der Spruch
voellig gelingen, so verschwindet er ohne einen zu belaestigen.

Versucht euch also mal in dieser neuen Technik, es soll euer Schaden sein.

Ciao Zardoz (i.A. von Wuqour)

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



Erzmeister (Zardoz,  1. Feb 1996, 13:15:10):
Es gibt bald einen Erzmeister fuer die Chaos-Gilde. Alle Meister sollten
mal die Bekanntmachung im Meisterraum lesen.

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



Schneefall in Koeln (um mal Rynes seltsame Titel zu benutzen) (Zardoz,  2. Feb 1996, 15:07:36):
Neuerung bei den Daemonen.
Die Daemonen koennen nun auf Wunsch eines Spielers nicht mehr mit
'toete alle' angegriffen werden. Es werden zwar alle anderen anwesenden
Monster angegriffen, nicht aber die Daemonen. Will man einen der Daemonen
toeten, so muss man seinen Namen angeben (z.B. toete tutszt).
Ich hoffe mal, dass dies reibungslos funktioniert, Bugs oder Beschwerden
an mich.

ciao   Zardoz der Daemonenumgestalter

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



idee ! (Inskipp,  3. Feb 1996, 18:01:01):
Huhu Chaoten und Ihr Chef der Dunkle !

Grade nette Idee gehabt:
Man kann Daemonen doch was befehlen. Leider verstehen ausser Kruftur
und Intarbir sonst kaum einer einen befehl. Ausser 'folge mir'
der auch keinen Effekt hat ist mir noch nix gelungen.
Btw koennte man wenn die daemonen keinen Bock haben einem zu
folgen einfach 'XYZ will jetzt nicht.' oder aehnlich ausgeben statt:
'XYZ folgt Dir.' was er ja offensichtlich nicht tut.
Aeh aber jetzt zu meiner idee: wie waers wenn man den daemonen
zum beispiel emote befehle oder sag befehele geben koennte ?
Natuerlich hat ein Daemon wenig lust jmd die Haare zu verwuscheln,
aber zum beispiel muss er sich verbeuegn und im staub kriechen
wenn sein beschwoerer das will. *haehaehaeh*
Wieweit solche Moeglichkeiten gebten werden sollen, bleibt
natuerlich Dem Dunklen ueberlassen. (zB Bis zu befehle XYZ iss beeren
waere wohl schon uebertrieben).
Ich denke dass man aber aus diesen anregungen schon was machen kann
wenn Der Dunkle mal Licht am ende seines dunklen Tunnels
der ToDo liste sieht ;-)

Ciao,
Der schwarze Inskipp.

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



Es gibt was neues (Zardoz, 26. Feb 1996, 18:36:51):

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



Faehigkeiten (Qume,  1. Apr 1996, 04:36:24):
Hallo,

ich hab als neue chaotin mal eine frage zu den faehigkeiten:  was
fuer abstufungen gibt es da eigentlich, und was bedeuten die so etwa?
mich verwirrt naemlich etwas, dass ich z.b. nachtsicht 'ausgezeichnet' kann,
aber meistens misslingt mir der spruch.

c u
qume

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



Re: Faehigkeiten (Zardoz,  1. Apr 1996, 15:51:57):
~#! rn=Qume rt=828326184
~#! tid=828326184
Bedank dich beim Zufallsgenerator :)

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



Zauberer nerven. (Rudiratter, 12. Apr 1996, 06:32:51):
Ich weiss, ich bin intolerant, aber mich nervt die Zauberergilde.
Das ganze MG ist voll mit bloeden Kaninchen und Hasen und abgestellten
Ebenbildern von Amdodis' Club, das ist schon ganz schoen aufdringlich. Kann
man das nicht so regeln, dass die wenigstens verschwinden, wenn sich der
betreffende Zauberer ausloggt??
ANsonsten wuensche ich mir von Zardoz noch mehr Moeglichkeiten fuer Chaoten,
die anderne Mitspieler zu Tode zu nerven und eine Aufwertung unserer Gilde...
ZAUBERER SIND BLOED UND STINKEN.
Rudi

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



Re: Zauberer nerven. (Terrorist, 12. Apr 1996, 15:29:38):
~#! rn=Rudiratter rt=829283571
~#! tid=829283571

Jo besonders das nerven muss nochs staerker werden.
Die meisten interessiert ja nichtmal Ombatis mehr und im mom haben zauberer
bessere Nervmittel also los zardoz lass dir was einfallen.
Vielleicht machst du ja auch nur ombatis staerker aber igendwas waehr ganz
nett
Und zum Thema Zauberergilde hab ich mich ja schon in allgemein geaeussert.
kurz und gut:weg damit

Terrorist terrorisiert Zauberer

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



Re: Zauberer nerven. (Asmodis, 12. Apr 1996, 17:04:54):
~#! rn=Rudiratter rt=829283571
~#! tid=829283571
Tja, haettet ihr mal Zardoz zum Sheriff gewaehlt, dann koenntet
ihr andere Spieler metzeln :)

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



Re: Re: Zauberer nerven. (Valarian, 12. Apr 1996, 17:07:24):
~#! rn=Asmodis rt=829321494
~#! tid=829283571

Am besten waer ein Spruch, der vor Verfroschung schuetzt, damit wir mal
zeigen koennen, wer die wahre Macht hier ist :-))

KAOZ rules!

Gruss Valarian.

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



Re^3: Zauberer nerven. (Asmodis, 12. Apr 1996, 17:10:00):
~#! rn=Valarian rt=829321644
~#! tid=829283571
Am Besten waere, wenn Ombatis gegen verbannen immun waere, dann haetten
auch Chaoten mit ihm Probleme :)

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



Re^3: Zauberer nerven. (Mupfel, 12. Apr 1996, 19:27:53):
~#! rn=Valarian rt=829321644
~#! tid=829283571
Klar, der Daemon zieht das verfroschen auf sich :-)

-mupfel-

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



Re^4: Zauberer nerven. (Acrimon, 12. Apr 1996, 19:29:08):
~#! rn=Mupfel rt=829330073
~#! tid=829283571
Welcher Daemon macht schon sowas?

Der spendiert Dir eher kleine Hoerner und Brusthaare obendrein, wenn Dich ein
Zauberer verfroscht.

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



asmodis und die froesche (Rudiratter, 12. Apr 1996, 20:48:56):
Leider muss ich hier antworten auf Asmodis' Artikel, weil die andere Rubrik
voll ist.
Erstens bin ich schon vor meiner Rumschreierei einige Male verfroscht worden,
es geht also nicht um das Verfroschen alleine, das heute passiert ist. Das
habe ich auch in den Artikel reingeschrieben, Asmodis.
Zweitens hat man als Nichtzauberer keinerlei Moeglichkeit, sich gegen sowas
zu wehren, wenn Dir aber meine Ruferei auf die Nerven geht, gibt's da einige
Moeglichkleiten: zB. --c oder ignoriere rudiratter. In einem Kampf gegen einen
ZAuberer ist es sowieso unglaublich, dass man ALLE Gildensprueche verliert,
weil man ploetzlich als Frosch zu weniug Kraft hat. Wenn ich mich nciht gegen
das Froschen wehren kann, ist der Spruch deshalb VIEL zu stark.
Das einzige, womit ich mich wehren kann, ist Spielpause -und das ist ja wohl
nciht der Sinn der Sache.

Rudi

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



Re: asmodis und die froesche (Anatol, 12. Apr 1996, 21:22:57):
~#! rn=Rudiratter rt=829334936
~#! tid=829334936

/*

Darf ich mal folgendes zusammenfassen:

a) Im Folgenden gehen wir immer von Top-Leuten der Gilden aus.
b) Geschlecht der Einfachheit (nur deswegen) halber maennlich.

c) Zauberer sind jeder anderen Gilde in der Arena ueberlegen.
d) Chaoten muessen sich vor Zauberer hueten.
e) Chaoten lachen ueber Karateka.
f) Karateka haben 0 Chance gegen Chaoten. Und wenig Sonne gegen Zauberer.
g) Abenteurer sind ueberhaupt arme Wichte.

h) Im freier Wildbahn sind Chaoten, Karateka und Zauberer unvergleichlich.
i) Im EP-Kloppen haben Karateka die Nase vorn.
j) Im EP-Kloppen haben Zauberer wohl die Nase hin.. aeh, naja.

k) Verfroschen ohne richtig triftigen Grund (nerven ist keiner) ist keine
   Gildenangelegenheit sondern eine des betreffenden Spielers. Wenn Asmodis
   meint, er muesse wild verfroschen, ist das SEIN Bier, nicht das der
   Gilde. Wenn Toss jedem einen Ombatis schickt, den er erwartet, ist das
   auch sein persoenliches Problem, nicht das der Chaosgilde.

Rudiratter hat - wie jeder Spieler/Seher - genuegend andere Mittel, um
einen Kleinkrieg (erfolgreich) zu fuehren. Dass Zauberer arenamaessig
eine gewisse Unantastbarkeit seitens der Chaoten geniessen sei ihnen
einfach gegoennt, ich fuer meinen Teil geniesse es.

l) Obiges gilt nur fuer die jetzt angeschlossenen Gilden - warten wir die
   Kleriker mal ab, ne?
*/

Ich bin vielleicht ein Arsch, aber vielleicht weiss ich das.
Anatol

PS: So wie ich Zardoz einschaetze, gibts in der Daemonenburg bald ein
    Tool, mit dem man sich entfroschen kann. Allerdings sollte das dann in
    der Arena verboten werden ;-)


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



Re: Re: asmodis und die froesche (Asmodis, 12. Apr 1996, 23:01:00):
~#! rn=Anatol rt=829336977
~#! tid=829334936
Ich verfrosche nicht wild, ich hab das nur 2x angewendet, und das nur
bei Leuten, die wirklich penetrant waren.
Derjenige, der Rudiratter verfroscht hat, war jemand anderes, aber
ich war nach ihren Auesserungen auch knapp davor, kam leider zu spaet :)

So, das musste mal gesagt werden :)

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



Re: Re: asmodis und die froesche (Rudiratter, 13. Apr 1996, 01:43:41):
~#! rn=Anatol rt=829336977
~#! tid=829334936
Also, ich habe mir schon vorher gedacht, dass diese Diskussion auf einen
solchen Artikel hinauslaeuft. Gestern noch habe ich mit Mephisto geredet und
nur nac langem Uberlegen an Silvana einen Brief geschrieben, weil ich gerade
so was vermeiden wollte.
Trotzdem bleib ich dabei: Froschen ist uebertrieben. Magiern ist es meiner
Meinung nach verboten, einfach so rumzufroschen, deswegen sehe ich keine
Berechtigung dafuer,m dass das jetzt auf einmal Spieler koennen duerfen.
Und ich ahbe nicht gesagt, dass mich Asmodis verfrocsht hat. Das habt IHR
gemacht.
Rudi hat auch keinen Bock mehr auf so ne Diskussion und beendet das Thema
fuer sich.

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



Re: Zauberer nerven. (Silvana, 15. Apr 1996, 07:52:23):
~#! rn=Rudiratter rt=829283571
~#! tid=829283571
Die Schatten loesen sich mit hoher Wahrscheinlichkeit nach 1-2 Resets auf.
Man kann das zwar auch ueber nen call_out machen, aber wieso Rechenzeit
unnoetig verbraten? Die Hasen/Kaninchen sind einfache Hochebenen-Monster
und sollten von jedem Chaoten des Gildenstufe 2 schon in 1-2 Runden
zu plaetten sein, falls es stoert.

  Silvana

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



Re^3: Zauberer nerven. (Silvana, 15. Apr 1996, 07:56:23):
~#! rn=Valarian rt=829321644
~#! tid=829283571
Was das Verfroschen angeht, warte ich dringend auf Wargons Moenche, die
das ja heilen koennen sollen (auch wenn sie selbst gefroscht sind).

  Silvana

PS: Ausserdem gibt es bald auch was von mir, was dagegen hilft...

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



Re: asmodis und die froesche (Jasper, 15. Apr 1996, 09:36:19):
~#! rn=Rudiratter rt=829334936
~#! tid=829334936
nur mal so nebenbei bemerkt gibts auf dem schlachtfeld ein amulett das gegen
verfroscht werden hilft

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



Re: Re: asmodis und die froesche (Wargon, 15. Apr 1996, 11:13:46):
~#! rn=Anatol rt=829336977
~#! tid=829334936
  Hi!
Wenn die Kleriker erst mal da sind, koennte sich das bessern, die koennen
naemlich entfroschen.
  Wargon

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



Re^3: asmodis und die froesche (Anakin, 15. Apr 1996, 11:15:36):
~#! rn=Wargon rt=829559626
~#! tid=829334936
  Hi!
Ja genau wenn...ich denk mal die sind schon seit 1994 in Planung :)
Ausserdem ist nicht immer nen Kleriker zu Hand wenn man
verfroscht wurde.

Anakin.

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



Re^4: asmodis und die froesche (Asmodis, 15. Apr 1996, 12:29:11):
~#! rn=Anakin rt=829559736
~#! tid=829334936
Och, ich hab noch ein paar Zweities frei :)

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



Re^5: asmodis und die froesche (Anakin, 15. Apr 1996, 13:27:08):
~#! rn=Asmodis rt=829564151
~#! tid=829334936
Naja aber ich glaube es ist nicht im Sinne der Magier, dass jeder
nen Abenteuer- Karate- Chaos- Zauberer- Kaempfer- Klerikerzweitie
hat oder? :)

Anakin.

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



Re^6: asmodis und die froesche (Asmodis, 15. Apr 1996, 13:40:16):
~#! rn=Anakin rt=829567628
~#! tid=829334936
Naja, aber es laeuft doch darauf hinaus, dass die Zweities Geld
ranschaffen muessen, damit der Ersti (oder ein anderer Zweiti)
ueben koennen fuer die Anfangsstufen. In der Hinsicht braucht
jeder, der in so einer Gilde etwas werden will, mindestens
einen Zweiti.

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



Re^7: asmodis und die froesche (Anatol, 15. Apr 1996, 17:35:27):
~#! rn=Asmodis rt=829568416
~#! tid=829334936

Asmodis, Du gehst grade von dem "moeglichst-schnell-moeglichst-hoch"-Seher
aus, und das ist NICHT der Normalsterbliche. Ich glaube nicht, dass es
vorgesehen war, dass ne Woche nach Anschluss der erste Magister rumtappst oder
schon 5 Leute in Karate nichts mehr dazulernen koennen...
Gemaessigte Karateka/Zauberer kommen mit ihrem mageren Einkommen klar - wenn
man nebenher Quests loest oder erkundet, veruebt man nicht so viel.

Anatol (uebt auch viel zu viel)


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



Re^6: asmodis und die froesche (Mupfel, 15. Apr 1996, 20:37:17):
~#! rn=Anakin rt=829567628
~#! tid=829334936
Du vergisst den Hexen- (Schrumpfi) und Bierschuettler- (Shakedbeer) Zweitie -
und SO viele 2ties hat selbst Asmodis nicht :-)

-mupfel-

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



Re^7: asmodis und die froesche (Anakin, 15. Apr 1996, 20:38:29):
~#! rn=Mupfel rt=829593437
~#! tid=829334936
Und was ist mit Druiden Untote Schwerttaenzer Assassinen Ninja
Harlekine Todesanbeter Gilden?? Stimmt soviel hat er nicht. :)

Anakin.

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



Re^8: asmodis und die froesche (Ktk, 15. Apr 1996, 23:56:18):
~#! rn=Anakin rt=829593509
~#! tid=829334936
Hm, aber Anatol hat so viele :)

Ktk.

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



Re^8: asmodis und die froesche (Asmodis, 16. Apr 1996, 00:17:12):
~#! rn=Anakin rt=829593509
~#! tid=829334936
Hmm, Untote hoert sich nicht gut an, Assasine auch nicht, Harlekine
ist mir zu bloed und Todesanbeter stirbt man zuviel (naja, notfalls
tritt Beobachter ein), also kann man diese gilden schon mal ausklammern
ausserdem werden sie ja doch nicht vor der Jahrtausendwende fertig :)

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



Re^9: asmodis und die froesche (Anatol, 16. Apr 1996, 18:39:22):
~#! rn=Asmodis rt=829606632
~#! tid=829334936
Ich habe nicht mehr Zweities als Ryne. Also uebertreibt es mal nicht.
Anatol, Erstie.

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



Re^10: asmodis und die froesche (Cub, 17. Apr 1996, 12:51:53):
~#! rn=Anatol rt=829672762
~#! tid=829334936
Nun, dazu muss ich aber auch sagen, dass ich nicht mehr zweities als Anatol
habe ;-))

Daher die Frage: wenn man anatols und meine zweities zusammenzaehlt, durch
die zahl der erzmagier teilt und alle goetter hinzuzaehlt, was kommt dann raus
?

Wichtige Fragen, gestellt von

Rzne. Zweitie von Ryne.

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



Re^11: asmodis und die froesche (Rochus, 17. Apr 1996, 16:47:15):
~#! rn=Cub rt=829738313
~#! tid=829334936
42.

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



Re^11: asmodis und die froesche (Asmodis, 17. Apr 1996, 17:09:10):
~#! rn=Cub rt=829738313
~#! tid=829334936
42 ??

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



Re^12: asmodis und die froesche (Asmodis, 17. Apr 1996, 17:09:33):
~#! rn=Asmodis rt=829753750
~#! tid=829334936
Mist, haette erst weiterlesen sollen :)

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



Re^12: asmodis und die froesche (Paracelsus, 17. Apr 1996, 21:05:22):
~#! rn=Asmodis rt=829753750
~#! tid=829334936
42!

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



Re^11: asmodis und die froesche (Acrimon, 17. Apr 1996, 21:35:57):
~#! rn=Cub rt=829738313
~#! tid=829334936
42?

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



Re^12: asmodis und die froesche (Orktoeter, 18. Apr 1996, 13:46:34):
~#! rn=Acrimon rt=829769757
~#! tid=829334936
Hmm .. scheint so, als ob alle die gleichen Buecher lesen wuerden..
haben wir alsp schlussendlich doch noch die richtige Frage zu der Antwort
gefunden ?
OrkT.

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



Metzel-Master-Quest (Zardoz, 22. Apr 1996, 12:10:05):
Ich habe die Metzel-Master-Quest ein bisschen geaendert. Ein Monster ist
raus, dafuer gibts ein anderes. Naeheres bei Kruuolq. Wenn jemand meckert,
kommt noch die Hydra und Water Luh hinzu, also Klappe halten.

Ciao Zardoz

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



Chaosschaden (Zardoz, 29. Apr 1996, 20:28:58):
Um zu beweisen, dass ich die Chaoten nicht voellig vergessen habe, hab ich
ne Kleinigkeit geaendert. Man kann jetzt mit "chaosschaden" ohne Argument
ohne SP-Kosten die Anzahl und die Art der Chaosbaelle anzeigen lassen, die
man sich eingestellt hat.

Viel Spass

ciao Zardoz

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



Binde-Spruch (Zardoz, 13. Mai 1996, 17:09:06):
Kleine Aenderung im Binde-Spruch!
Daemonen, die nicht folgen wollen, kann man nun mit dem binde-Spruch dazu
ueberreden :) Dies klappt natuerlich nicht immer, sollte klar sein. Also
einfach mal probieren...

Ciao Zardoz

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



Aenderung der Anforderungen (Zardoz, 21. Mai 1996, 15:51:20):
  Hi!
Durch das neue Stufensystem haben sich die Anforderungen fuer die Gildenstufen
10 und 11 geaendert. Eigentlich wie in artikel 4, gilden.klerus nur 27 statt
25 und 35 statt (vorher 28?).
  Zardoz

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



Aenderungen in Folge der Levelreform (Zardoz, 22. Mai 1996, 13:29:06):
Aufgrund der Levelreform koennen Zaubersprueche erst ab Level 35 absolut
perfekt beherrscht werden. Ich find dies zwar totalen Schwachsinn, aber ich
bin ja nur ein kleiner Magier, der nie gehoer findet :( Also nicht bei mir
beschweren. Eine Abhaengigkeit von den Gildenleveln waere logischer, aber da
muesst ihr die EMs nerven, bis es geaendert wird :)

Ciao Zardoz

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



Neues Mitglied der Chaosgilde (Ivanhoe, 22. Mai 1996, 14:37:14):
Dass Ivanhoe als Autor genannt wird, ist nicht zufaellig, aber voellig unerheblich.

Mitteilung von Hutschat, dem Verwalter des Chaos:
Ivanhoe wurde von mir heute in die Chaosgilde aufgenommen. Wuenschen wir ihm alles Boese! Moegen die Daemonen mit ihm sein.

Hutschat, der Verwalter des Chaos.
-----------------------------------------------------------------------------



Re: Aenderungen in Folge der Levelreform (Asmodis, 22. Mai 1996, 16:34:17):
~#! rn=Zardoz rt=832764546
~#! tid=832764546
Jo, das stoerte mich auch schon immer, dass der maximale Lernlevel von
den STufen abhaengig ist. Frueher bedeutete das ja stupides metzeln und
man hat die Vorraussetzungen, perfekt zaubern lernen zu koennen. Ist ja
nicht sehr rollenspieltypisch :)
Wobei die Eps heute sicher auch noch ne Rolle spielen, wer findet schon
alle Zts und Fps ??

Man sollte das mal ueberdenken !

*Mit einer 'Zardoz for Erzmagier' - Fahne wedelnd* 


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



Neues Mitglied der Chaosgilde (Har, 22. Mai 1996, 17:36:32):
Dass Har als Autor genannt wird, ist nicht zufaellig, aber voellig unerheblich.

Mitteilung von Hutschat, dem Verwalter des Chaos:
Har wurde von mir heute in die Chaosgilde aufgenommen. Wuenschen wir ihm alles Boese! Moegen die Daemonen mit ihm sein.

Hutschat, der Verwalter des Chaos.
-----------------------------------------------------------------------------



Re: Neues Mitglied der Chaosgilde (Grimmborn, 22. Mai 1996, 17:39:38):
~#! rn=Har rt=832779392
~#! tid=832779392

Gesundheit!

Sacht mal, kann man dem Verwalter des Chaos nicht mal ein Taschentuch
spendieren? Sein Name geht ja immer im Niesen unter...

GdA


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



Chaosball (Zardoz, 23. Mai 1996, 14:38:54):
Auf vielfachen Wunsch hin, kann man einen neuen Schadenstyp waehlen.

ciao Zardoz

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



Re: Neues Mitglied der Chaosgilde (Mango, 24. Mai 1996, 12:24:03):
~#! rn=Ivanhoe rt=832768634
~#! tid=832768634




         Passiert das jetzt oefters?



Mango, ala in VLand ist ein Baum umgefallen.



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



Neues Mitglied der Chaosgilde (Mariacron, 25. Mai 1996, 13:54:51):
Dass Mariacron als Autor genannt wird, ist nicht zufaellig, aber voellig unerheblich.

Mitteilung von Hutschat, dem Verwalter des Chaos:
Mariacron wurde von mir heute in die Chaosgilde aufgenommen. Wuenschen wir ihr alles Boese! Moegen die Daemonen mit ihr sein.

Hutschat, der Verwalter des Chaos.
-----------------------------------------------------------------------------



Neues Mitglied der Chaosgilde (Ramborolle, 28. Mai 1996, 19:20:02):
Dass Ramborolle als Autor genannt wird, ist nicht zufaellig, aber voellig unerheblich.

Mitteilung von Hutschat, dem Verwalter des Chaos:
Ramborolle wurde von mir heute in die Chaosgilde aufgenommen. Wuenschen wir ihm alles Boese! Moegen die Daemonen mit ihm sein.

Hutschat, der Verwalter des Chaos.
-----------------------------------------------------------------------------



Neues Mitglied der Chaosgilde (Octavio, 30. Mai 1996, 07:25:09):
Dass Octavio als Autor genannt wird, ist nicht zufaellig, aber voellig unerheblich.

Mitteilung von Hutschat, dem Verwalter des Chaos:
Octavio wurde von mir heute in die Chaosgilde aufgenommen. Wuenschen wir ihm alles Boese! Moegen die Daemonen mit ihm sein.

Hutschat, der Verwalter des Chaos.
-----------------------------------------------------------------------------



Dummer EX-Chaot ist ausgetreten (Octavio, 30. Mai 1996, 07:30:10):
Ich muss euch leider mitteilen, dass Octavio heute auf schaendlichste Art und Weise aus der Gilde der Chaoten ausgetreten ist. Leider darf ich nicht zum Playerkill aufrufen, aber ihr wisst, was zu tun ist!

Hutschat, der Verwalter des Chaos.

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



Re: Dummer EX-Chaot ist ausgetreten (Asmodis, 30. Mai 1996, 14:50:25):
~#! rn=Octavio rt=833434210
~#! tid=833434210
War das die kuerzeste Chaos-Zeit? 5 Minuten !

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



Neues Mitglied der Chaosgilde (Kerbenog, 31. Mai 1996, 03:12:20):
Dass Kerbenog als Autor genannt wird, ist nicht zufaellig, aber voellig unerheblich.

Mitteilung von Hutschat, dem Verwalter des Chaos:
Kerbenog wurde von mir heute in die Chaosgilde aufgenommen. Wuenschen wir ihm alles Boese! Moegen die Daemonen mit ihm sein.

Hutschat, der Verwalter des Chaos.
-----------------------------------------------------------------------------



Neues Mitglied der Chaosgilde (Hefe,  3. Jun 1996, 18:45:06):
Dass Hefe als Autor genannt wird, ist nicht zufaellig, aber voellig unerheblich.

Mitteilung von Hutschat, dem Verwalter des Chaos:
Hefe wurde von mir heute in die Chaosgilde aufgenommen. Wuenschen wir ihm alles Boese! Moegen die Daemonen mit ihm sein.

Hutschat, der Verwalter des Chaos.
-----------------------------------------------------------------------------



Dummer EX-Chaot ist ausgetreten (Hefe,  3. Jun 1996, 18:46:46):
Ich muss euch leider mitteilen, dass Hefe heute auf schaendlichste Art und Weise aus der Gilde der Chaoten ausgetreten ist. Leider darf ich nicht zum Playerkill aufrufen, aber ihr wisst, was zu tun ist!

Hutschat, der Verwalter des Chaos.

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



Neues Mitglied der Chaosgilde (Hefe,  3. Jun 1996, 18:47:01):
Dass Hefe als Autor genannt wird, ist nicht zufaellig, aber voellig unerheblich.

Mitteilung von Hutschat, dem Verwalter des Chaos:
Hefe wurde von mir heute in die Chaosgilde aufgenommen. Wuenschen wir ihm alles Boese! Moegen die Daemonen mit ihm sein.

Hutschat, der Verwalter des Chaos.
-----------------------------------------------------------------------------



Nix neues auf der Welt (Zardoz,  4. Jun 1996, 14:05:36):

Neue Einschaetzung der Faehigkeiten:

absolut superuebel
superuebel
sehr sehr uebel
sehr uebel
uebel
sehr sehr schlecht
sehr schlecht
schlecht
maessig
durchschnittlich
befriedigend
sehr befriedigend
recht gut
ganz gut
gut
sehr gut
ausgezeichnet
hervorragend
perfekt
absolut perfekt


Diese Abstufung wird jetzt noch feiner unterteilt, naemlich:

weit entfernt von XXX (z.B. gut)
noch laengst nicht XXX
bald schon XXX
fast XXX
XXX

Insgesamt sind so 100 verschiedene Aussagen moeglich. Man sieht also viel
schneller den Lernerfolg.



Ciao Zardoz

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



Neues Mitglied der Chaosgilde (Barbarara,  6. Jun 1996, 14:37:07):
Dass Barbarara als Autor genannt wird, ist nicht zufaellig, aber voellig unerheblich.

Mitteilung von Hutschat, dem Verwalter des Chaos:
Barbarara wurde von mir heute in die Chaosgilde aufgenommen. Wuenschen wir ihm alles Boese! Moegen die Daemonen mit ihm sein.

Hutschat, der Verwalter des Chaos.
-----------------------------------------------------------------------------



Dummer EX-Chaot ist ausgetreten (Esci,  9. Jun 1996, 21:31:07):
Ich muss euch leider mitteilen, dass Esci heute auf schaendlichste Art und Weise aus der Gilde der Chaoten ausgetreten ist. Leider darf ich nicht zum Playerkill aufrufen, aber ihr wisst, was zu tun ist!

Hutschat, der Verwalter des Chaos.

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



Re: Dummer EX-Chaot ist ausgetreten (Asmodis, 10. Jun 1996, 09:29:21):
~#! rn=Esci rt=834348667
~#! tid=834348667
Und dann ist er auch noch zur Konkurrenz, den Klerikern uebergelaufen,
so ein poeser Pursche :)

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



Neues Mitglied der Chaosgilde (Semmel, 11. Jun 1996, 17:09:47):
Dass Semmel als Autor genannt wird, ist nicht zufaellig, aber voellig unerheblich.

Mitteilung von Hutschat, dem Verwalter des Chaos:
Semmel wurde von mir heute in die Chaosgilde aufgenommen. Wuenschen wir ihm alles Boese! Moegen die Daemonen mit ihm sein.

Hutschat, der Verwalter des Chaos.
-----------------------------------------------------------------------------



Neues Mitglied der Chaosgilde (Feuerwehr, 11. Jun 1996, 19:37:46):
Dass Feuerwehr als Autor genannt wird, ist nicht zufaellig, aber voellig unerheblich.

Mitteilung von Hutschat, dem Verwalter des Chaos:
Feuerwehr wurde von mir heute in die Chaosgilde aufgenommen. Wuenschen wir ihm alles Boese! Moegen die Daemonen mit ihm sein.

Hutschat, der Verwalter des Chaos.
-----------------------------------------------------------------------------



Neues Mitglied der Chaosgilde (Gando, 11. Jun 1996, 19:41:46):
Dass Gando als Autor genannt wird, ist nicht zufaellig, aber voellig unerheblich.

Mitteilung von Hutschat, dem Verwalter des Chaos:
Gando wurde von mir heute in die Chaosgilde aufgenommen. Wuenschen wir ihm alles Boese! Moegen die Daemonen mit ihm sein.

Hutschat, der Verwalter des Chaos.
-----------------------------------------------------------------------------



Re: Neues Mitglied der Chaosgilde (Quasimodo, 11. Jun 1996, 21:07:53):
~#! rn=Gando rt=834514906
~#! tid=834514906
Ich moechte mich nicht ueber Sinn und Unsinn solcher Artikel unterhalten
aber koennte man wohl einrichten, dass die Zeilenlaenge nicht die ueblichen
80 Zeichen ueberschreitet? Sonst kann ich mir noch nicht einmal eine
Meinung ueber denn Sinn oder Unsinn dieses Artikels bilden.

CU Quasi

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



Neues Mitglied der Chaosgilde (Pufty, 12. Jun 1996, 19:59:35):
Dass Pufty als Autor genannt wird, ist nicht zufaellig, aber voellig unerheblich.

Mitteilung von Hutschat, dem Verwalter des Chaos:
Pufty wurde von mir heute in die Chaosgilde aufgenommen. Wuenschen wir ihm alles Boese! Moegen die Daemonen mit ihm sein.

Hutschat, der Verwalter des Chaos.
-----------------------------------------------------------------------------



Gildenemblem/ -wappen/ -zeichen/ -blabla (Anakin, 13. Jun 1996, 10:22:33):
Fuer alle die zum Morgengrauensommercamp kommen wollen, 
wie waere es wenn die EURE Gilde auch durch einen
Wimpel/Fahne vertreten ist. Wir haben da so klasse
Fahnenstangen auf dem Zeltplatz. Das was die anderen
Gilden schaffen packt ihr Chaoten doch wohl auch.
Ihr werdet euch doch wohl nicht von den popligen Zauberern
oder den laecherlichen Karatekas ueberbieten lassen.
Also: Schreibt was zu der Idee ob ihr sowas machen wollt,
ob sich einer findet sowas zu entwerfen und zu realisieren.
Wenn mehrere Leute mit sowas ankommen, wird der Beste
gewinnen.
Wegen der Groesse Hate oder mich fragen.

Anakin - MGSC '96

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



FAQ (Gando, 13. Jun 1996, 23:11:01):
Hi chaosleutchen
Ich habe Zardoz verspricher, zu versuchen eine moeglichst vollstaendige CHAOS
FAQ zu schreiben,
damit alle neueingetretenen Chaos Spieler nicht die Alt-Spieler immer mit den
gleichen
fragen nerven muessen. Aber ihr wisst ja selner, was ne FAQ ist :-)
Wenn ihr also anregungen habt, die da rein muessten, bzw was ihr von
anfaengern immer
gefragt werdet, dann mailt mir die sachen und ich binde das dann ein... 
Wenn das klappt, kann ich sie vielleicht schon naechste woche an zardoz
senden, der sie
dann (hoffenntlich) auch einbindet und irgendwo bei kruuolq aufstellt.
Also beteiligt euch recht huebsch und rafft euch kurz auf, auf das iht in
zukunft seltener
nervige fragen bekommt.
Gando winkt nochma
Tschoe

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



Re: FAQ (Felagund, 15. Jun 1996, 01:12:26):
~#! rn=Gando rt=834700261
~#! tid=834700261
Ich hoffe, du formatierst die Faq dann besser, als deine Artikel ;)


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



Re: Re: FAQ (Caradhras, 15. Jun 1996, 02:48:55):
~#! rn=Felagund rt=834793946
~#! tid=834700261
Wieso? Ist doch dann eine FAQ.gilden.chaos, wieso sollte die
formatiert sein?

        Golddrache Caradhras findet: Name ist Programm

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



Dummer EX-Chaot ist ausgetreten (Craig, 21. Jun 1996, 18:46:07):
Ich muss euch leider mitteilen, dass Craig heute auf schaendlichste Art und Weise aus der Gilde der Chaoten ausgetreten ist. Leider darf ich nicht zum Playerkill aufrufen, aber ihr wisst, was zu tun ist!

Hutschat, der Verwalter des Chaos.

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



Dummer EX-Chaot ist ausgetreten (Damurial, 21. Jun 1996, 21:24:20):
Ich muss euch leider mitteilen, dass Damurial heute auf schaendlichste Art und Weise aus der Gilde der Chaoten ausgetreten ist. Leider darf ich nicht zum Playerkill aufrufen, aber ihr wisst, was zu tun ist!

Hutschat, der Verwalter des Chaos.

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



Re: Dummer EX-Chaot ist ausgetreten (Mupfel, 21. Jun 1996, 23:42:20):
~#! rn=Damurial rt=835385060
~#! tid=835385060
> [...] aber ihr wisst, was zu tun ist!

Ja wissen wir. Und ich habs getan. Hutschat hat sich aus der schreibenden
Zunft zurueckgezogen.

-mupfel- (genervt)

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



Re: Re: Dummer EX-Chaot ist ausgetreten (Mango, 22. Jun 1996, 01:02:56):
~#! rn=Mupfel rt=835393340
~#! tid=835385060




      ENDLICH.


Mango, erloest.



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



Re: Re: Dummer EX-Chaot ist ausgetreten (Grimmborn, 24. Jun 1996, 12:01:13):
~#! rn=Mupfel rt=835393340
~#! tid=835385060

Der Befehl heisst: unsubscribe d.chaos, sonst nichts. Dass hier jeder Feld-
Wald-, Wiesen- und Ander(Land)e-Magier an anderer Leuts Gilden rumpfuscht
finde ich dann doch sehr bedenklich. Machtmissbrauch, ick hoer Dir trappsen...

Grimmborn der Atheist sorgt sich um Recht und Ordnung.

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



Re^3: Dummer EX-Chaot ist ausgetreten (Engywuck, 24. Jun 1996, 12:43:51):
~#! rn=Grimmborn rt=835610473
~#! tid=835385060
Evtl. interessiert man sich ja doch fuer die Vorgaenge in der chaosgilde. In
diesem Fall wuerde ich ein "uebergehe thread" nach dem naechsten "Dummer
Ex-Chaot ausgetreten..." empfehlen. Muesste doch funktionieren, oer?

Engy

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



Re^4: Dummer EX-Chaot ist ausgetreten (Ineluki, 24. Jun 1996, 16:05:23):
~#! rn=Engywuck rt=835613031
~#! tid=835385060
wage ich zu bezweifeln..das ist jedesmal ein neuer artikel
Ein dummer Chaot, der nicht austritt ;)

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



Re^5: Dummer EX-Chaot ist ausgetreten (Guldukat, 25. Jun 1996, 08:11:52):
~#! rn=Ineluki rt=835625123
~#! tid=835385060

Gut, dann aendert das, macht diese nervigen meldungen als reply, dann kann
man sie gezielt uebergehen
GD

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



Chaosball-Aenderung (Zardoz, 13. Sep 1996, 17:05:01):
Siehe wie immer den Zettel in der Gilde, oder frag den naechsten, 
umgestuerzten Baum...

Ciao Zardoz

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



Re: Chaosball-Aenderung (Critias, 13. Sep 1996, 20:34:34):
~#! rn=Zardoz rt=842627101
~#! tid=842627101
Hmmm, hoert sich fast logisch an! Ist aber Schade, da es das Leben der Chaoten
nicht gerade vereinfacht! (Denke ich jetzt auf den ersten Blick)
Schade. Dachte eigentlich, dass FUER die Chaoten mal was getan wuerde (HUHU,
wo bleibt die versprochene Daemonenheilung ;)

Chaotischen Gruss  Critias

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



Huch, ein Bug! (Zardoz, 19. Sep 1996, 10:00:13):

Hi Chaoten!

Irgendwie hat sich ein Fehler in den Chaosball eingeschlichen, der nicht
mehr behoben werden kann. Boese Maechte und reines Chaos verursachen
leider beim Elementarschwert eine so starke Rueckkopplung, dass dieses
zu Staub zerfaellt, wenn man einen Chaosball hindurchleitet. Mir ist
es nicht moeglich, diesen Fehler wieder auszubauen, sosehr ich mich 
auch bemueht habe, aber irgendwie sind hoehere Kraefte am Werke. 

Mit anderen Worten, fuer die geistig Unbeweglichen: Das Elementarschwert
ist meiner Meinung nach einfach zu gut! Eine Waffe, die im Prinzip alles
kann, passt mir ueberhaupt nicht ins Konzept! In Kombination mit dem
neuen Chaosball ist es einfach zu maechtig (war es auch vorher schon, aber
das ist ein anderes Thema :)).

Ciao Zardoz

P.S: Wie ich vernommen habe, werden auch die Kaempfer nicht mit dem
     Elementarschwert kaempfen koennen, also nicht gar so traurig sein :)
     

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



Huch, ein Bug (Key, 19. Sep 1996, 11:56:17):
Hmm naja hab das es schon vorher net benutzt, aber leider faellt mir keine
Waffe ein z.B. Schaden aetzend macht. Das es war bisher halt das einzigste mir
bekannte das alle Schadenstypen hat. Und das es sich jetzt gleich aufloest
finde ich etwas hart!
Hmm und Krach ist da auch so ein prob, imerhin der von mir meistbenutzte
Schaden! Ausser natuerlich Elholdriel ist fest angeschlossen! Dann stoehrt es
kaum noch.
Und fuer die anderen Schadenstypen kannste ja neue Waffen proggen. ;)
Key will dich ja nicht mit Arbeit ueberhaeufen Zardoz, abber .... :)=

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



Re: Huch, ein Bug (Zardoz, 19. Sep 1996, 11:57:28):
~#! rn=Key rt=843126977
~#! tid=843126977
Du hast es erkannt, man braucht fuer jeden Schadenstyp eine Waffe, was die
Auswahl um einiges schwieriger macht, als sich nur eine einzige Waffe zu
besorgen...

Ciao Zardoz

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



Huch, ein Bug (Key, 19. Sep 1996, 12:07:29):
Hmm und proggste nen paar neue Waffen? ;)
Was ich am noetigsten brauche ist: krach, blitz, boese (Hmm mir kommt es vor
als gaebe es da schon was! :) )~r
Was ich am noetigsten brauche ist: krach, blitz, boese (Hmm mir kommt es vor
als gaebe es da schon was! :) )
Key sucht schoene Waffen! ;)

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



Re: Huch, ein Bug (Stahldorn, 19. Sep 1996, 17:12:49):
~#! rn=Key rt=843126977
~#! tid=843126977
Waffe mit aetzendem Schaden macht die Hornklinge von Toeters Insel.

STAHL.

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



Re: Huch, ein Bug! (Asmodis, 19. Sep 1996, 19:41:36):
~#! rn=Zardoz rt=843120013
~#! tid=843120013
War das jetzt ein kleiner Seitenhieb gegen Morgoth ? :)

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



Chaosbaelle (Zardoz, 24. Okt 1996, 04:36:31):
Wie fuer die Feuerbaelle der Abenteurer in allgemein schon erklaert wurde,
hats zur Zeit Probleme mit eben dieser. Deshalb ist das Intervall zwischen
zwei Spruechen groesser, bis die Zeit des Rechners wieder normal laeuft. 

Ciao zardoz

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



Generalueberholung (Zardoz, 28. Dez 1996, 18:12:20):
Nachdem die Kaempfergilde nun so einigermassen laeuft, werde ich mal eine
Generalueberholung der Chaoten ins Auge fassen. Ihr koennt dabei natuerlich
aktiv mitwirken, wenn ihr mir Vorschlaege und Anregungen mailt. Ich habe u.A.
weitere Stufen geplant.

Ciao Zardoz

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



intarbir (Schoko, 30. Dez 1996, 02:42:53):


> Intarbir schaut Schoko abschaetzend an.
> Intarbir sagt: Also, nun. Lausche meinen Worten: Schoko ist etwa gleich
stark
Intarbir sagt: wie Du. Nun, eure Ruestungen sind etwa gleich gut. Zu guter
Intarbir sagt: Letzt: Deine Waffe ist eigentlich schon fast unverschaemt gut
Intarbir sagt: gegen so einen laecherlichen Gegner. Er kaempft mit einem
Intarbir sagt: Vollstrecker und macht damit folgenden Schaden: Kaelte und
Intarbir sagt: Schnitte. 
 

Also mein Schwert ist viel schlechter als mein Schwert, oder wie?? oder was??
haeh??
cu Schoko (gruebelnd)

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



alter GD ? (Zorro,  6. Jan 1997, 16:48:51):
Ich frage mich gerade ob die Wahrscheinlichkeiten fuer die Guete der
Chaosruestung wieder geaendert wurde. (*nach etwa 250 Ruestungen von denen
der grossteil etwas schlechter als normal war*)
Haengt das vielleicht mit dem alten gamedriver zusammen den Boing installiert
hat 
zusammen ?
wenn ja waere es nett wenn wieder die alten werte eingesetzt wuerden...

Z*

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



Vorschlaege zur Gildenueberarbeitung (Zardoz, 30. Jan 1997, 09:53:29):
Ich poste das hier nochmal, weil der alte Artikel schon geloescht ist. Also,
ich sammel noch Vorschlaege fuer die Ueberarbeitung der Chaosgilde. Ich habe
schon wirklich sehr nette Ideen bekommen, aber weitere Vorschlaege koennen
natuerlich nicht schaden. Ich moechte aber gleich betonen, dass ich nicht
vorhabe, die Gilde wesentlich staerker zu machen! Natuerlich koennten schon
neue Zaubersprueche und Daemonen kommen, aber es werden dann wohl gleichzeitig
ein paar Nachteile eingebaut. Ausserdem moechte ich nicht unbedingt die
Vielseitigkeit vergroessern, es ist naemlich nicht Sinn der Sache, dass jede
Gilde alles kann. Zum Glueck kann man wirklich nicht behaupten, dass die
Chaoten jetzt schon zu stark sind, so dass noch ein gewisser Spielraum
vorhanden ist. Vor allem wuerde ich mich aber ueber Vorschlaege freuen, die
die Besonderheit der Chaoten noch hervorhebt, naemlich boese zu sein und
fiesliche Daemonen zu beherrschen.

Ciao Zardoz

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



Re: Vorschlaege zur Gildenueberarbeitung (Teddy,  4. Feb 1997, 09:28:36):
~#! rn=Zardoz rt=854614409 rg=gilden.chaos
~#! tid=854614409
Ich bin zwar scheinbar DER KLEINE in der Chaosgilde, aber einige Sachen sind
mir aufgefallen:
Es ist extrem nervig, den Opferstock aufzubrechen, um satanisch zu werden und
erscheint mir auch wenig wirkungsvoll. Hier sollte evtl. eine andere
Moeglichkeit geschaffen werden (oder gibts die und ich weiss mal wieder von
nix?).
Ausserdem stoert es mich als Gildenlevel 8 natuerlich ganz massiv, dass ich 
a) nur als Seher in Gildenlevel 9 komme und
b.)das nur von anderen Spielern erfahre.
Ein Heilspruch waere nicht schlecht, um ihn mit dem Boesen zu verbinden,
vielleicht als eine Art dunkles Ritual, das man nur auf sich selbst anwenden
kann oder als Balance, angleichen mit dem Gegner oder dem gegner nehmen und
sich selber geben...
Die Faehigkeiten des Waffenklaus beim Kampf von fafner ist auch nicht schlecht
und waere evtl. unter strengen Auflagen (aehnlich der Finsternis) zumindest
ueberlegenswert.

Das wars fuers erste,

Teddy.

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



Re: Re: Vorschlaege zur Gildenueberarbeitung (Alpha,  4. Feb 1997, 14:25:50):
~#! rn=Teddy rt=855044916 rg=gilden.chaos
~#! tid=854614409
Soweit ich weiss macht Orkbabies toeten Dich satanisch.

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



Harkuhu (Zardoz,  5. Feb 1997, 11:46:36):
Ich hab mal Harkuhu etwas ueberarbeitet. Er ist jetzt nicht mehr ganz und gar
unnuetz.

Ciao Zardoz

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



Re: Re: Vorschlaege zur Gildenueberarbeitung (Kilar,  6. Feb 1997, 05:14:10):
~#! rn=Teddy rt=855044916 rg=gilden.chaos
~#! tid=854614409
Die Idee mit dem Heilzauber finde ich gut. Man koennte diesen Zauber vieleicht
mit der Chaosruestung kombinieren. Dabei koennta das so ablaufen: Mit z.B.
Heilung wird der Daemon der Chaosruestung dazu gebracht, einen zu heilen. Als
Nachteil koennte man da einbauen, das sich dadurch dieser Daemon mit grosser
Wahrscheinlichkeit versuchen wird sich zu befreien - je besser man den Spruch
beherrscht, um so seltener passiert das. Diesen Spruch koennte man dann,
parallel zum
Chaosball, ab Gildenlevel 5 "bereitstellen".
Was haltet ihr von der Idee?

Kilar


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



Re^3: Vorschlaege zur Gildenueberarbeitung (Morgoth,  6. Feb 1997, 08:50:47):
~#! rn=Kilar rt=855202450 rg=gilden.chaos
~#! tid=854614409
Joo, dann hab ich auch noch was.
Wird Euch zwar nicht gefallen, aber muss ja nicht nur positiv sein ;-).
Es waere nett, wenn der Daemon auf den Sonnenbrand reagieren wuerde. Er steckt
ja in der haut, und die ist bei nem Sonnenbrand nunmal sehr gereizt. Da
koennte er ja mal ne Extravorstellung geben ]:-)> 
M*

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



Elementar (Morgoth,  6. Feb 1997, 10:45:49):
So, ich schreib das mal, da von Euch ja keiner d.vland zu lesen scheint. Ich
habe das Elementarschwert so veraendert, dass Euer Gildenchef es wieder fuer
Euch zur Verfuegung gestellt hat.
Morgoth

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



Befehle (Zardoz,  6. Feb 1997, 10:50:08):
Wuqour weiss auf das Stichwort "befehle" einiges zu berichten. Vor allem gibts
nen neuen Befehl, den die Kampfdaemonen verstehen.

Ciao Zardoz

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



Re^4: Vorschlaege zur Gildenueberarbeitung (Teddy,  7. Feb 1997, 09:57:01):
~#! rn=Morgoth rt=855215447 rg=gilden.chaos
~#! tid=854614409
Find ich gut, im Sinne eines realistischeren Spiels ganz lustig!
Was mich nur unheimlich nervt, ist, das ich BEIM questen gut werde und dann
nicht alle Daemonen beschwoeren kann :-(
Teddy

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



chaotisch mutierte Haut (Morgar, 13. Feb 1997, 22:06:02):
Ich frag mich, ob so was Normal ist:

<Player> hat eine chaotisch mutierte Haut, eine chaotisch mutierte Haut, eine
chaotisch mutierte Haut, eine chaotisch mutierte Haut, eine chaotisch mutierte
Haut, eine chaotisch mutierte Haut, eine chaotisch mutierte Haut, eine
chaotisch mutierte Haut, eine chaotisch mutierte Haut, eine chaotisch mutierte
Haut, eine chaotisch mutierte Haut, eine chaotisch mutierte Haut, eine
chaotisch mutierte Haut, eine chaotisch mutierte Haut, eine chaotisch mutierte
Haut, eine chaotisch mutierte Haut, eine chaotisch mutierte Haut, eine
chaotisch mutierte Haut und eine chaotisch mutierte Haut an, keine Waffe
gezueckt und traegt ein Freundschaftsband und die Ruestung des Hydratoeters.

Erinnert mich irgendiwe schwer an den fehlerhaften Rueste Spruch...

Wurstzauberer Morgar

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



Re: chaotisch mutierte Haut (Nichts, 13. Feb 1997, 22:10:05):
~#! rn=Morgar rt=855867962 rg=gilden.chaos
~#! tid=855867962

Jau, Wurstzauberer, so wuerde ich mich an Deiner Stelle auch nennen ]:-)
Das ist nicht Zardoz' Schuld, sondern die von Morgoth. Das naechste mal
meckere also in d.vland und nicht in gilden.chaos.

- nein, sie schuetzen nicht oder nur unmerklich.

Traeger der 19 Chaoshaeute, 
""


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



Re: Re: chaotisch mutierte Haut (Morgar, 13. Feb 1997, 22:11:28):
~#! rn=Nichts rt=855868205 rg=gilden.chaos
~#! tid=855867962
Na ja, mich hat's halt gewundert, dass man 19 davon tragen kann...

Morgar

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



Re^3: chaotisch mutierte Haut (Nichts, 13. Feb 1997, 22:12:37):
~#! rn=Morgar rt=855868288 rg=gilden.chaos
~#! tid=855867962
... vor allem als Karateka ;)

""

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



Re^4: Vorschlaege zur Gildenueberarbeitung (Swift, 15. Feb 1997, 20:01:03):
~#! rn=Morgoth rt=855215447 rg=gilden.chaos
~#! tid=854614409
die sache mit dem chaosdaemonen in der ruestung hoert sich logisch an
ich meine das mit der reaktion auf sonnenbrand
so koennte evtl. mal wieder der sonnenschirm in der burg
ne neue funktion erhalten!? :)))
denn das sollte natuerlich dann abhilfe schaffen!

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



Chaosruestung (Zorro,  3. Mar 1997, 12:25:37):
Moin

Ein Hinweis fuer die Leute, die sich beschweren dass ich mich staendig ein 
nd auslogge. 
Man braucht halt mittlerweile etwa 100 versuche bis man eine vernuemftige
chaosruestung bekommt (frueher waren es etwa 10 versuche).
Meiner Meinung nach sollte man mal die wahrscheinlichkeiten wieder anpassen,
es nervt naemlich auf die dauer.

Gruss Zorro

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



Re: Chaosruestung (Predator,  3. Mar 1997, 14:46:37):
~#! rn=Zorro rt=857388337 rg=gilden.chaos
~#! tid=857388337
mein gott, hoffentlich krepierst du nicht daran, wenn deine haut mal nicht
genial ist

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



Re: Re: Chaosruestung (Fyt,  3. Mar 1997, 17:58:06):
~#! rn=Predator rt=857396797 rg=gilden.chaos
~#! tid=857388337

Vielleicht sollte Zardoz das ja so lesen: 'Werte der letzten Ruestung merken'
oder so... jetzt sind wir wieder bei der 'ende'-Diskussion ;-)

Fyt.

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



Erweiterung der Gilde (Zardoz, 24. Apr 1997, 13:10:15):
Ich weiss, dass einige ne Erweiterung der Chaosgilde verlangen, aber zur Zeit
mach ich gar nix, also macht euch keine falschen Hoffnungen.


Ciao Zardoz

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



Re: Erweiterung der Gilde (Dieder, 24. Apr 1997, 13:40:53):
~#! rn=Zardoz rt=861880215 rg=gilden.chaos
~#! tid=861880215
Och, jammerschade... :)

Dieder haette auch einige Vorschlaege...

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



Re: Re: Erweiterung der Gilde (Anatol, 24. Apr 1997, 13:41:35):
~#! rn=Dieder rt=861882053 rg=gilden.chaos
~#! tid=861880215
Heul' doch.

Etwas von 'Programmiersklaven' murmelnd,
Anatol


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



Re^3: Erweiterung der Gilde (Dieder, 24. Apr 1997, 13:45:28):
~#! rn=Anatol rt=861882095 rg=gilden.chaos
~#! tid=861880215
Ich und heulen?
Hab mich glaub ich im Gegensatz zu manchen anderen (z.b. Zauberer) noch nie
drueber beschwert, dass die Gilde zu schwach oder sonstwie schlecht
dimensioniert ist... :)

Dieder, grinsend

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



Chaos regiert - Ideen braucht das Land (Mesirii, 29. Mai 1997, 02:55:51):
Hallo Leute,
auch wenn Z. hier nix mehr machen will, hab ich mal ueber unsere Gilde nach-
gedacht. Vielleicht findet sich ja ein anderer Mag, der in Absprache mit Z.
Lust hat die Gilde schoener (*grins*) zu machen.
Jetzt gehts los ;)
Die Gilde koennte ruhig
etwas chaotischer und boeser werden. Vor allem sollten die Sprueche auch bei
besserer Beherrschung immer mal zurueckschlagen, dafuer halt auch manchmal 
besonders gut klappen, aber so das man es nie voraussehen kann.

Jetzt kommen meine Vorschlaege:

Heilen der Daemonen: (zwei Ideen)
einmal sollten die Daemonen geheilt werden, wenn mit ihrer Schadensart ein 
Angriff auf sie gemacht wird (siehe Feuerdaemonen in der Burg)

die zweite Idee beruht darauf, dass Daemonen doch eigentlich ihre 
Lebensenergie aus Menschenopfern beziehen. Sie koennten so z.B. eine Teil der
MAX_HP von NPC die sie selbst getoetet haetten (zurueckaendern letzter Schlag)
oder aus Leichen beziehen. (z.B. 0,1 % der MAX_HP des Opfers oder abhaengig 
von eigenen Lebenspunkten)
Als besonderes Extra koennten sie ja z.B. platzen, wenn durch das Tanken ihre 
eigenen MAX_HP ueberschritten werden.

Daemonen allg:
da jeder Daemon eine Spezialitaet hat (die richtigen Daemonen) sollten auch 
die Daemonen der Chaosgilde ihre Spezialitaeten haben, die sie auch ausleben 
sollten
es koennte zum Beispiel eine Chaosdaemonen geben, der wirklich chaotisch ist, 
und bei jeder Beschoerung andere Schadensarten und Resistenzen hat.
(z.B. Angriff Wasser, Empfindlich Feuer usw...)
dazu im naechsten Artikel noch was ;)

Sprueche:

erblinden, entblinden -> hat viel mit Finsternis zu tun ;))
erblinden auf npc's und player koennte fuer eine gewisse zeit wirken
entblinden ist selbsterklaerend
verwirren: ein paar Schlaege des Gegners gehen daneben
chaos auf npc: wird zu einem autoattack npc
Nachtsicht: wenn einer den raum verlaesst sollte man auch sehen wohin (ich 
weiss ist nicht so leicht umzusetzen)

Haut:
vielleicht waere es ganz sinnvoll das Konzept der Haut nochmal zu ueberdenken.
in ihr lebt ja der Hautdaemon, der eigentlich auch nur eine bestimmte Anzahl 
Lebenspunkte hat! und wenn er stirbt verlaesst er die Haut und nimmt noch ein 
bisschen Leben des Traegers mit.
dann koennte es einen Spruch zum Auftanken der Haut geben
wenn man den Hautdaemon als Chaosdaemonen beschreibt, koennte man auch die 
entsprechenden Resistenzen erklaeren...

Allg:
ich wuerde die Gilde in die Burg legen ;)))

Das wars
Mesirii

P.S. Der zweite Streich folgt sogleich.

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



Chaos regiert - Ideen braucht das Land die zweite (Mesirii, 29. Mai 1997, 02:58:01):
Hallo Leute

letzens als ich ueber die Gilde nochmal nachgedacht habe, ist mir etwas 
eingefallen, was sie bestimmt viel bunter und schoener ;)) machen wuerde.

Die Grundgedanken der Gilde sind doch das Chaos und die Daemonen.

Warum nicht beides zusammenfuehren in ein Konzept, das viel Spass bringen
wuerde.

Jedes Mitglied der Gilde sollte den Chaosdaemonen beschwoeren koennen.
Der Chaosdaemon ist chaotisch, d.h. er hat z.B. widerspruechliche
Eigenschaften
(guter Body, schlechter Angriff, empfindlich auf Feuer, Angriff mit Feuer,
verschwindet aller 10 Sekunden fuer 5 Sekunden, haut 5 Schlaege daneben und
dann einen richtig drauf, hat ein positives Alignment und greif mit unholy an,
oder die Eigenschaften des Daemons aendern sich immer mal 
usw. der Phantasie und dem Zufallsgenerator sollten keine Grenzen gesetzt
werden ;))
Lasst mal Eure Phantasie spielen und aeussert ein paar Ideen fuer den Chaos-
daemonen.

Als Zutat fuer das Beschwoeren den Chaosdaemons braucht man die Koerper-
fluessigkeit eines NPCs. Der Level des getoeteten NPC's sollte sich auf
die Staerke des Chaosdaemons auswirken.
Das Blut der NPC's sollte erst geklont werden, wenn ein Chaot diesen umhaut
und dann auch nur wenn in der enemy-liste des NPC's nur dieser oder nur 
Chaoten auftauchen. Damit koennte man verhindern, dass hohe NPC's durch 
Beschiss ausserhalb der Chaosgilde umgekloppt werden (ich weiss aber nicht,
wie das mit den "Befriede"-Spruechen der anderen Gilden ist?
Das Level der NPC-Koerperfluessigkeit sollte dabei nach oben beschraenkt 
sein (auch wegen Beschiss).
Das Level der Chaoten die den Chaosdaemon beschwoeren wollen sollte das 
Level(die Staerke) des Chaosdaemons nach oben beschraenken("Du bist nicht
maechtig genug, einen so starken Chaosdaemon zu beschwoeren" oder zu hohe 
Chaosdaemonen sollten sofort ihren Beschwoerer angreifen ;)
Das sollte sowieso eine der Optionen des Chaosdaemons sein.

Um ein zu schnelles Neuholen der Daemonen zu verhindern, sollte abhaengig vom
Level des zuletzt beschworenen Daemons ein Zeitlimit gesetzt werden, so dass
schwache Chaosdaemonen oefter beschworen werden koennen, als starke.

Natuerlich sollte man bei all den Fiesheiten die so ein Chaosdaemon hat auch
nicht vergessen, dass er den Chaoten beim Kaempfen helfen soll. Wenn er zu
furchtbar wird, benutzt ihn einfach keiner und das waere auch nicht im Sinn
der
Sache.
Man koennte sich ueberlegen, ob man die restlichen Kampfdaemonen dann
abschafft
oder beibehaelt.
Den Chaosdaemonen sollte aber jeder Chaot beschwoeren koennen und sei es nur
mit dem Blut einer Ameise ;)

Mesirii, Chaot aus Ueberzeugung

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



Kampfdaemon ein fauler Sack? :) (Dieder, 19. Jun 1997, 14:04:03):
Hi Chaoten!

Also, nachdem ich folgendes Problem schon in allgemein geschildert habe aber
nich weiss ob es jeder liest, hier nochmal:

In letzter Zeit passiert es mir oft, dass mein Kampfdaemon (i.a. Tutszt) bei
Kaempfen nur dumm danebensteht und nicht mitmacht. Wenn ich ihm dann befehle,
zu kaempfen, heisst es nur , dass er doch schon mitkaempft, aber 
er tut keinen Streich der Faulenzer.
Frage: Hat das jemand von Euch auch schon oefters so gehabt?
Oder kann es sein dass es ein Bug ist?
Oder ist das ein Feature des neuen Todes (in der Regel leide ich staendig
unter 1 bis 3 Toden).

Gruss und Hail,

Dieder

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



Re: Kampfdaemon ein fauler Sack? :) (Ringor, 19. Jun 1997, 21:45:46):
~#! rn=Dieder rt=866721843 rg=gilden.chaos
~#! tid=866721843
Sorry, wenn sich hier ein Ex-Chaot zu Wort meldet: ;)

Dass ein Daemon nicht mitkaempft, obwohl er es angeblich schon tut, kenn ich
ganz einfach als eine seiner 'Launen' - lange bleibt Dir so ein Daemon eh nich
mehr treu, bis er Dich angreift.

Sieh einfach zu, dass Du bessere Daemonen beschwoerst. Tips und Tricks dazu
gibts von jedem guten Chaoten. ;^)

Und wenn das einfach nicht mehr gelingen will, dann sind die Skill-Mali durch
die Todesfolgen anscheinend doch hoeher, als ich bisher gehoert habe. Dann
solltest Du weniger sterben oder kleinere Daemonen nehmen. 

Ringor. Ex-Chaot und jetzt begeisterter Kaempfer.

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



Re: Re: Kampfdaemon ein fauler Sack? :) (Lug, 19. Jun 1997, 23:50:14):
~#! rn=Ringor rt=866749546 rg=gilden.chaos
~#! tid=866721843
Aehem,

Ringor will damit sagen: Bleibt ruhig Chaoten. Tja, sooosiehddas aus!

Lug

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



Re^3: Kampfdaemon ein fauler Sack? :) (Ringor, 19. Jun 1997, 23:51:29):
~#! rn=Lug rt=866757014 rg=gilden.chaos
~#! tid=866721843
Hupsa ...

drueck ich mich jetzt schon so unverstaendlich aus, dass ihr die
Uebersetzungen von Lug braucht, um meine Artikel zu verstehen? *seufz*

Ringor. Wird anscheinend alt.

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



Re^4: Kampfdaemon ein fauler Sack? :) (Key, 20. Jun 1997, 08:37:42):
~#! rn=Ringor rt=866757089 rg=gilden.chaos
~#! tid=866721843
Wat hat du uns damit sagen wollen Ringor? :))

Hmm glaube net das der skill mali so gross ist das es solche ausirkungen auf
die daemonen hat ... wuerde einfach sagen pech :) Und damit Ringors erstem
Artikel zustimmen ...

Jaja der Exchaot hat noch mehr Ahnung von der Gilde als ein paar der jetzigen
.. ;)

Key chaotisch

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



Re^5: Kampfdaemon ein fauler Sack? :) (Atoz, 20. Jun 1997, 20:47:37):
~#! rn=Key rt=866788662 rg=gilden.chaos
~#! tid=866721843

Tja, so wie ich das sehe, kommen mir die Skill-Mali zum ueben sogar seeeehr
gelegen ;)))

(Oder ich habe bisher einfach Glueck mit dem Zufallsgenerator gehabt, aber das
kein eigentlich nicht sein, sowas habe ich nicht, gelle Nairolf ,)))) )

Tja zu den Daemonen kann ich nix weiter sagen, ausser das sogar ein Wurstchaot
wie ich weiss wie ich die Wahrscheinlichkeit fuer einen besseren Daemonen
erjhoehe....

Tschau es gruesst ein Wurstie

PS Sharia wann gehen wir eigentlich in die Arena ;)))

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



Viel passiert.. (Critias, 30. Jun 1997, 23:32:16):
Hallo Leute!

Im zuge der Abwertung der Zauberergilde muss ich mal was an alle Anhaenger
unserer wunderschoenen Gilde loswerden. Viele werden jetzt nach Abwertung der
anderen Gilden schreien oder einfach nur Ihren Frust loswerden wollen. (Damit
meine ich natuerlich die Zauberer ;) Aber ich denke, dass jetzt wohl mehr als
je zuvor echtes Teamwork gefragt sein wird. Denn kein Zauberer kann jetzt
einfach so drauflos metzeln. Sie werden sich weit mehr als vorher ueberlegen
muessen wie sie es angehen (nicht einfach : Tja da mach ich halt ne
Schutzhuelle geh mal rein, und schau mir dann das Monster erst mal in Ruhe an
;) Nagut, dies wird wohl nicht bei ALLEN Monstern der Fall gewesen sein, wohl
aber doch bei vielen wo wir uns 3x ueberlegen muessen reinzugehen. (ich sach
nur vorsicht 209 ;) naja, ich hoffe jedenfalls, dass wir uns durch diese
massnahme nicht den unmut aller Zauberer zugezogen haben, weil ja auch ein
paar sehr nette dabei waren und diese zuweilen auch recht hilfreich sind
(waren) ;)) Last uns hoffen, dass wir nicht auch noch drankommen (ich wuesste
nicht wo) und das nicht immer groessere Muehen und nervige Fallen (Port 8 und
dieser verf..... Baum) auf uns zukommen.


Euer Critias, der fuer etwas mehr Gildenverstaendnis und Hilfsbereitschaft
(auch fuer Wuerste wie mich ;) ist!! :))

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



Re: Viel passiert.. (Morgar,  1. Jul 1997, 10:07:07):
~#! rn=Critias rt=867706336 rg=gilden.chaos
~#! tid=867706336
Keine Angst, die Chaosgilde kommt auch noch dran...

Morgar

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



Re: Viel passiert.. (Key,  1. Jul 1997, 16:35:40):
~#! rn=Critias rt=867706336 rg=gilden.chaos
~#! tid=867706336
Hmm also ich bin zu jedem npc reingegangen zu dem ich tui auch reinschicken
wuerde ;))
Naja und vorsicht 209??? Des ist doch net normal ... standard ist 32, bzw 5
;))

Key ->chaotisch<- ;))

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



Bye. (Tweeg,  3. Jul 1997, 07:06:41):
Hail!

Keine Ahnung ob das hier irgendwen interessiert oder nicht,
aber ich hab einfach keine Lust mehr auf das Mg.

Ob ich hier jemals wieder anfange zu spielen, weiss ich nicht.
Ich halte es fuer unwahrscheinlich. 

In diesem Sinne, viel Spass noch...

-*CHAOS RULEZ*-*CHAOS RULEZ*-

Tweeg.


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



Top-Liste (Zardoz,  7. Aug 1997, 16:56:46):
Die Topliste ist zur Zeit abgehaengt, da sie einen Bug verursacht, den ich
noch nicht gefunden habe.


Ciao Zardoz

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



Chaosbecher geaendert (Zardoz, 14. Aug 1997, 17:36:40):
Irgendwie war ich zu bloed es richtig zu programmieren, aber der Becher sollte
wirklich nur fue Chaoten sein. Ist jetzt geaendert.


Ciao Zardoz

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



Re: Chaosbecher geaendert (Key, 14. Aug 1997, 17:38:03):
~#! rn=Zardoz rt=871573000 rg=gilden.chaos
~#! tid=871573000

Ahh endlich :) Hmm auch wieder ein bisserl besser? :))

key

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



Chaoshaut (Zardoz, 25. Aug 1997, 11:57:58):
Ich habe die Chaoshaut mal geaendert. Da der Ende-Befehl eigentlich nicht zum
Spiel gehoert, kann jetzt jeder seine Haut mit 'verbanne chaoshaut' loswerden.
Spieler unter Gilden-Level 7 haben den Vorteil, dass sie dabei nicht den
Spruch benutzen muessen, die hoeheren Chaoten muessen halt die MPs verjubeln.
Dafuer hab ich den Spruch so geaendert, dass es jetzt leichter geht.

Ciao Zardoz

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



Re: Chaoshaut (Balion, 25. Aug 1997, 11:59:46):
~#! rn=Zardoz rt=872503078 rg=gilden.chaos
~#! tid=872503078
Gute Sache ! Endlich ist Schluss mit dem andauernden aus- und eingelogge von
Chaosfreunden :-)
Balion

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



Erzmeisterkampf (Zardoz, 26. Aug 1997, 13:11:10):
Da der Kampf ja vor allem die Gilden-Eigenschaften der Bewerber testen soll,
moechte ich einige unfaire Tools verbieten (vor allem die Wurfsterne). Am
Besten stellt ihr mal ne Liste der unerwuenschten Gegenstaende zusammen. Die
andere Moeglichkeit waere, dass man nur Waffen/Ruestungen und autoload-objekte
(zeitung,geld etc) dabei haben darf. Dann wuerden auch Heiltraenke etc
wegfallen...

Ciao Zardoz

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



Re: Erzmeisterkampf (Asmodis, 26. Aug 1997, 13:33:33):
~#! rn=Zardoz rt=872593870 rg=gilden.chaos
~#! tid=872593870
Oh, ohne Wurfsterne und Pfeile gewinnt Key aber nicht mehr :)

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



Re: Re: Erzmeisterkampf (Key, 26. Aug 1997, 14:18:12):
~#! rn=Asmodis rt=872595213 rg=gilden.chaos
~#! tid=872593870
Doch Asmo .)

Hmm Zardoz ganz einfach ... Man darf NUR seine chaoshaut dabeihaben, sonst nix
,)

Key

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



Re: Erzmeisterkampf (Mindblade, 27. Aug 1997, 00:24:14):
~#! rn=Zardoz rt=872593870 rg=gilden.chaos
~#! tid=872593870
Also NICHTS mitzunehmen faend ich ok, dann ist ein Erzi-Kampf auch fair wenn
er kruz nach nem Reboot stattfindet! Nur Key, die Hydraruestung ist
autoload!:)

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



Re: Re: Erzmeisterkampf (Morgoth, 27. Aug 1997, 07:30:29):
~#! rn=Mindblade rt=872634254 rg=gilden.chaos
~#! tid=872593870
Genau...und Nichts ist hoher Karateka, also eignet sich sehr gut als Waffe
];-))
M*

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



Re: Re: Erzmeisterkampf (Key, 27. Aug 1997, 08:22:13):
~#! rn=Mindblade rt=872634254 rg=gilden.chaos
~#! tid=872593870
*grins Zardoz*

Naja klar ... Hrue ist autoload .... und wenn man es richtig macht hat man
komplette rue dabei ;))

Hmm oki .... ganz fair wirste es wohl nie hinkriegen, aber eine ueberpruefung
aller gegenstaende im inventory und ablegen aller nicht autoload sachen sollte
doch zumindest sehr nahe ranfuehren ....
Sollte aber schon Autoload sein, denn einfache Ueberpruefung was nodrop ist
wie bei den Zauberern bringt nicht viel ... verfluchte Gegenstaenden wirken
Wunder ;)

Key

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



Erzmeisterkampf (Zardoz, 27. Aug 1997, 11:47:52):
So, ab jetzt sind nur noch normale Waffen und Ruestungen zugelassen. Jeder
sonstige Plunder (auch wenn es nur nen Lutscher ist) hat draussen zu bleiben.
Diese Regelung ist zwar nicht optimal, hat mich aber nur 67 Sekunden
Programmierzeit gekostet.


Ciao Zardoz

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



Re: Erzmeisterkampf (Key, 27. Aug 1997, 16:01:04):
~#! rn=Zardoz rt=872675272 rg=gilden.chaos
~#! tid=872675272
Genau 67?? :)
Hmm nur normale Waffen und kein Plunder ... Also wenns da keine probs gibt ;)

Key

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



Chaosruestung schaetzen (Pra, 14. Okt 1997, 12:03:29):
Moin, aeh, Hail.

Ich vermisse irgendeine Moeglichkeit, meine Chaosruestung einzuschaetzen.
Da ich schon dem Rentneralter zustrebe (direkt von der Uni - huiii :-),
kann ich mir nie merken, gegen was meine Haut resistent war.
Es gaebe zum Beispiel folgende Moeglichkeiten:
- Beim Einschaetzen mit Intarbir wird die Resistenz mit angezeigt.
- Beim Identifizieren mit Kruftur wird die Resistenz angezeigt.
- Beim Untersuchen kann mans sehen.

Es gibt bestimmt noch mehr Moeglichkeiten. Hey, Zardoz, waer das nicht
mal wieder was fuer dich? So einfach muss es ja nicht sein...
(ich denk da an irgendeine Burg, wo irgendein Tool rumliegen koennte,
das irgendeine Eigenschaft hat, die man ihm sowieso nicht zutrauen 
wuerde...)

Auf viele Umsetzungen hofft

Pra.

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



Re: Chaosruestung schaetzen (Teddy, 14. Okt 1997, 16:33:03):
~#! rn=Pra rt=876823409 rg=gilden.chaos
~#! tid=876823409
Kommt das nicht, wenn du unt Haut machst?

Teddy

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



Re: Re: Chaosruestung schaetzen (Pra, 15. Okt 1997, 01:52:56):
~#! rn=Teddy rt=876839583 rg=gilden.chaos
~#! tid=876823409
Schiebung! Das muss neu sein. Hab ich noch nie gesehen.
Wie hast du das nur so schnell eingebaut, Teddy?

Pra. Blindfisch.

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



Re^3: Chaosruestung schaetzen (Teddy, 15. Okt 1997, 03:32:09):
~#! rn=Pra rt=876873176 rg=gilden.chaos
~#! tid=876823409
Neuer Skill fuer alle lvl 10 Chaoten, nicht hoeher und nicht tiefer, wir
koennen jetzt auch programmieren ;)

-> schmarrn
Teddy

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



Chaosball (Teddy, 17. Okt 1997, 14:41:49):
Hi,

nachdem ich zum wiederholten Male die falsche Schadensart gewaehlt habe,
haette ich da eine Bitte oder einen Vorschlag:
Kann man beim Chaosball nicht eine Meldung mitkriegen in der Art: verstaerkt
durch deine Waffe oder geschwaecht durch deine Waffe? Ich hab schon oefter
geflucht, weil ich entweder nicht wusste, ob die Schadensarten passen (Laerm
und Krach, Wind und Luft) oder ich hab vergessen, das ich die Waffe gewechselt
habe oder ich hab einfach keinen Chaosschaden mehr eingestellt.

Waere super, wenns klappt.

Teddy
P.S. Wie stehts eigentlich mit der (angeblichen) Gildenerweiterung?

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



Re: Chaosball (Janitze, 19. Okt 1997, 20:24:38):
~#! rn=Teddy rt=877092109 rg=gilden.chaos
~#! tid=877092109
also soweit ich weiss, gabs in der gilde irgendwo mal nen zettel, wo drauf
stand, welchen schaden man bei welchem waffenschaden nicht nehmen sollte,
oder hatte Z* das mal hier gepostet, oder ging sowas unter den sehern
herum ?
Jedenfalls gabs mal so eine Info

Janice, exchaot

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



Re: Re: Chaosball (Teddy, 20. Okt 1997, 00:56:55):
~#! rn=Janitze rt=877285478 rg=gilden.chaos
~#! tid=877092109
Ja, es gibt Chaosinfo, das sagt dir, was du NICHT nehmen sollst, aber ich
dachte an eine Meldung IM Kampf und an eine Liste, waqs man nehmen soll.
Einige Schadensarten scheinen zu passen, heissen aber unterschiedlich (siehe
Artikel 5)

Teddy

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



Re^3: Chaosball (Janitze, 20. Okt 1997, 14:05:47):
~#! rn=Teddy rt=877301815 rg=gilden.chaos
~#! tid=877092109
meinst Du nicht, das es etwas zu einfach waere, wenn es eine liste gibt,
was man nehmen sollte ? :) Ausserdem kann man denk ich doch recht einfach
oder mit ueberlegen herleiten, was man nehmen koennte.

Janice

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



Re^3: Kaufen / Behalten (Teddy, 21. Okt 1997, 00:22:00):
~#! rn=Alpha rt=877343159 rg=allgemeines
~#! tid=877109731
Ueberlegen ist schoen und gut, aber manchmal hab ich einfach das Gefuehl, das
die Arten trotzdem nicht zusammen passen.
Ausserdem gehts mir wie gesagt nur um eine Meldung im Kampf selbst, damit ich
auch auf einen faslch oder garnicht eingestellten Chaosschaden reagieren kann.
Zum Thema Gildenerweiterung, die Frage besteht nach wie vor.

Teddy

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



Erzmeisterposten (Silvana, 21. Okt 1997, 08:24:58):
Hi.
Ich habe eben einen kleinen Bug der Gilde vorlaeufig behoben, der verhinderte,
dass ein neuer Erzmeister ermittelt werden konnte. Jetzt sollte wieder alles
normal laufen. Da ich fuers debuggen einen neuen Erzmeister einsetzen musste,
ist jetzt erst einmal Jurry aktueller Erzmeister (schoenen Dank fuer die 
Hilfe beim debuggen). Ihr wisst sicher selbst am besten, wie und wann
man das aendern kann... :)

  Silvana

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



Nachtrag (Silvana, 21. Okt 1997, 08:26:20):
Ach ja, ihr solltet NICHT aus der Gilde austreten, wenn ihr Erzmeister
seid. Zugegeben, ist unwahrscheinlich, aber genau das hat den Bug 
ausgeloest.

  Silvana

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



Re: Nachtrag (Key, 22. Okt 1997, 17:01:25):
~#! rn=Silvana rt=877415180 rg=gilden.chaos
~#! tid=877415180
Die die Austreten sind eh Verraeter und haben keinerlei Anspruch jemals
Chaosmeister zu sein ,)


Wer das jetzt versteht ist gut ,))

Key

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



Re: Re: Nachtrag (Hangover, 22. Okt 1997, 17:02:17):
~#! rn=Key rt=877532485 rg=gilden.chaos
~#! tid=877415180
Hiho!

Key> Wer das jetzt versteht ist gut ,))

Wie, nicht satanisch? Wo ist denn da der Anspruch der Gilde?

Hangover->schmarrn

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



Re^3: Nachtrag (Janitze, 22. Okt 1997, 20:24:12):
~#! rn=Hangover rt=877532537 rg=gilden.chaos
~#! tid=877415180
lass dich von Key nicht verwirren Hangover, der erzaehlt eh nur 
verrueckte und verdrehte Sachen, den kann man gar net ernst nehmen :)

Janice mag Key trotzdem (irgendwie)

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



weihnachtsgeschenk (Zorro, 24. Dez 1997, 19:24:40):
Lieber Gildenmagier des Chaos !

Ich wuensche mir zu Weihnachten einen schoenen neuen Daemon !
Jaja Du sagst jetzt bestimmt ich habe genug davon oder werd doch Erzmeister !
Aber ich moechte einen schoenen neuen unverbrauchten der spass macht :)
wie waere es mit einen Kaempfer- oder Zaubererdaemon highlevel natuerlich ...
Ich hoffe der liegt bei mir unterm Weihnachtsbaum

Gruss 

Zorro, auf dem Boden der Tatsachen. :)))))

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



Re: weihnachtsgeschenk (Teddy, 29. Dez 1997, 12:50:47):
~#! rn=Zorro rt=882987880 rg=gilden.chaos
~#! tid=882987880
Wie waere es, wenn wir einen gemeinschaftsdaemon kriegen wuerden, der von 2
oder 3 lvl 11ern z.B. gemeinsam beschworen werden muss.
Faend ich jedenfalls mal ganz nett.

Teddy, wuenscht mit.

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



nett... (Pra, 31. Dez 1997, 18:02:11):
Der Daemon in Dir zwingt Dich zu: Toete ein Goblin.
Jajajaja, machst Du doch schon!


Ein chaotisches neues Jahr!

Wuenscht euch Pra.

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



Gilde zu verschenken (Zardoz, 17. Jan 1998, 15:02:52):
Da ich eh nichts mehr an der Chaosgilde mache, wie sicherlich schon alle
gemerkt haben, wird es Zeite dies abzugeben. Wer sie also haben will, soll
sich bei mir melden. 


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



Re: Gilde zu verschenken (Zardoz, 17. Jan 1998, 15:07:45):
~#! rn=Zardoz rt=885045772 rg=gilden.chaos
~#! tid=885045772
Bewerbungen bitte schriftlich!

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



Re: Re: Gilde zu verschenken (Key, 19. Jan 1998, 12:54:50):
~#! rn=Zardoz rt=885046065 rg=gilden.chaos
~#! tid=885045772
Kriege ich sie wenn ich mag werde? :)

Key, fordert Bende auf sich mal zu melden.

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



Re^3: Gilde zu verschenken (Sting, 20. Jan 1998, 16:08:04):
~#! rn=Key rt=885210890 rg=gilden.chaos
~#! tid=885045772
Nix gegen Bende... Aber meiner Meinung nach sollte es jemand sein der unter
anderem viel Zeit hat und diese auch im MG verbringt...

Sting

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



Und wer die Gilde nimmt bekommt ein paar Seiten neue Ideen dazu (Mesirii, 22. Jan 1998, 23:07:00):
Wie die Chaoten alle wissen, hab ich in der letzten Zeit ein paar Ideen
gesammelt, wie man die Gilde interessanter (nicht unbedingt staerker)
machen koennte.
Und da ist eine ganze Menge fieser *grins* Sachen zusammengekommen.
Wenn also ein Mag daran interessiert ist, auch seine finsteren Seiten
auszuleben, dann sollte er sich die Ideen mal ansehen.
Und wenn die Ideen umgesetzt sind, dann sind die anderen Gilden leer ;))
Also ran Leute
Mesi, Chaos angeboren

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



Re: Und wer die Gilde nimmt bekommt ein paar Seiten neue Ideen dazu (Wurzel, 22. Jan 1998, 23:15:44):
~#! rn=Mesirii rt=885506820 rg=gilden.chaos
~#! tid=885506820
aber erstmal jemanden finden, der die zeit, kenntnisse und lust hat, die
gilde zu uebernehmen und das dann noch umzusetzen, was da an vorschlaegen
kommt... solche leute sind nicht gerade dicht gesaet.

wurzel (hat genug anderes zu tun)

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



Re: Re: Und wer die Gilde nimmt bekommt ein paar Seiten neue Ideen dazu (Key, 26. Jan 1998, 13:14:24):
~#! rn=Wurzel rt=885507344 rg=gilden.chaos
~#! tid=885506820
Und vielleicht akzeptieren das andere Chaoten das nicht wollen.
Dann hat der Mag auch gleich nicht soviel Arbeit,

Key, nur mit wenigen Teilen der Vorschlaege einverstanden.

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



Re^3: Und wer die Gilde nimmt bekommt ein paar Seiten neue Ideen dazu (Sting, 26. Jan 1998, 23:34:34):
~#! rn=Key rt=885816864 rg=gilden.chaos
~#! tid=885506820
Ich denke die richtigen Vorschlaege werden auch umgesetzt werden, notfalls
sollte man mal rumfragen, ich glaube die Mehrheit wird die richtige
Entscheidung treffen

Sting

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



Re^4: Und wer die Gilde nimmt bekommt ein paar Seiten neue Ideen dazu (Pra, 29. Jan 1998, 11:44:26):
~#! rn=Sting rt=885854074 rg=gilden.chaos
~#! tid=885506820
Im Zweifel wird der Gilden-Mag die Entscheidung treffen...

... ob richtig oder nicht, interessiert diese arroganten, fiesen,
abgehobenen, nie gespielt habenden, sowieso alles besser wissenden
Moechtegernprogrammierer eh nicht!!!

Pra.

P.S. ;-)

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



Elfen (Silvana, 23. Feb 1998, 09:45:32):
Hi.
Auf Wunsch eines einzelnen Chaoten habe ich eine kleine Aenderung an
der Elfenshell vorgenommen: Chaoten-Elfen haben nun etwas andere 
Schwachstellen als 'wohlgesinnte' Elfen.

  Silvana

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



Re: Elfen (Key, 25. Feb 1998, 12:50:14):
~#! rn=Silvana rt=888223532 rg=gilden.chaos
~#! tid=888223532
Danke!!! .))

Key

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



Re: Elfen (Bottom, 26. Feb 1998, 16:38:36):
~#! rn=Silvana rt=888223532 rg=gilden.chaos
~#! tid=888223532

Tragen Chaoselfen jetzt schwarze Feinstrumpfhosen statt gruener...?


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



Neue Kneipe (Sting,  3. Mar 1998, 20:16:11):
Huhu Chaoten!

Ihr habt vielleicht schon gelesen, dass Silvana nochmal die Kneipen geaendert
hat...
Nun, ich hab ne gute Nachricht fuer euch :) Unsere ist jetzt auch angepasst
worden, und seit heute lohnt es sich sogar _richtig_ mal was zu essen *grins*
Also probiert lieber mal die neuen Sachen aus, es lohnt sich!


Sting, sich SEHR freuend :)

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



Re: Neue Kneipe (Sting,  3. Mar 1998, 20:17:01):
~#! rn=Sting rt=888952571 rg=gilden.chaos
~#! tid=888952571
Achja, ich hab noch was vergessen:

Nochmal DICKES DANKE an Silvana *grins*

Sting

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



Re: Re: Neue Kneipe (Sharia,  3. Mar 1998, 20:18:34):
~#! rn=Sting rt=888952621 rg=gilden.chaos
~#! tid=888952571
ich will auch sowas :-)))

Sharia, Kleruskneipenlos :-(

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



Re^3: Neue Kneipe (Morgoth,  4. Mar 1998, 07:31:37):
~#! rn=Sharia rt=888952714 rg=gilden.chaos
~#! tid=888952571
Jajaja....
M*

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



Stielaugen;) (Cepheus, 16. Mar 1998, 21:03:48):
Intarbir schaut Intarbir abschaetzend an.
> Intarbir sagt: Also, nun. Lausche meinen Worten: Werde nicht gleich
Intarbir sagt: ueberheblich, aber Du bist Intarbir haushoch ueberlegen! Die
Intarbir sagt: Ruestung Intarbirs ist besser als Deine. Zu guter Letzt: Die
Intarbir sagt: Waffe Intarbirs ist besser als Deine, aber Du schaffst das
Intarbir sagt: schon! 
Jaja, ich wusste es schon immer, unsere Daemonen haben Stielaugen...
Cepheus.

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



artikel - leer - (Tilly, 18. Apr 1998, 07:49:38):
.... jetzt nicht mehr :)

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



artikel Also... (Tilly, 24. Apr 1998, 22:16:42):
... also, Bierchen et moi haben ein bisschen was geaendert. Die Raeume wurden
in ein anderes File verlagert, ne Bibo wurde angeschlossen, und ansonsten noch
einige Kleinigkeiten. Sollte es zu Bugs und groesseren Problemen kommen (was
wir nicht hoffen) so sagt uns das bitte sofort.
Ansonsten viel Spass....
                                Bierchen und Tilly

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



Re: artikel Also... (Bierchen, 24. Apr 1998, 22:20:27):
~#! rn=Tilly rt=893449002 rg=gilden.chaos
~#! tid=893449002
.... noch was, gute ideen und belobigungen an mich, bugs, typos und
beschimpfungen an tilly schicken...:)
gruss,
     - Bierchen -

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



Re: Re: artikel Also... (Tilly, 24. Apr 1998, 22:23:15):
~#! rn=Bierchen rt=893449227 rg=gilden.chaos
~#! tid=893449002
aehmmm, moment... meines wissens laeuft das genau andersrum :)
            Tilly (hat auch mal Lob verdient ;)

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



Re: artikel Also... (Teddy, 25. Apr 1998, 05:31:08):
~#! rn=Tilly rt=893449002 rg=gilden.chaos
~#! tid=893449002
Erstmal Lob, das sich ueberhaupt was tut.

Teddy, sieht wieder ein Licht am Ende des Tunnels.

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



Titel Gesucht (Bierchen, 25. Apr 1998, 07:42:32):
Hiho!
nachdem tilly und ich gebuggt haben wie nix gutes.. und dies zukuenftig auch
beibehalten wollen :) folgt nun eine wunderschoene titel-suche fuer
gildenlevel 11. unserer verhassten gilde. der aktuelle titel (idiot/idiotin
des chaos) trifft irgendwie nicht den zeitgeist und ist nicht geeignet, das
chaos glaubhaft ueber das MG zu verbreiten. eure meinung ist gefragt! wie
sollte der zukuenftige titel lauten? allerdings werden vorrangig vorschlaege
von chaoten beruecksichtigt, die anderen werden, wenn sie denn voellig
idiotisch sein sollten, in die tonne getreten :) als belohnung fuer den besten
vorschlag winkt ein... supertolles, chaos-autoload faehnchen :) her mit den
vorschlaegen :)
   - Bierchen -

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



Re: Titel Gesucht (Teddy, 25. Apr 1998, 07:47:17):
~#! rn=Bierchen rt=893482952 rg=gilden.chaos
~#! tid=893482952
Meister des Chaos ist noch teilweise verbreitet; der chaotisch Mutierte, der
Daemonische oder sowas, einfach mal als spontane Idee

Teddy, morgens um 7:50.

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



Re: Titel Gesucht (Zorro, 25. Apr 1998, 11:13:53):
~#! rn=Bierchen rt=893482952 rg=gilden.chaos
~#! tid=893482952
Der Degenerierte.
Einer von der chaotischen Volksfront.
der kaltduscher
dem Chaos seine Daemonin ihr Meister

Zorro sagt: Her mit dem Faehnchen

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



Re: Re: Titel Gesucht (Freund, 25. Apr 1998, 11:40:40):
~#! rn=Zorro rt=893495633 rg=gilden.chaos
~#! tid=893482952
Ich weiss, dass ich da nicht mitzreden habe, aber:
Kaltduscher gefaellt mir ausserordentlich gut, in dem Zusammenhang!

Freund, lobt Zorro.

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



Re^3: Titel Gesucht (Trekan, 25. Apr 1998, 12:05:14):
~#! rn=Freund rt=893497240 rg=gilden.chaos
~#! tid=893482952
Wie waer's mit murphy's gesetz / nachkomme
xfjetyhj
Chaos ebend
Trekan

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



Titel (Sting, 25. Apr 1998, 12:08:55):
Vorschlaege:

der Beherrscher des Chaos
der Daemonenherrscher
der Bezwinger der Chaosmaechte
der Chaotarch (finde ich am besten)

Achja, natuerlich auch noch von mir ein grosses Lob an die beiden
Verantwortlichen :)

Sting

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



Re: Titel Gesucht (Morgoth, 26. Apr 1998, 12:22:40):
~#! rn=Bierchen rt=893482952 rg=gilden.chaos
~#! tid=893482952
Ich hab da noch ideen und weunsche, die ich zardoz irgendwann mal gemailt hab,
die er aber nicht mehr eingebaut hat....wollt ihr die haben??
M*

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



Re: Re: Titel Gesucht (Zorro, 26. Apr 1998, 12:53:08):
~#! rn=Morgoth rt=893586160 rg=gilden.chaos
~#! tid=893482952
nu sach schon ...

Zorro

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



Re: Re: Titel Gesucht (Asmodis, 26. Apr 1998, 16:25:28):
~#! rn=Zorro rt=893495633 rg=gilden.chaos
~#! tid=893482952
Und wer proggt die Volksfront des Chaos (die Erzfeinde der chaotischen
Volksfront) ??

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



Re: Re: Titel Gesucht (Key, 26. Apr 1998, 16:31:10):
~#! rn=Morgoth rt=893586160 rg=gilden.chaos
~#! tid=893482952
Ideen erstmal an Sting, Tyrion und mich!

Key spricht fuer den Gildenrat :)

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



Re^3: Titel Gesucht (Teddy, 27. Apr 1998, 00:12:40):
~#! rn=Key rt=893601070 rg=gilden.chaos
~#! tid=893482952
Wie haben einen Gildenrat?

Teddy, ist das ganz neu.

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



Re^3: Titel Gesucht (Tilly, 27. Apr 1998, 05:39:15):
~#! rn=Key rt=893601070 rg=gilden.chaos
~#! tid=893482952
Gildenrat?!?....
Aehmmm.... Key, nimm noch Therin und mach nen Greisenrat auf.... :)

p.s.: Nee, wirklich. Ist besser Vorschlaege an Bierchen und mich zu schicken,
wer nimmt sowas schon aus dritter Hand ;)
sonst landet das Faehnchen nachher noch bei irgendeinem Wursti.

chaotischen Gruss,
                       Tilly

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



Re: Titel (Ark, 27. Apr 1998, 14:08:20):
~#! rn=Sting rt=893498935 rg=gilden.chaos
~#! tid=893498935
So ein Quark, das Chaos laesst sich nicht beherrschen, schon gar nicht
von Dir Sting, gelle ? :-)
Also: Chaosmutant/-in, Unberechenbare/-r, Verwerfliche/-r, Daimonion
(naja, letzteres erinnert an AD&D, zugegeben), Vernichter/-in.
Hach, da wird mir noch mehr einfallen *droh* :-)


              *** ARK * the * Magnificent ***


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



Danke ;) (Bigrat, 27. Apr 1998, 14:31:19):
Hmmm also erstmal moechte ich Zardoz danken fuer alles was er fuer die beste
Gilde im MG (fuer alle Unwissenden: das is die Chaosgilde) und im MG allgemein
geproggt hat!
Und da ich den Artikel von Tilly so verstanden habe, dass er und Bierchen sich
jetzt OFFIZIEL als Gildenmagier geoutet haben: ***Willkommen***

BigRat moechte endlich auch mal ueber Veraenderungen in der Gilde meckern
koennen! ;)

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



Re: Re: Titel (Sting, 27. Apr 1998, 16:55:55):
~#! rn=Ark rt=893678900 rg=gilden.chaos
~#! tid=893498935
Zugegeben, Chaosmutant hoert sich gut an :)
k
Aber den Rest finde ich weniger gut, vor allem der "Vernichter" das hoert sich
so nach starker gilde an :)
k
Sting

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



Re: Re: Titel (Kilar, 27. Apr 1998, 18:21:23):
~#! rn=Ark rt=893678900 rg=gilden.chaos
~#! tid=893498935
Wie waere es denn mit Fuerst/Fuerstin der Finsterniss? :)

Kilar

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



Re^4: Titel Gesucht (Therin, 27. Apr 1998, 18:36:08):
~#! rn=Tilly rt=893648355 rg=gilden.chaos
~#! tid=893482952
Aehmmm.... Key, nimm noch Therin und mach nen Greisenrat auf.... :)

HMPF... Solange der voll Weisungsberechtigt euch beiden gegenueber ist,
sofort.

RS Therin, TLD

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



Re: Motzen... (Bierchen, 27. Apr 1998, 20:15:32):
~#! rn=Pra rt=893699703 rg=gilden.chaos
~#! tid=893699703
moin,
irgendwie habe ich momentan noch leichte probleme mit dem gedankenlesen...
aber ich kann mich dunkel erinnern, irgendwo mal einen postreiter gesehen zu
haben.. oder hat einer von euch den schon umgehauen? :)
gruss,
          - Bierchen -

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



Re: Re: Motzen... (Zorro, 27. Apr 1998, 20:17:20):
~#! rn=Bierchen rt=893700932 rg=gilden.chaos
~#! tid=893699703
bringt der stupse ? ... dann her mit dem reiter 

zorro

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



Chaosnamen (Jamalski, 27. Apr 1998, 21:48:59):
Tach!
Chaosmutant finde ich recht gut, Fuerst/Fuerstin hingegen zu edel!
Ich wuerde ehrlich gesagt auf das: '... des Chaos' verzichten, und einen Titel
der alleinstehend gut klingt bevorzugen.
Vorzugsweise sogar etwas aus dem Daemonischen.
Allerdings bietet das Woerterbuch recht seltsame Inhalte.
Oder will einer von euch 'Kaspartar des Chaos' heissen???
jamal

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



Re: Chaosnamen (Silva, 27. Apr 1998, 21:54:25):
~#! rn=Jamalski rt=893706539 rg=gilden.chaos
~#! tid=893706539
hi,
ich halte "Wegbereiter des Chaos" noch fuer einen netten Titel.
bye
   silva

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



Re: Re: Chaosnamen (Alpha, 27. Apr 1998, 21:59:14):
~#! rn=Silva rt=893706865 rg=gilden.chaos
~#! tid=893706539
Mir wuerde Halbgott des Chaos bzw
           Halbgott der Dunkelheit gefalllen.
Da bliebe dann noch Platz nach oben offen.
Alpha, heimlicher Chaot.

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



Re^3: Chaosnamen (Sharia, 27. Apr 1998, 22:00:18):
~#! rn=Alpha rt=893707154 rg=gilden.chaos
~#! tid=893706539
hmm hatte Tilly nicht geschrieben: vorschlaege per MAIL an ihn und Bierchen ? 

vielleicht hab ich mich ja auch verlesen :-)

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



chaosnamen (Jamalski, 27. Apr 1998, 22:00:22):
Hmm, also das Wort 'Gott' sollte ein die() ausloesen! ;)

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



Re: chaosnamen (Sharia, 27. Apr 1998, 22:01:36):
~#! rn=Jamalski rt=893707222 rg=gilden.chaos
~#! tid=893707222
[TEAM:Tod dem die()] Sharia sagt: verbietet die() !!!

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



Chaosnamen (Jamalski, 27. Apr 1998, 22:01:48):
Das schon, aber 1. wird auch er MPA lesen, 2. tun dies sehr viel und somit
wird das ganze ein wenig offener und kann diskutiert werden.

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



Chaosnamen (Swift, 27. Apr 1998, 23:03:16):
wer will auch 'Gott' heissen, noch dazu 'Halbgott'. Unsere neuen Chefs machen
nix Halbes. :)
Eher Teufel oder so... aber naja... :)

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



Re: Motzen... (Teddy, 27. Apr 1998, 23:26:58):
~#! rn=Pra rt=893699703 rg=gilden.chaos
~#! tid=893699703
Komisch, ich krieg die Meldung nie.
Ziele sind soweit ich weiss geplant, also Geduld, immerhin kommen zur Zeit
fast taeglich Aenderungen.
Alternativ, nimm die Liste mit den Zielen, kommt zumindest die Meldung
nichtmehr so oft ;)

Teddy

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



Re: Chaosnamen (Teddy, 27. Apr 1998, 23:28:47):
~#! rn=Swift rt=893710996 rg=gilden.chaos
~#! tid=893710996
Da es keiner geschrieben hat: Wir haben vorhin auch der dunkle/finstere Fuerst
des Chaos diskutiert.

Teddy

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



Re^3: Chaosnamen (Jimdigriz, 28. Apr 1998, 09:03:26):
~#! rn=Alpha rt=893707154 rg=gilden.chaos
~#! tid=893706539
Hihi,

der Groessenwahn schlaegt zu, es scheint so als
haette der Dunkle mit seiner Wahl zum Titel vielleicht
recht behalten.
Also der Name sollte sich nicht zu ernst nehmen und trotzdem
natuerlich die Ueberlegenheit gegenueber den
niedrigeren Stufen zum Ausdruck bringen.

Wer sich mit Daemonen einlaesst muss schon von Haus
aus ein Idiot sein, aber Ihr wolltet ja einen
neuen Titel.
Vielleicht Oberster Chef der Chaosidioten ;)
(Die anderen obersten Chefs lachen)

$ 0.02,
 Jim DiGriz i.A. von Inskipp (Schwarzmagischer Idiot des Chaos)

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



Re: Re: Motzen... (Key, 28. Apr 1998, 10:18:19):
~#! rn=Bierchen rt=893700932 rg=gilden.chaos
~#! tid=893699703
Das ist mein Leibeigener ;)
Also alle mails erstmal an mich ;)
Ich sorg dann schon fuer die Verteilung ,)

Key

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



Chaostitel (Freund, 29. Apr 1998, 08:17:41):
Hi,

ich faende - neben Kaltduscher - auch sehr schoen:

der chaotische Barttraeger

der ordnungsliebende Daemonenbeschwoerer

Freund.

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



Re: Chaostitel (Arelion, 29. Apr 1998, 10:00:55):
~#! rn=Freund rt=893830661 rg=gilden.chaos
~#! tid=893830661
wieso ist der Titel ueberhaupt so schrecklich wichtig? Schliesslich ist man
mit Gildenstufe 11 sowieso Seher, ob man nu kalt oder warm duscht.

Arelion - Zweizeilig.

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



Re: Chaostitel (Tarina, 29. Apr 1998, 13:50:54):
~#! rn=Freund rt=893830661 rg=gilden.chaos
~#! tid=893830661
Ich persoenlich faende 'Ordnungsschaender' auch nicht uebel.

Tarina (wuerde RL diesen Titel ohne Probleme tragen koennen)

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



Re: Re: Chaostitel (Lug, 29. Apr 1998, 22:42:28):
~#! rn=Tarina rt=893850654 rg=gilden.chaos
~#! tid=893830661
Hm,

sehr sympathisch.

Lug

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



chaostitel (Hefe, 30. Apr 1998, 16:09:11):
Bei der allgemeinen Birmingham-Euphorie bietet sich doch der schlichte
Titel "Der Meister" an...

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



chaostitel (Hefe, 30. Apr 1998, 16:10:30):
Oder wie waers mit "Der Mercedes unter den Chaoten" ??

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



Re: chaostitel (Teddy, 30. Apr 1998, 17:25:09):
~#! rn=Hefe rt=893945430 rg=gilden.chaos
~#! tid=893945430
Mercedes? Ne, passt nicht, so leicht faellt ein Chaot nicht um.

Teddy ;)

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



Re: Re: chaostitel (Key,  1. Mai 1998, 19:22:28):
~#! rn=Zuerileu rt=893999271 rg=gilden.chaos
~#! tid=893945430
Hmm Lord der Finsternis klaenge niedlich :)

Key

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



Re^3: chaostitel (Feuerwehr,  1. Mai 1998, 19:23:13):
~#! rn=Key rt=894043348 rg=gilden.chaos
~#! tid=893945430

Ja, das klingt cool.

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



Re: chaostitel (Jamalski,  3. Mai 1998, 21:09:24):
~#! rn=Hefe rt=893945430 rg=gilden.chaos
~#! tid=893945430
Nope!
Waere ja 'Der Hans Meiser unter den Chaoten' fast noch besser....
Jamal

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



chaostitel (Jamalski,  3. Mai 1998, 21:12:27):
'Lord der Finsternis' ist fett! };>
Da haben wir auch nicht dieses '... des Chaos' drinne! Wobei 'Chaoslord' oder
'Daemonenlord' auch was haetten
Jamal

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



Re: chaostitel (Lug,  3. Mai 1998, 22:28:57):
~#! rn=Jamalski rt=894222747 rg=gilden.chaos
~#! tid=894222747

Aeh,

warum eigentlich nicht das englische LORD durch das deutsche HERR / HERRIN
ersetzen?

Nein ich heiss nicht Acrimon, aber warum Englisch?
Lug

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



Re: Linux und cdr (Zuerileu,  4. Mai 1998, 23:42:44):
~#! rn=Hound rt=894270529 rg=hardsoftware
~#! tid=894270529
Hi all,
Ne sorry lug, aber "Herr" / "Herrin" wo sind wir denn, in einem Mud oder einem
Kongress fuer super reiche Kaviarfresser ? Ne da koennen wir uns ja gleich mit
"Sie" ansprechen. =:)
Dazu sind Woerter wie Lord oder so eingebuergert, also es versteht jeder um
was es geht.
Man koennte auch, einem Titel z.b. die "xy der Schattenkrieger des Chaos" oder
Overlord of Chaos =:) naja ich ueberlege mir mal was...hehe..

Tschau Alain
^r

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



Gilden-Quests (Tilly,  2. Jun 1998, 00:59:05):
Moin moin,
falls es zu Bugs/Fehlern und aehnlichem bei den Gilden-Quests kommen sollte,
bitte umgehend eine Nachricht an Bierchen, mich oder bekannte Zweities kommen
lassen.

- Tilly -

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



Re: notiz test (Feuerwehr, 14. Jun 1998, 21:20:14):
~#! rn=Tilly rt=897851980 rg=gilden.chaos
~#! tid=897851980
Waaaaaaaaaah!

*waelz*

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



quests (Bierchen, 15. Jun 1998, 04:46:31):
moin, sollte es weitere probleme mit gilden-quests geben... bitte eine mail an
bierchen schicken mit einer moeglichst genauen beschreibung des fehlers. u.a.
was habt ihr schon, was will kruuolq noch, wo moppert er rum usw. nur zu,
keine hemmungen, muellt mich zu...
gruss,
Bierchen.

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



entsorgen (Teddy,  7. Jul 1998, 01:27:22):
Hiho,

im Zuge der Reduzierung von MG-Lag faende ich auch fuer uns ne Moeglichkeit
zum entsorgen der kompletten Leiche praktisch.
Vielleicht finden unsere Daemonen ja Geschmack an denen, muss ja nix bringen
in Form von Heilung oder so


Teddy

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



Re: entsorgen (Feuerwehr,  7. Jul 1998, 09:02:18):
~#! rn=Teddy rt=899767642 rg=gilden.chaos
~#! tid=899767642

Ich weiss nich...

Dieses betende Voelkchen aus der Wueste verscharrt die Dinger doch schon wie
bloed, muessen wir das auch tun?

Andererseits koennte Achtarch ab jetzt Messer, Gabel und eine grosse Tube
Ketchup zu Verfuegung stellen, wenn euch das irgendwie hilft...

    Feuerwehr (-> schmarrn)

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



Re: Re: entsorgen (Key,  7. Jul 1998, 10:14:42):
~#! rn=Feuerwehr rt=899794938 rg=gilden.chaos
~#! tid=899767642
Hmm eine Leiche rot-weiss? :)
Dafuer =;)

Key

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



Re^3: entsorgen (Lyra,  7. Jul 1998, 10:16:00):
~#! rn=Key rt=899799282 rg=gilden.chaos
~#! tid=899767642
Seid wann sind Chaoten Feinschmecker?

Lyra, nur Dummzeug schreibend

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



Re^3: entsorgen (Teddy,  7. Jul 1998, 12:30:47):
~#! rn=Key rt=899799282 rg=gilden.chaos
~#! tid=899767642
Ich nehm auch rot-gelb, bin flexibel

Teddy

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



Re^4: entsorgen (Pra,  7. Jul 1998, 12:32:50):
~#! rn=Teddy rt=899807447 rg=gilden.chaos
~#! tid=899767642
Rot fuer das Blut, gelb fuer den Eiter der Leichenfaeulnis...

Pra. 

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



Re^5: entsorgen (Silvana,  7. Jul 1998, 19:56:28):
~#! rn=Pra rt=899807570 rg=gilden.chaos
~#! tid=899767642
Vielleicht sollten die Daemonen dann den Schwarzmagie-Spruch
Leichenschmaus verwenden, oder etwas vergleichbares. Das haette den
angenehmen (?) Nebeneffekt, beim Abnehmen der RL-Spieler behilflich
zu sein... :)

  Silvana (meint das nicht wirklich ernst...)

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



Re^6: entsorgen (Anatol,  7. Jul 1998, 19:57:24):
~#! rn=Silvana rt=899834188 rg=gilden.chaos
~#! tid=899767642
Irgendwer muesste die Sauerei im Rechnerraum aufwischen, Silvana.

Anatol (meint das nicht wirklich ernster als Silvana...)


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



Re^6: entsorgen (Silvana,  7. Jul 1998, 19:57:42):
~#! rn=Silvana rt=899834188 rg=gilden.chaos
~#! tid=899767642
Mist, das was missverstaendlich. Ich meine natuerlich, den RL-Spielern
beim abnehmen behilflich, nicht beim Abnehmen der RL-Spieler...

  Silvana

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



Chaos! (Bierchen,  8. Jul 1998, 19:52:26):
HiHo Chaoten!
Das Chaos hat Verstaerkung bekommen! Einer der uebelsten Mags unter der Sonne,
das personifizierte Boese, der Schrecken aller Spieler, sprich: Feuerwehr :)
kaempft nun mit uns zusammen gegen eckelhafte Ordnung, abartige Hobbits,
Kleriker... und, urghs, gegen alles Andere... :) Begruesst Euren neuen
Gildenmag.
   - Bierchen -
PS.: Bugmeldungen ab jetzt nur noch an 112 :)

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



Re: Chaos! (Feuerwehr,  8. Jul 1998, 19:53:25):
~#! rn=Bierchen rt=899920346 rg=gilden.chaos
~#! tid=899920346
Aye, Compadres!

Seid gegruesst, getreue Untertanen. Moege das Chaos mit neuer Kraft
zu ungeahnten Hoehen aufsteigen!!!

Doch genug der Phantastereien. Die Zeiten sind hart fuer die Chaosgilde.
Wir sind umgeben von anderen, neidischen, Gilden. Fast alle haben ihr
Fuehrungspersonal gewechselt und beginnen nun mit massiver Aufruestung.

Besonders zu erwaehnen ist hier die Klerus-Gilde. Dieses einst so putzige
betende Voelkchen hat sich unter der Fuehrung des ebenso satanischen wie
gefaehrlichen Morgoths grundlegend gewandelt. Ihre Gottheiten, selbst die
lustige Sabrina, haben sich in mordluesternde Bestien verwandelt.
Kleriker durchstreifen das ganze Morgengrauen auf der Suche nach den
boesartigsten Monstern, weil diese Gottheiten ihnen dafuer irgendwelche
Fleisskaertchen austeilen. Es kann also nurnoch eine Frage der Zeit sein,
bis sie an den richtigen Stellen suchen und es zum offenen Konflikt kommt.

Doch auch wir sind nicht untaetig. Wir muessen uns verteidigen koennen.
Daran arbeiten wir. Das Motto der Chaosmagier lautet momentan:
        VERTEIDIGUNGSWAFFEN MIT MAXIMALER ZERSTOERUNGSKRAFT

Darum habt keine Furcht (is klar), doch seid wachsam. Hinter jedem strah-
lenden Talisman versteckt sich ein kranker Geist, ein grosser Knueppel,
ein Laken und eine Schaufel, um alle Zeichen seines Wirkens zu verdecken.

Lernt fleissig, werdet stark. Dann werden wir es schaffen, diese Kutten-
traeger zurueck in ihre Kloester und Tempel zu treiben, um dann an stra-
tegisch geschickten Punkten Feuer zu legen.

Wir repraesentieren das Chaos, und das Chaos wird niemals untergehen.

Danke schoen.

      Feuerwehr.

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



Re: Re: Chaos! (Dieder,  9. Jul 1998, 00:00:27):
~#! rn=Feuerwehr rt=899920405 rg=gilden.chaos
~#! tid=899920346
Grats, haette man kaum besser formulieren koennen! :)

Dieder, begruesst 112 aufs herzlichste.

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



Re^3: Chaos! (Sharia,  9. Jul 1998, 00:17:36):
~#! rn=Dieder rt=899935227 rg=gilden.chaos
~#! tid=899920346

Da kann ich nur eines zu sagen:

*Sharia laeutert Deinen Geist.*

Sharia, die das GUTE verteidigt und dem BOESEN den GARAUS machen wird ....

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



Re: Re: Chaos! (Teddy,  9. Jul 1998, 00:49:56):
~#! rn=Feuerwehr rt=899920405 rg=gilden.chaos
~#! tid=899920346
Hiho und wilkommen du (hoffentlich ehemals) Braende bekaempfender Held des
Dunklen und Boesen.

Untertanen? Du hast da was falsch verstanden, die Bezeichnung Gildenmagier
lassen wir euch gerade so durchgehen, streng genommen sied ihr gerade mal
Programmiersklaven.

Was diese boesartigen und verschlagenen Kleriker angeht sind diese in letzter
Zeit wirklich zu einer echten Plage geworden die bis aufs Aeusserste bekaempft
werden muss wofuer ich mir nun endlich die lange faellige Hilfe (in Form eines
ZAPTools?) erhoffe da wir uns gegen diese Brut fruehzeitig schuetzen muessen,
am besten auf ihrem eigenen Gebiet.

So harre ich nun der Dinge die da kommen werden um endlich den ueblen Tempel
im heissen und staubigen Sueden in Schutt und Asche legen zu koennen.

Teddy, Beschuetzer des wahren Boesen.
SCNR ;)

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



chaos gildenseiten (Swift, 11. Jul 1998, 02:23:37):
wens interessiert: es gibt ne neue gildenseite.
wo man die findet? na auf der morgengrauen www seite, unter "gilden" (wer
haetts gedacht?) :)

verbesserungsvorschlaege, bugs, ideen etc. an mich!

cu
   swift

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



Monster (Twinsen, 11. Jul 1998, 21:07:16):
kann es sein dass es weniger gute monster als boese gibt? Wenn ja faende ich
das unfair

Twinsen

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



Re: Monster (Zuerileu, 11. Jul 1998, 22:42:58):
~#! rn=Twinsen rt=900184036 rg=gilden.chaos
~#! tid=900184036
Hi,
Na hoer mal, die Monster werden nicht irgentwie Katalogisiert oder so. Das ist
sache jedes einzelnen Magiers ob er boese oder gute NPCs programmiert. Da gibt
es keinen der vorschreibt wiviel gute NPC oder wiviel boese NPC es geben soll.
Und zum Glueck ist das nicht so, waer ja noch schoenner wenn man nicht frei
programmieren koennte. Und ob das Fair ist oder nicht ist doch eh scheiss egal
=:)

Cu Alain

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



Re: Re: Monster (Twinsen, 11. Jul 1998, 23:39:23):
~#! rn=Zuerileu rt=900189778 rg=gilden.chaos
~#! tid=900184036
Okay :)

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



ruestung (Bierchen, 27. Jul 1998, 04:59:11):
Hiho,
nun, das abfangen von einigen krankheiten vom daemon in eurer haut scheint
beendet zu sein. also verlasst euch nicht mehr darauf.
  - Bierchen - (diesmal trauernd an z* denkend)

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



FUERCHTET EUCH! FUERCHTET EUCH _SEHR_! (Feuerwehr, 27. Jul 1998, 22:38:03):
Hi Chaoten!

Lasst uns ueber Abwertungen reden.

OK, beschoenigen wir nichts. Die Chaosgilde wird jetzt auseinander-
genommen und wieder zusammengesetzt. Wir werden sie zerreissen, bis
nurnoch winzig kleine Fetzen uebrigbleiben, wir werden ihre schwarze
Seele analysieren und sie dann wieder zusammensetzen, boeser, fieser,
gemeiner.

Die Abwertung werden euch abgrundtief treffen. Ihr werdet euch
fuehlen wie neugeborene Babys und die Ameisen der Hochebene werden
euch zum schwitzen bringen.

Es wird Wellen von Abwertungen geben. Fiese, hintereinander angeord-
nete und aufeinander aufbauende Abwertungen, eine schlimmer als die
vorhergehende. Wir werden unsere perverse Freude an eurem Klagen
haben, oh ja.

Ihr werdet in den naechsten Monaten versinken in einem Meer von 
Fehlern, das Raumzeitgefuege wird sich um euch drehen und winden,
wenn ihr es gerade am wenigsten gebrauchen koennt.

Der Zufall wird sich gegen euch verschwoeren. Ihr werdet Schmerzen
haben, ihr werdet leiden wie selten zuvor. Euer Klagen wird die
Waende der Realitaet beben lassen. Die Augen werdet ihr euch heraus-
kratzen vor Gram.

So, nur dass ihr nicht sagen koennt, wir haetten euch nicht gewarnt.


  Feuerwehr. Boesartig. Satanisch. Gemein.


P.S. Um diesen Artikel mal in 5 Worten zusammenzufassen:
     Memmen raus aus unserer Gilde.

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



Re: FUERCHTET EUCH! FUERCHTET EUCH _SEHR_! (Jamalski, 27. Jul 1998, 22:45:39):
~#! rn=Feuerwehr rt=901571883 rg=gilden.chaos
~#! tid=901571883
Hoert Hoert! 
Vielleicht kommt ja am Ende sogar ein Titel fuer LV11 zustande!
Ihr werdet das schon drehen...
aehm, Ich geh jetzt Tennisspielen! 
Jamalski, Avon-Berater des Chaos

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



chaoskontrolle (Bierchen, 29. Jul 1998, 00:13:46):
Hiho, leidgepruefte chaoten!
nun, ein chaot weint nicht, auch nicht dann, wenn er erfaehrt, dass die
chaoskontrolle nun reichlich weniger bringt.
kopf hoch,
        - Bierchen -

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



chaosball etc. (Bierchen, 29. Jul 1998, 19:35:52):
moin,
mal wieder ein paar aenderungen. chaosball kostet, wenn er auf chaoskontrolle
eingestellt ist, 20 anstelle der 15 mps. dafuer chaoskontrolle 'nur' noch 20.
gruss,
      - Bierchen -

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



Das Rad dreht sich... (Feuerwehr, 30. Jul 1998, 19:56:09):
Hi.

Alles veraendert sich. Nichts bleibt gleich. Neue Zeiten kommen und werden zu
alten Zeiten, welche zu Mythen und Legenden... aehm, Moment. Falsch.

Auf jeden Fall aendert sich alles. Unter anderem aendern werden sich in
wenigen Sekunden in der Chaosgilde folgende Dinge aendern.

Schutz (schwach). Dieser von Chaoten natuerlich niemals genutzte Spruch wird
schwaecher, haelt dafuer aber laenger.

Finsternis. Hier gab es Umwertungen. Es gibt jetzt Hoechstwerte, ausserdem
kann man Finsterniswolken nicht stapeln (wie unlogisch auch), dafuer faellt
jedoch die 10-Minuten-Schranke weg. Einen schoenen Gruss an den Vorsitzenden
des Chaosrats :). Und an alle, die diesen Spruch auf so aetzende Weise
perfektioniert haben: Bruellt mal laut vor Wut .... Ahhh, danke.

Was noch? Verbanne hat sich geaendert, aber ihr werdet nix davon merken, wenn
ihr keine Bugausnutzer seid....... naja, ihr werdets wohl merken.

Alle Kampfdaemonen haben sich geaendert, ebenso wie Chaosruestung, Schutz und
Finsternis. Das werden aber auch nur die Unwuerdigen unter euch merken.

Dies mag es fuer jetzt gewesen sein, doch das Rad dreht sich weiter, und was
heute noch gut ist, ist morgen schon schlecht...

Feuerwehr. Chaos Chaos Chaos.

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



Re: Das Rad dreht sich... (Feuerwehr, 30. Jul 1998, 20:29:34):
~#! rn=Feuerwehr rt=901821369 rg=gilden.chaos
~#! tid=901821369

Hi!

Alles aendert sich, nicht bleibt gleich...

Aber manche Dinge aendern sich zurueck...

Die abgeschaffte Zeitschranke, zu der wir uns auf Grund einer groben
Fehlinterpretation von Silvanas Artikel entschlossen haben (merkwuerdig, wie
3.4 Magier etwas falsch lesen koennen, nicht?), musste die Zeitschranke wieder
eingefuehrt werden.

Doch ich kaempfte fuer euch. Mit all meiner geballten rethorischen Kraft, und
unter Androhung extremer koerperlicher Gewaltanwendung rang Ich, Feuerwehr,
Silvana einen hart umkaempften Kompromis ab.

Die Zeitschranke wurde auf 2 Minuten reduziert. Dankt  mir.

Feuerwehr. Chaos Chaos Chaos.

PS. Ach ja, es war kein Artikel, es war eine Mail :)
PPS. Es ging hierbei natuerlich um den Finsternis-Spruch.

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



Re: Re: Das Rad dreht sich... (Feuerwehr, 30. Jul 1998, 21:14:20):
~#! rn=Feuerwehr rt=901823374 rg=gilden.chaos
~#! tid=901821369
Ok, wir kriegen diese Rubrik voll...

Hi.

Alles wird anders, niemand bleibt verschont, nicht einmal ...

Wuqour. Unser gutes Arbeitstier forderte bessere Arbeitsbedingungen. 
Ich habe sie ihm zugebilligt. Ihr seid boesartige ChaoskriegerInnen.
Nur weil man sein Augenlicht verloren hat dauernd zu Wuqour su rennen,
ist doch weit unter Wuqours Wuerde.

Feuerwehr. Chaos Chaos Chaos.

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



Re: Re: Das Rad dreht sich... (Gando, 30. Jul 1998, 22:30:42):
~#! rn=Feuerwehr rt=901823374 rg=gilden.chaos
~#! tid=901821369
Ja .. seht nur ihr Chaoten

Und das alles nur, weil ich 112 damals, also vor vielen vielen Jahren zum
Magierdasein ueberredet habe.

Also seid mir hold und bringt obfergaben zu /player/gando/workroom un
natuerlich eine Jungfrau monatlich. Und ich werde euch weiterhin mit meiner
Weisheit beschuetzen.

Gando -> lang lebe das Chaos

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



Re: Re: Das Rad dreht sich... (Teddy, 31. Jul 1998, 01:22:15):
~#! rn=Feuerwehr rt=901823374 rg=gilden.chaos
~#! tid=901821369
gepriesen seist du, finsterer Mitherrscher des Boesen.

Gut das ich den Spell noch nie geuebt hab ;)

Teddy

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



Re^3: Das Rad dreht sich... (Teddy, 31. Jul 1998, 02:19:07):
~#! rn=Feuerwehr rt=901826060 rg=gilden.chaos
~#! tid=901821369
Argl, das entblinden ist offensichtlich nicht die einzige Aenderung, nur so
als kleine Warnung.

Teddy

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



Re: Das Rad dreht sich... (Key, 31. Jul 1998, 09:54:56):
~#! rn=Feuerwehr rt=901821369 rg=gilden.chaos
~#! tid=901821369
Danke Danke 112 :)

Gut das ich finsternis noch net geuebt hab =;)

Key, erster Vorsitzender des Chaosrates sucht immernoch seinen Gildenraum :)
,

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



Re: Re: Das Rad dreht sich... (Key, 31. Jul 1998, 09:55:47):
~#! rn=Feuerwehr rt=901823374 rg=gilden.chaos
~#! tid=901821369
Hmm naja mit 2 min. kann ich mich abfinden ,)

Key, erster Vorsitzender des Chaosrates :)

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



Re: FUERCHTET EUCH! FUERCHTET EUCH _SEHR_! (Ira,  1. Aug 1998, 17:46:50):
~#! rn=Feuerwehr rt=901571883 rg=gilden.chaos
~#! tid=901571883
Hmm, kriegen wir zu den Aenderungen wenigstens Manpages, die Up-to-Date
sind?

Ira bleibt.

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



artikel Weiter gehts... (Tilly,  3. Aug 1998, 00:41:53):
Moin moin,
unsere Chaos-Daemonen haben nun, ihrer Natur entsprechend, Resistenzen bzw.
Anfaelligkeiten. Ausserdem ist es nicht ratsam, dem kleinen feurigen
naeherzukommen. Das ist natuerlich noch nicht alles, aber die Freude goenn ich
mir (und Euch) erst morgen.
Tschau,
             Tilly

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



Re: artikel Weiter gehts... (Morgoth,  3. Aug 1998, 00:42:45):
~#! rn=Tilly rt=902097713 rg=gilden.chaos
~#! tid=902097713
Ach deshalb hat Intarbir eben so gebuggt ;-)
M*

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



artikel ... und weiter (Tilly,  3. Aug 1998, 02:00:22):
Sooo, 
noch ne kleine Aenderung. Verlasst Euch bei Intarbir nichtmehr auf seine
Einschaetzungen was Resistenzen/Anfaelligkeiten Eurer Opfer anbelangt. Er hat
da wohl einiges vergessen worden. 
Tschuess,
               Tilly

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



Re: artikel ... und weiter (Key,  3. Aug 1998, 09:39:44):
~#! rn=Tilly rt=902102422 rg=gilden.chaos
~#! tid=902102422
Aehm
Also das muss doch wohl echt net sein :(
Wozu kann ich meinen Schaden meines Angriffs wechseln wenn ich keine Ahnung
hab gegen was mein Gegner empfindlich ist?
Wozu sollte ich dann ueberhauptnoch Intarbir benutzen?

Sorry aber das finde ich nen bisserl beknackt ...

Key, erster Vorsitzender des Chaos-Rates stimmt dagegen

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



Re: Re: artikel ... und weiter (Jasonrigid,  3. Aug 1998, 09:58:59):
~#! rn=Key rt=902129984 rg=gilden.chaos
~#! tid=902102422
Etwa so beknackt, wie wenn in ZUkunft vermurlich jedes 08/15-Monster das
Trves-Schaetz abwehren wird, weils jetzt ein Zauber ist ... ?

Jason, uebertreibend, findet es aber auch daneben

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



Re^3: artikel ... und weiter (Boing,  3. Aug 1998, 10:02:35):
~#! rn=Jasonrigid rt=902131139 rg=gilden.chaos
~#! tid=902102422
Das bezweifel ich, die Monster die ein 'schaetz' abwehren (egal von wem)
werden wohl eine verschwindende Minderheit bleiben.
  Boing

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



Re^4: artikel ... und weiter (Jasonrigid,  3. Aug 1998, 10:25:39):
~#! rn=Boing rt=902131355 rg=gilden.chaos
~#! tid=902102422
Na, nicht, wenn man das den Magiern selber ueberlaesst. Ich habe schon
tierisch gelacht, als vorhin eine Dunkelelfenwache mal spontan meinem
Waffenschlag ausgewichen ist, mit Finte davor und die habe ich auf 100, bzw
95. Find ich auch ein bisschen unsachlich.

Jason, haette nix gegen eine NPC-Balance

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



Re^5: artikel ... und weiter (Morgoth,  3. Aug 1998, 10:32:06):
~#! rn=Jasonrigid rt=902132739 rg=gilden.chaos
~#! tid=902102422
Na super,
NPC-Balance gut und schoen, aber wer soll das denn bitteschoen noch machen?
Also wenn ich auch noch fuer jeden NPC eine Mail / einen Antrag ans
Balance-Team schicken muesste, dann haette ich zwischenzeitlich so viel Zeit,
dass ich meine Raeume sogar mit Details ausstatten koennte.
Aber mal im Ernst, es ist schon bei Waffen und Reustungen schwierig, sie fuer
alle Gilden einzuschaetzen. Es gibt immer mal irgendwo eine Aenderung und
schon wird aus einer Handgranate eine Atombombe (**aus Erfahrung grins**). Das
jetzt auch noch auf NPCs umzusetzen halte ich fuer fast ummoeglich. 
Deshalb:
FUER: gesunden Menschenverstand
GEGEN: NPC-Balance

Morgoth

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



Re^6: artikel ... und weiter (Feuerwehr,  3. Aug 1998, 17:49:33):
~#! rn=Morgoth rt=902133126 rg=gilden.chaos
~#! tid=902102422
Hi!

Ich moechte nur anmerken, dass Intarbir natuerlich sich natuerlich nicht durch
irgendwelche komischen Spelldefends von seinen Befehlen abbringen laesst.

Leider ist unser kleiner Liebling aber etwas kurzsichtig geworden und sieht
nicht mehr so viel wie vorher... Dafuer gehoert er zwar getreten, aber so
isses halt.

Feuerwehr (meint: Nur ein boeser Chaot ist ein guter Chaot.)

P.S. Hey Tilly, sie fangen an. Lass uns uns an ihrem Klagen ergoetzen...

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



Frauen.... *seufz* (Tilly,  3. Aug 1998, 17:57:54):
Nunja, 
das was ich immer befuerchtet habe ist eingetreten: Bhuturih ist
groessenwahnsinnig geworden und findet jetzt nur noch unter bestimmten
Vorraussetzungen. Welche das sind sollte nicht schwer sein, immerhin ist sie
ne Frau... >:)
Jammert mal ein bisschen, ich komm mir so einsam vor 
                                                        Tilly

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



Unsere Daemonen... (Tilly,  4. Aug 1998, 01:58:35):
... sind dann doch noch lernfaehig. Lest dazu bitte das chaosinfo und bedankt
Euch bei Sting.
Gruss,
              Tilly

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



Re^6: artikel ... und weiter (Teddy,  4. Aug 1998, 12:23:53):
~#! rn=Morgoth rt=902133126 rg=gilden.chaos
~#! tid=902102422
Wie jetzt, das Balanceteram arbeitet langsam?
Zur Zeit genehmiugt es sogar Sachen, die nichtmal beantragt sind ;)


Teddy

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



Re^6: artikel ... und weiter (Silvana,  4. Aug 1998, 12:41:27):
~#! rn=Morgoth rt=902133126 rg=gilden.chaos
~#! tid=902102422
Eine NPC-Balance sollte meiner Meinung nach auch nicht jeden NPC
einzeln abnehmen muessen sondern von den RMs um Rat gefragt werden
koennen, wenn kritische Faelle auftauchen und von Spielern als 
offizielle Anlaufstelle fuer Anregungen zur Ueberpruefung von
NPCs genutzt werden koennen.
Im Allgemeinen ist es natuerlich Aufgabe des RMs darauf zu achten, dass
NPCs nicht zu reinen Todesfallen werden.
Trotzdem halte ich ein paar Obergrenzen in Bezug auf Angriffsstaerke,
Sonderangriffe, etc fuer dringend noetig. Einiges, was so an NPCs 
rumsteht halte ich jedenfalls fuer gelinde gesagt _sehr_ fragwuerdig.

Der Haken an der Sache ist nur, dass das jemand machen muesste, der
sich mit der Kampfstaerke der Spieler von Objekt- und Gildenseite
halbwegs auskennt... *sigh*

Daher: FUER gesunden Menschenverstand UND NPC-Balance. :)

  Silvana

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



Intarbir (Tilly,  5. Aug 1998, 18:12:05):
Moin moin,
die Meldungen bezueglich Anfaelligkeiten, Resistenzen und Staerke eines Opfers
sind nun anders, da Intarbir sie etwas groeber einschaetzt als zuvor. Damits
da zu keinen Verwirrungen kommt...
Gruss,
                 Tilly

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



Und nochmal Daemonen... (Tilly,  7. Aug 1998, 01:56:23):
Moin auch,
endlich gibts den langangekuendigten neuen Daemonen. Hoffentlich koennt Ihr
was mit anfangen.
Gruss,
                 Tilly

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



Re: Und nochmal Daemonen... (Tilly,  7. Aug 1998, 02:09:06):
~#! rn=Tilly rt=902447783 rg=gilden.chaos
~#! tid=902447783
...aehmm. Bevor ich es vergesse und so: Mehr im chaosinfo, bei Bugs und
anderen Fehlern ruhig bleiben.
Nicht das ich mit sowas rechne, aber naja ... >:)
Tilly

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



Re: Re: Und nochmal Daemonen... (Teddy,  7. Aug 1998, 04:23:19):
~#! rn=Tilly rt=902448546 rg=gilden.chaos
~#! tid=902447783
Netter Daemon, koennte man ihn evtl. auch etwas laenger halten wenn er nur
einschaetzt und nicht konkretes macht?

Teddy

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



Re: Re: Und nochmal Daemonen... (Tilly,  7. Aug 1998, 10:29:24):
~#! rn=Tilly rt=902448546 rg=gilden.chaos
~#! tid=902447783
Jo, ist machbar. Bau ich nachher mal ein.

- Tilly -

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



Bibliothek (Tilly,  7. Aug 1998, 16:25:03):
Nochmal moin,
aus gegebenem Anlass weise ich darauf hin, dass die Bibliothek nicht auf dem
neuesten Stand der Dinge angeht. Durch die allgemeine Anpassung der Gilden hat
sich auch bei uns sehr viel veraendert und es wird etwas dauern, bis ich diese
Informationen dort erneuert habe. Zu wichtigen Neuerungen lest bitte
'chaosinfo'.
Gruss,
             Tilly

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



Re: Und nochmal Daemonen... (Asmodis,  9. Aug 1998, 17:55:12):
~#! rn=Tilly rt=902447783 rg=gilden.chaos
~#! tid=902447783
Ich dachte, mit Tilly haettet ihr schon einen neuen Daemon :-)

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



Chaosruestung (Tarbos, 10. Aug 1998, 02:58:00):
Moin.
Ich faends eigentlich ziemlich gut^H^H^H boese und gemein, wenn bei einem
misslungenen "verbanne chaosruestung" der Ruestungsdaemon wild wuerde.
Schliessslich passt es den anderen Daemonen auch nicht gerade, wenn man sich
ihrer entledigen will.  ;)

Chaotisch, Tarbos

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



Re: Re: Und nochmal Daemonen... (Tunixgut, 10. Aug 1998, 13:05:05):
~#! rn=Asmodis rt=902678112 rg=gilden.chaos
~#! tid=902447783
Eben beim lesen:
Ich dachte, mit Tilly haettet ihr schon einen neuen Daemon :-)
Christobal Sesvic' weint leise.

Kein Kommentar...
TuNixGut -> Schmarrn...

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



Re^7: artikel ... und weiter (Ira, 21. Aug 1998, 11:33:52):
~#! rn=Silvana rt=902227287 rg=gilden.chaos
~#! tid=902102422
Tach mal wieder!
Alswo, kann man die NPCs nicht einfach etwas klassifizieren?
So nach dem Motto, <Laecherliches Insekt>, <Raubtiere>, <Humanoid>, 
<Riesenhaft>, <monstroes> (Schwachsinige Beispiele, ich weiss, aber es sind
nur dumme Beispiele) und dafuer Grenzbereiche festlegen. Wuerde fuer die
Mags die Uebersichtlichkeit erhoehen und man koennte sowas besser einordnen.
Ich meine, ich finde es schon schwachsinnig wenn ein Dunkelelf zur Zeit eher
in die klassifizierung <Monster> mit <gildenfaehigkeiten jenseits des vor-
stellbaren> rumlaeuft. (Ja, ich weiss, ist 'ne Uebertreibung) Trotzdem sollte
man irgendwie einen Bezug zwischen Darstellung und Gefaehrlichkeit herstellen
und der ist nun wirklich manchmal verlorengegangen...

Ira.


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



Nachtsicht (Feuerwehr, 23. Aug 1998, 17:00:09):
Hi!

Gerade ging eine super Party in Muenster zuende!
Es war wirklich wie immer eine gelungene Sache von diesem eingespielten
muensteraner Organisatoren-Team, super gemacht!

Etwas regnerisch wars zwar, und etwas kalt nachts .... nicht dass das
einem Chaoten etwas ausgemacht haette. Ha! Die rauhen Elemente der Natur 
gehoeren zu unseren groessten Verbuendeten! Wir sind harte Krieger und
benutzten die Zelte nur, um anwesende Warmduscher nicht voellig zu ver-
schrecken. Ihr wisst das. Gut.

Wo war ich? Ah. Auf derartigen Parties werden immer wieder Dinge gesagt,
und wegen dieser gesagten Dinge muessen Gildenmagier abschaetzende, leicht
belustigte Blicke von Balance-Erzmagierinnen hinnehmen und sich nach den
besagten Parties an ihre Gilden setzen und sich fragen, wieso das bis jetzt
noch keinem aufgefallen ist.

Auf jeden Fall hat sich (als erstes mal) Nachtsicht geaendert, und jeder, 
der die Aenderung bemerkt, der sollte sich bitte bei mir melden, damit 
ich ihm seinen Skill loesche.

    Feuerwehr. Chaos Chaos Chaos.

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



Re^8: artikel ... und weiter (Ark, 24. Aug 1998, 19:05:06):
~#! rn=Ira rt=903692032 rg=gilden.chaos
~#! tid=902102422
Hihi, solange da unterschiedliche Magier mit unterschiedlichen Hintergruenden
(zeitlicher Art, was im Mud gerade so an 'Kampfmoeglichkeiten' besteht) und
unterschiedlichen Vorstellungen dransitzen, ist das eher ein Wunschtraum.
Welche Orks haettest Du denn gerne: die aus dem Orklager im Polar oder die in
Vland (nicht mal ParaVland). Ist auch mit grossem Widerstand aller Magier
(including me) zu rechnen, was Grenzwerte fuer Monster mit bestimmten Namen
betrifft.
Dafuer gibt es ja Moeglichkeiten, die Monster einzuschaetzen. Okok, is nur ein
bedingter Trost. Aber gegen Grenzwerte fuer so Npcs, nene, nich mit mir.


              *** ARK * the * Magnificent ***


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



Ombatis (Swift,  2. Sep 1998, 01:13:13):
An unsere finsteren Krieger des Chaos (sowie alle anderen Kreaturen dieser
Welt):

Schon seit Urzeiten hatten die Chaoten Mittel und Wege, den Mitgliedern
anderer Gilden das Fuerchten zu lehren. Wer kennt nicht den gemeinsten unserer
Daemonen, die Nervensaege aller Nervensaegen?

Ja, es geht um Ombatis, der uns vor einiger Zeit aufsuchte und sich beklagte,
nicht mehr soviel Aufmerksamkeit von seinen 'Kunden' zu bekommen wie frueher.

Ein altgedienter Daemon wie Ombatis hat so eine Behandlung einfach nicht
verdient, als Daemon _muss_ er schliesslich boese und gemein sein, das ist
sein Job!

Nuja er ist bei mir eine Weile in die Lehre gegangen und ich glaub, er hat da
doch noch einiges gelernt :)))

Viel Vergnuegen wuensch ich also..... Ombatis :)

Swift - der in naechster Zeit wohl nur invis kommt :)

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



Re: Chaos ;) (Zarniya,  2. Sep 1998, 08:58:06):
~#! rn=Teddy rt=904691975 rg=schmarrn
~#! tid=904691975
Hi, 

ich will ja nicht mosern, denn ich kenn nur die EINE Meldung von Ombatis, die
Teddy gepostet hat, ABER ich weiss auch, wie Zardoz ueber Rollenspiel denkt
und das ist aehnlich wie meiner einer. 

Ich hab hier ja nix zu entscheiden, aber das schoene an den Sachen von Zardoz
war, dass sich alles in eine Fantasywelt anpasste. Wenn nu Ombatis das Wort
"Gildenlevel" in den Mund nimmt, dann find ich das arg daneben. Sicherlich ist
der Sinn der Aussage ok, aber muss man das denn so ausdruecken? Dann koennte
Ombatis gleich mit Skillwerten und Prozenten um sich werfen. 

Was will ich damit sagen? Naja... also ich faende es stimmiger, wenn Ombatis
an der von Teddy geposteten Stelle sowas wie "Bin ich Lebensmuede????? Ich leg
mich doch nicht mit Quick an, der reisst mir den Kopf ab." oder aehnliches. 

Mal abgesehen davon, dass ich mich wundere: Ombatis sollte eigentlich, weil ER
ja rumnervt, den Level des Opfers mit seinem eigenen vergleichen und nicht mit
dem des Auftraggebers... Find ich eigentlich logischer. Also ich an Ombatis
Stelle (jaja, ich weiss, dass ich auch so nerve) wuerd mich einen Dreck um den
Level des Auftraggebers kuemmern. Es geht schliesslich um MEINE Daemonenhaut.
:)

Zarniya, mosert, aber argumentativ.

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



Aufgepasst (Feuerwehr,  3. Sep 1998, 19:28:09):
Hi!

Es kommen immer wieder mal Chaoten, die wollen Dinge an der Chaosgilde
geaendert haben.

Sowas finden wir natuerlich total bloed und muessen dementsprechend hart
bestrafen. Ok. Wuqour hat sich in den Kopf gesetzt, doch etwas mehr
Gildenflair in seine Arbeit mit einzubringen. Mit viel Freude nutzt er nun all
die Nadeln, Kettensaegen und Wattebaellchen, die ihm die Chaosmagier zur
Verfuegung gestellt haben.

Seid also aeussert vorsichtig und ueberholt hoechstens links.

   Feuerwehr.

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



Und das soll ein CHAOT sein????? (Morgoth,  7. Sep 1998, 09:17:48):
Also Euer 112er ist ja immer so der absolut obercoole und boese. Dann werd ich
jetzt mal euer Weltbild zerstoeren mit einem kleinen Auszug aus dem
Kleriker-Trauungs-Logfile ;-))
Am Son,  5. Jul 1998 wurden Puk und Laranis von Koomi getraut.
Als Trauzeugen fungierten Vampire und Feuerwehr.
Ort der Trauung: Die Traukapelle der Nibelungen.

Morgoth grinst oberdaemonisch mies

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



Re: Und das soll ein CHAOT sein????? (Aline,  7. Sep 1998, 10:03:52):
~#! rn=Morgoth rt=905152668 rg=gilden.chaos
~#! tid=905152668

Wieso soll damit das Weltbild der Chaoten zerstoert sein?
Ok, so eine Trauung ist ja eine recht niedliche Sache (leider geworden,
frueher ging es da wirklich total chaotisch zu mit PK und allen drum
und dran *schwelginErinnerungen, also eigentlich genau das richtige fuer
Chaoten :) ), AAABBBEEER
so eine Ehe ist doch so ziemlich das Gemeinste und Boesartigste, was man
sich denken kann. Da werden 2 Personen aneinandergefesselt und
koennen sich das Leben so richtig schoen vermiesen....
Wieso sollte 112 keine Freude daran haben zwei Leute ins Unglueck zu stuerzen?

Aline daemonisch grinsend

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



Re: Und das soll ein CHAOT sein????? (Koomi, 10. Sep 1998, 23:17:55):
~#! rn=Morgoth rt=905152668 rg=gilden.chaos
~#! tid=905152668
Och, die Trauung war doch ganz nett, ich hab mir sogar Muehe gemacht, etwas
Stimmunt einzubringen.

Was 112 betrifft: Lass ihn doch auch mal Trauzeuge sein. Oder bist du das ihm
neidig, Morgoth? *g*

Koomi der Ex-Priester Lembolds.

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



Erzmeisterkampf (Feuerwehr, 13. Sep 1998, 19:05:49):
OK!

Meine sehr verehrten Chaotinnen und Chaoten, der Erzmeisterkampf wurde etwas
ueberarbeitet. Passt eure vollautomatischen Kampfscripte bitte dementsprechend
an.

War da noch was? Ah, genau. Swift meint, ich sollte euch warnen. Naja. Seid
gewarnt. Wer hier mit eingerissenem Fingernagel weinend aus der Arena flieht,
der verhaelt sich nicht angemessen. In diesem Fall werden wir ihn
disziplinieren.

Hart.

    Feuerwehr.

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



Ombatis - oder Wie kille ich Zauberer (Sorcerer, 19. Sep 1998, 23:43:38):
~#! on=Sorcerer ot=906241297 og=gilden.kaempfer
Ein kurzer Report aus dem Leben eines Zauberers, der Ombatis kennenlernte.
Gestern hat mir so ein Chaot einen Ombatis "vermacht". Leider ist bei dessen
Programmierung wohl nicht bedacht worden, dass Zauberer aufgrund zu vieler
missglueckter Zaubersprueche manchmal wahllos irgendwas in Reichweite
angreifen. Genau das ist passiert - ich habe UNFREIWILLIG Ombatis mehrmals
angegriffen und kurz drauf konnte ich Tod und Lars bei einem Gespraech ueber
mich beobachetn :-( .
Das sollte UNBEDINGT geaendert werden, da ansonsten Chaoten u.U. ohne es zu
wollen Zauberer umbringen koennen...

Auf der Suche nach dem ultimativen Daemonen-Vernichtungsspruch...
Sorcerer


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



Re: Ombatis - oder Wie kille ich Zauberer (Gloinson, 19. Sep 1998, 23:46:52):
~#! rn=Sorcerer rt=906241418 rg=gilden.chaos
~#! tid=906241418
Hmmm ... hat der nicht so eine kleine Sperre, dass man ihn nicht selbst
angreifen kann? Schaetzungsweise ein kleines if enem==nerv oder so?
Also kannst Du nur anderer Leute Ombatis angegriffen haben ... und das
faellt unter: Tja, zu schnell gescriptet bzw. nicht weggelaufen.
Andernfalls: Bitte Ombi debuggen ... und noch ein paar Sprueche drauf :)

Gloin

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



Re: Re: Ombatis - oder Wie kille ich Zauberer (Sorcerer, 20. Sep 1998, 00:38:12):
~#! rn=Gloinson rt=906241612 rg=gilden.chaos
~#! tid=906241418
Ich verwende KEINE Skripte (nein, nicht mal Wegscripte) und es war der
Ombatis, der mir von einem Chaoten uebergeben wurde.... ALSO : DEBUGGEN!!!!

Sorcerer


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



Re^3: Ombatis - oder Wie kille ich Zauberer (Sting, 20. Sep 1998, 10:04:46):
~#! rn=Sorcerer rt=906244692 rg=gilden.chaos
~#! tid=906241418
Also erstens mal: Ich hasse es wie die Pest, wenn immer gleich in der MPA
gelaestert wird, warum schreiben die Leute nicht einfach ne kleine Mail an die
betreffenden Magier? Und wenn man nicht weiss wer der zustaendige ist, dann
informiert man sich  halt, das duerfte ja wohl kein Problem sein, oder ?
Zweitens: Ich glaube irgendwie nicht das du DEINEN Ombatis angegriffen hast,
das sollte wirklich unmoeglich sein, wenn doch, dann ist das das bald
geaendert, keine Sorge.


Sting, Flamewar-Hasser

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



Re: Ombatis - oder Wie kille ich Zauberer (Swift, 20. Sep 1998, 15:05:32):
~#! rn=Sorcerer rt=906241418 rg=gilden.chaos
~#! tid=906241418
Nun Ombatis wurde natuerlich nicht geschaffen um Spieler zu killen, dafuer
haben wir andere, fiesere Methoden. Ombatis sollte rel. harmlos sein.
Natuerlich darf er sein Opfer etwas runterhauen aber ein Kill ist ihm nicht so
ohne weiteres moeglich.
Mir faellt dazu ueberhaupt nur eine einzige Moeglichkeit ein: Wenn man es
(gewollt oder ungewollt) schafft, sich Ombatis' Verfolgung fuer kurze Zeit zu
entziehen - dann ist Ombatis bei einem Angriff natuerlich ein normaler Feind.
Naja ab sofort wird er darauf achten und den Angreifer dann _sofort_ wieder
verfolgen, um ihn mit seinen geistigen Erguessen zu erfreuen :)

Nichtsdestotrotz ist und war es ein _Kunststueck_, von Ombatis getoetet zu
werden, wenn man sein Opfer ist! Ob Du da drauf aber stolz sein kannst? :)

Ums mit 112's Worten zu sagen: BOESE BOESE BOESE

Chaos rulez!!! :)
                swift

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



Re^4: Ombatis - oder Wie kille ich Zauberer (Lug, 20. Sep 1998, 15:28:30):
~#! rn=Sting rt=906278686 rg=gilden.chaos
~#! tid=906241418
Buuuuuh Sting,

Flames machen Laune! Also immer drauf ;)

FidKG
Lug

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



Re^4: Ombatis - oder Wie kille ich Zauberer (Sorcerer, 21. Sep 1998, 01:56:28):
~#! rn=Sting rt=906278686 rg=gilden.chaos
~#! tid=906241418
Hi Sting.

Ich glaube nicht, dass mein Artikel in irgendeinerweise unhoeflich geschrieben
war, also solltest Du Dich bei Deiner Antwort auch etwas an einen normalen Ton
halten.
Ausserdem - wenn des dem zustaendigen Magier nicht passt, wenn ich andere auch
auf einen Bug aufmerksam mache, sollte er das mit mir PERSOENLICH klaeren. Ich
glaube Swift kann gut fuer sich alleine reden und er hat sich bisher noch
nicht bei mir beschwert.

Sorcerer


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



Re^5: Ombatis - oder Wie kille ich Zauberer (Teddy, 21. Sep 1998, 04:30:36):
~#! rn=Sorcerer rt=906335788 rg=gilden.chaos
~#! tid=906241418
btw., was heisst eigentlich vom Chaoten uebergeben wurde? Darf man daraus
schliessen, das du ihn zum Ueben missbraucht hast und dich jetzt darueber
beschwerst, dass er dich gekillt hat?

Im uebrigen gebe ich Sting recht, sprich den Magier der dafuer zustaendig ist
persoenlich oder per Mail jedenfalls direkt an, ist die elegantere Methode.

Die Art wie du es geschrieben hast, ist jedenfalls IMHO ziemlich unergiebig
zum debuggen, falls es ein Bug war.
Ansonsten kann Paranoia insgesamt uebel enden.

Teddy

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



Re: Ombatis - oder Wie kille ich Zauberer (Key, 21. Sep 1998, 10:55:34):
~#! rn=Sorcerer rt=906241418 rg=gilden.chaos
~#! tid=906241418
Sicher das es unser Ombatis war?

Key

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



Re: Re: Ombatis - oder Wie kille ich Zauberer (Feuerwehr, 21. Sep 1998, 10:58:22):
~#! rn=Key rt=906368134 rg=gilden.chaos
~#! tid=906241418

Doch, doch Key.

Sorcerer hat sich mit ende ausgeloggt, eingeloggt und sich sofort wieder mit
toete Ombatis auf ihn gestuerzt. Da hat der Kerl doch glatt 1-2 mal
zurueckgehauen.

Aber damit ist ja jetzt schluss. :-(

   Feuerwehr.

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



Re^3: Ombatis - oder Wie kille ich Zauberer (Key, 21. Sep 1998, 10:59:57):
~#! rn=Feuerwehr rt=906368302 rg=gilden.chaos
~#! tid=906241418
Wie Schluss?
Nix da, wenn man so bloede ist dann hat mans verdient ... und Zauberer eh!
Ich plaediere fuer Ombatis Schuldigkeit, und somit darf er als Belohnung alle
toeten die er will! .)

Key

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



Re^4: Ombatis - oder Wie kille ich Zauberer (Gando, 21. Sep 1998, 11:11:30):
~#! rn=Key rt=906368397 rg=gilden.chaos
~#! tid=906241418
Ach .. was soll das. Als ich noch elender Zauberer war hab ich im Wahn
Llystrathe angegriffen. Die machte dann wenisgtens kurzen prozess ;)
Aber jetzt bin ich darueber erhaben.

Gando -> geht jetzt mit Ombatis kuscheln.

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



Bibo (Tilly, 14. Okt 1998, 22:40:09):
Moin Chaoten,
ich hab gestern mal die Bibo auf Vordermann gebracht. Durch die Anpassung der
Gilden hat es ja einige Aenderungen gegeben und die Dokumente waren zu
aktualisieren. Dies ist geschehen.
                                  Die Chaos-Tante

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



Re: Bibo (Lug, 24. Okt 1998, 00:57:54):
~#! rn=Tilly rt=908397609 rg=gilden.chaos
~#! tid=908397609

Waaas?

Was hast Du mit Bibo gemacht? Und ausserdem: Bibo ist ein ER!

Kopf schuettelnd
Lug

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



Ha! (Hera, 28. Okt 1998, 21:08:10):
Ha!

> Fender teilt Dir mit: Haettest Du nicht Lust, mich zu leutern???

Na also...Klerus rules und breitet seine Macht aus!

Hera

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



Re: Ha! (Dieder, 28. Okt 1998, 21:09:33):
~#! rn=Hera rt=909608890 rg=gilden.chaos
~#! tid=909608890
Fender du Abtruenniger!!! Moege Lembold Dich mit ewiger Leuterung bestrafen!!!

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



*lach* (Hera, 28. Okt 1998, 21:12:40):

Fender teilt Dir mit: ohhh, da faellt mir auf, dass ich laeutern immer falsch
Fender teilt Dir mit: geschrieben habe!

Was sagt man dazu...???
Was sagt man dazu...???

Sorry Fender..nix gegen Dich persoenlich...muss an der Gilde liegen...;)

Hera

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



Re: *lach* (Fender, 28. Okt 1998, 21:28:36):
~#! rn=Hera rt=909609160 rg=gilden.chaos
~#! tid=909609160
Wenn ich jetzt kein Chaot waere wuerde ich mich glatt fuer den Mist
entschuldigen...
Aber eine kleine Erklaerung waere wohl angebracht: Ich durfte weder satanisch
noch boese sein, um ins Weisenhaus reinzukommen!!!
ich gebe mir dannach aber allergroesste Muehe, wieder schnell satanisch zu
werden!!!

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



CHAOS RULEZ (Dieder, 30. Okt 1998, 02:32:06):
So, das muss ich einfach mal loswerden...
Zeit ist 3:29 morgens

kwer gilde kleriker
   Liste der Mitspieler vom Fre, 30. Okt 1998, 03:30:02 (0 Teilnehmer)


(leer, wie sogar ein Hobbit oder Zwerg bemerken wird... :-)))

kwer gilde chaos

   Liste der Mitspieler vom Fre, 30. Okt 1998, 03:30:40 (7 Teilnehmer)

Sabrina..........s Niteman..........s Fryder...........S Kerbenog.......J.S
Drdeath..........S *Dieder..........S Bierchen.........R


ich sach ja: CHAOS RULEZ, Weicheier/Warmduscher/Schattenparker/Sitzpinkler
etc. in die Klerikergilde!!!
(ach, da sind selbige ja schon *grins*)

FidKG,
Dieder


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



Re: CHAOS RULEZ (Neb, 30. Okt 1998, 07:39:39):
~#! rn=Dieder rt=909714726 rg=gilden.chaos
~#! tid=909714726
Es heisst ja auch "kwer gilde klerus", Du Depp, mit "kwer gilde kleriker"
kriegste selbst nachmittags um 16 Uhr keinen Kleriker auf den Bildschirm ;)

Neb, wirft mit einem "kwer gilde Chaoten" nach Dieder, da ist auch nix zu
sehen....

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



Re: Re: CHAOS RULEZ (Dieder, 30. Okt 1998, 13:05:01):
~#! rn=Neb rt=909733179 rg=gilden.chaos
~#! tid=909714726
Hab ich beides getippt, du Warmduscher, und es kam beidesmal NIX!
Also sorry wenn ich die falsche Variante gepostet habe, aber von Euch
Betbruedern war definitiv keiner da - is auch besser so :-)

Dieder

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



bhuturih (Bierchen, 11. Nov 1998, 06:24:18):
moin,
bei bhuturih gabs noch an einigen stellen bugs, die zwar zum teil angenehm
waren, zumindest aus chaossicht }:) aber jetzt zum grossteil raus sein
sollten. sollte noch irgendwo der wurm drin sein.. ich schaue mir die
restlichen daemonen auch noch an...und speziell bhuturih, wenn diese..
schlampe haette ich fast gesagt... nochmal buggt, drehe ich sie durch den
fleischwolf...
gruss,
       - Bierchen -

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



MMQ mal wieder (Clementine,  2. Dez 1998, 20:58:04):
Moin moin,
wieder einmal hat sich etwas bei der MMQ geaendert. Durch den ploetzlichen und
unwiderbringlichen Tod des Todesdrachen wurde es notwenig, ein neues Opfer
fuer die strebsamen Chaoten zu finden. Dies ist hiermit geschehen. Wenn einer
von euch einen alten Ring besitzt, sprecht bitte Bierchen, Feuerwehr oder mich
an. Die Quest ist auch nach der Aenderung und mit altem Ring machbar.

i.V. Clementine

p.s.: An alle die die MMQ schon haben: Erschreckt nicht wenn ihr Kruuolq
fragt, ich hab mir nen kleinen Scherz erlaubt >:)

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



Re: artikel MMQ mal wieder (Feuerwehr,  2. Dez 1998, 20:59:06):
~#! rn=Clementine rt=912632227 rg=gilden.chaos
~#! tid=912632227
Hi!

Ich moechte hier nur alle Geruechte zerstreuen, eine Bande wilder Testies
haette die Chaosgilde uebernommen. Wir haben wie immer alles fest im Griff.
Aeh.

Gruesse...

   Feuerwehr.

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



Re: Re: artikel MMQ mal wieder (Aktie,  7. Dez 1998, 06:50:39):
~#! rn=Feuerwehr rt=912632346 rg=gilden.chaos
~#! tid=912632227
huch,
also, fast vergessen, die finsternis wurde etwas debuggt. erwartet also nicht,
dass sie in der neuen feuerebene an bestimmten stellen noch so wirkt, wie
gewohnt.. *grins 112 unschuldig an*

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



Graiop verschwindet in einer Feuerexplosion (Puk,  8. Dez 1998, 16:25:58):
Du beschwoerst unheimliche Kraefte und oeffnest so ein Tor in andere Welten.
Graiop erscheint in einem Meer aus Flammen.
Graiop verschwindet in einer Feuerexplosion.


und das ganze innerhalb von 8 sekunden und 4 mal hintereinander....wie sollman
den dawas mit anfangen koennen


Puk (grummelt)

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



Resistenzen bei Chaos-Elfen (Boing, 10. Dez 1998, 17:10:35):
Dieser Artikel betrifft NUR Chaos-Elfen!

Der Bug mit den vertauschten Resistenzen bei Chaos-Elfen sollte jetzt
behoben sein. Also mal ende machen und einschaetzen. 
  Boing

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



Re: Resistenzen bei Chaos-Elfen (Acrimon, 10. Dez 1998, 17:31:46):
~#! rn=Boing rt=913309835 rg=gilden.chaos
~#! tid=913309835
Bei Chaoten sind Bugs Features, vor allem wenn es um Vertauschungen geht!
Beheben ist unchaotisch.

Acrimon, der Rote Ritter

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



Re: Resistenzen bei Chaos-Elfen (Key, 15. Dez 1998, 13:00:28):
~#! rn=Boing rt=913309835 rg=gilden.chaos
~#! tid=913309835
Danke oh Goettlicher Opa ;)

Key

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



Re: Re: Resistenzen bei Chaos-Elfen (Jasper, 16. Dez 1998, 04:55:41):
~#! rn=Key rt=913726828 rg=gilden.chaos
~#! tid=913309835
hmm ist er nicht dein ururopa? :)

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



Daemonen vs Team? (Tilly, 13. Jan 1999, 19:39:15):
Moin Chaoten,
da ihr sicher wissen moechtet, weswegen die Daemonen sich weigern im Team zu
kaempfen, habe ich beim 'chaosinfo' mal eine hoffentlich ausfuehrliche und
verstaendliche Erklaerung geschrieben. Bitte lest es Euch durch!

Mit chaotischem Gruss, 
                              - Tilly -

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



Re: Daemonen vs Team? (Key, 15. Jan 1999, 19:28:05):
~#! rn=Tilly rt=916256355 rg=gilden.chaos
~#! tid=916256355
Du hast was vergessen hinzuzufuegen.
Jedwege Vorschlaege wie man es anderst machen kann werden abgewuergt.
Und man darf ueberraschend feststellen das man auf nette Art und Weise darauf
hingewiesen wird das man still sein darf.

Key

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



Re: Re: Daemonen vs Team? (Bierchen, 15. Jan 1999, 19:37:55):
~#! rn=Key rt=916428485 rg=gilden.chaos
~#! tid=916256355
Hiho,
Key, du darfst jetzt still sein.
 - Bierchen -

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



Re: Re: Daemonen vs Team? (Feuerwehr, 17. Jan 1999, 21:31:15):
~#! rn=Key rt=916428485 rg=gilden.chaos
~#! tid=916256355
Hi!

Das Problem bei Chaoten scheint zu sein, dass sie nicht zuhoeren. Sie lassen
den Text an sich vorbeilaufen und suchen dann nach Schluesselwoertern wie
'schmettern' oder 'Brei'. Ansonsten irgnorieren sie den Inhalt. OK, lest den
folgenden Text bist langsam, Wort fuer Wort, links nach Rechts, Zeile fuer
Zeile. Versucht, zu verstehen.

Die Situation, in der wir die Aenderung eingefuehrt haben, war folgende:
Rochus hat uns ein Ultimatum gesetzt, bis zu dem Teamkampf angeschlossen wird.
Wir sind mit Rochus nicht zu einer Einigung gelangt, wie wir Daemonen im Team
zulassen. Haetten wir diese Aenderungen nicht eingebaut, haette das fuer uns
nicht akzeptable Effekte gehabt, deshalb haben wir diese Aenderung TEMPORAER
eingebaut. Wisst ihr, was 'TEMPORAER' bedeutet?

Unser aktueller Streitpunkt ist, dass wir nicht zulassen wollen, Daemonen wild
in der gleichen Reihe des Casters stehen zu lassen, da wir dies mit dem
Gilden-Feeling nicht vereinbaren koennen. Siehe chaos_info.

Und jetzt zum Abwuergen von Vorschlaegen: Alles was von euch bis jetzt kam,
war jede Menge Gejaule und Vorschlaege wie 'Klar haben wir Daemonen unter
Kontrolle, dann verbietet Chaoten doch einfach so das Team, Ihr seid total
bloed' etc.  Da ihr die glaubwuerdiger machen wollt, indem ihr sie immer und
immer wieder erzaehlt, wuergen wir euch ab.

So. Was koennt ihr tun? Ihr koennt einiges tun. Das beste was ihr tun koennt
ist Geduld haben. Nicht eure starke Seite, aber versuchts. Das 2. ist, einen
Vorschlag fuer den Teamkampf zu machen, der die Kontrolle
gilden-feeling-technisch betrachtet und zu realisieren ist. Das 3. waere,
zieht euch die Mudlib, schaut wie ihr einbaun koennt, dass die Daemonen immer
neben dem Caster stehen :). Oder lasst es uns tun, auch wenn es dauern wird.

So, ich will keinen Thread auf diesen Artikel. Alle Vorschlaege bitte direkt
an mich oder den Gildenmag eures Vertrauens.

Gruesse!

   Feuerwehr.

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



chaosball anders (Feuerwehr, 17. Jan 1999, 21:36:42):
Hi!

Viele von euch haben sicher schon geweint. Der Chaosball, verbanne und auch
alle anderen Angriffsspells in allen Gilden wurden durch eine anscheinend
nicht fuer Normalmagier interessante (Rochus, Du bist ein BOESER BOESER
Mann!!!!) Aenderung fuer Rein/raus-Taktiken unwirksam.

Wir werden darueber beraten und dagegen angehen, also leidet bitte ab jetzt
schweigend.

Gruesse!

   Feuerwehr.

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



Re: chaosball anders (Mindblade, 18. Jan 1999, 01:51:39):
~#! rn=Feuerwehr rt=916609002 rg=gilden.chaos
~#! tid=916609002
Wieso boeser boeser Rochus, das ist endlich mal was Vernuenftiges, damit
Magier auch noch interressante Minster schreiben koennen, die nicht wie viele
jetzige in der ersten Runde pulverisieren.

Mind*, strikt gegen Rein-raus Taktiken.

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



Re: Re: chaosball anders (Anatol, 18. Jan 1999, 02:30:35):
~#! rn=Mindblade rt=916624299 rg=gilden.chaos
~#! tid=916609002
Aaaaaaaaaah! Ein Seher, in dessen Kopf das "Weniger Kampfkraft ist weniger
Spielspass" NICHT festgenagelt ist? :) Mindblade! Wieso bist Du noch hier?
Warum bist Du nicht im "Real Life", wie alle vernuenftige Leute?! :o)

Anatol - schoepft Hoffnung fuer die Seher


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



Re: Re: chaosball anders (Shannara, 18. Jan 1999, 12:42:44):
~#! rn=Mindblade rt=916624299 rg=gilden.chaos
~#! tid=916609002
Mindblade,

  lauf mal als Chaot in den Katas rum und kaempf gegen ein beliebiges
Monster, nehmen wir mal die beiden Ghouls. Stell dich da als Chaot hin und
versuch mal die beiden OHNE rein-raus umzuhauen. Als Kaempfer und Kleriker
geht anscheinend wohl leicht, letztere koennen sogar mit nen Schutzzauber und
genuegend ruestung idlen. 

Vielleicht waere es angebracht - wenn diese Aenderung nicht zurueckgenommen
wird - dieses mutwillige Abwuergen gildenspezifisch auszulegen, dh einen Art
Faktor einfuehren, der den Abschlag gildenspezifisch bestimmt.

Deswegen wuerde es aber trotzdem nett sein, diese Sache zu entfernen, es gibt
auch andere Moeglichkeiten so etwas zu unterbinden oder zu erschweren. Soll
ich Beispiele nennen, wo so etwas angewandt wird? 

Shannara

PS: Ich will gar nicht wissen, wie tief der Einschlag sich bei den
Katzenkrieger n, Bierschuettlern und bei den Abenteurern auswirkt.

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



Re^3: chaosball anders (Morgoth, 18. Jan 1999, 12:49:37):
~#! rn=Shannara rt=916663364 rg=gilden.chaos
~#! tid=916609002
Auch wenn das jetzt hart klingen mag, aber rein/raus ist bei DENEN absoluter
Schwachsinn. Selbst als Abenteurer OHNE schutzschnickschnack stehe ich die.
Ich muss zwar tanken, aber deutlich weniger, als bei rein/raus. Trotzdem ist
die Aenderung sch****oen daneben ;-)

M*

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



Re^3: chaosball anders (Ringor, 18. Jan 1999, 12:50:32):
~#! rn=Shannara rt=916663364 rg=gilden.chaos
~#! tid=916609002
Die Aenderung war voreilig und so von denjenigen, die sie vorgeschlagen haben,
nicht geplant. Dass *vor* der endgueltigen Einfuehrung einer solchen Regelung
noch gewisse Monster ueberarbeitet werden muessen, steht ausser Frage.

Aber Dein Beispiel ist denkbar schlecht. Wenn Du als Chaot ohne Daemon
losziehst (gerade in den Katas), dann ist das einzig und alleine Deine Schuld.
Und mit Daemon hast Du mehr Schutz, als den meisten Chaoten anscheinend klar
ist.

Rein/raus ist keine "Taktik", sondern allerhoechstens ein Workaround fuer zu
heftige Monster. Welche sinnigerweise erst wegen der ganzen Leute, die nix
anderes als rein/raus kennen, so stark gemacht wurden.

Ringor

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



Re^5: chaosball anders (Sharia, 18. Jan 1999, 12:52:13):
~#! rn=Shannara rt=916663852 rg=gilden.chaos
~#! tid=916609002
mir faellt da nur wenig zu ein und wenn ich da jetzt was zu schreibe dann
bekommen das manche leute auch wieder in den Hals .. und hmm ich weiss ja nich
.. aber ich wuerde sagen: KATZEN IN DEN MIXER !

Sharia

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



Re^4: chaosball anders (Hobo, 18. Jan 1999, 12:52:56):
~#! rn=Ringor rt=916663832 rg=gilden.chaos
~#! tid=916609002
Sorry Ringor, aber Rein/Raus ist schon seit Jahren eine Taktik. :)
Wenn ich taktisch einen NPC am schnellsten platt kriege, wenn ich Rein/Raus
anwende, dann IST das eine Taktik.

  Hobo

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



Re^5: chaosball anders (Ringor, 18. Jan 1999, 12:53:35):
~#! rn=Hobo rt=916663976 rg=gilden.chaos
~#! tid=916609002
Das ist keine Taktik, sondern schlicht und ergreifend ein Bug im System.

Und genau der soll jetzt endlich ausgebaut werden. ;-)

Ringor

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



Re^4: chaosball anders (Shannara, 18. Jan 1999, 12:54:13):
~#! rn=Ringor rt=916663832 rg=gilden.chaos
~#! tid=916609002
Ja, das war ein schlechtes Beispiel, aber es gibt so gewisse Monster.

Nur alleine rein/raus ist ja nicht sinnvoll, anscheinend hab ich mich nicht
klar ausgedrueckt. 

Shannara.

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



Re^3: chaosball anders (Key, 18. Jan 1999, 12:58:28):
~#! rn=Shannara rt=916663364 rg=gilden.chaos
~#! tid=916609002
Muss man alles ohne Probleme metzeln koennen?

Werd Kaempfer.

Key

P.S.: Nein Shannara ist nicht gleichbedeutend mit allen Chaoten. Viele wollen
naemlich nicht nur Brei und Zerschmettern lesen.

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



Re^4: chaosball anders (Sharia, 18. Jan 1999, 13:00:09):
~#! rn=Key rt=916664308 rg=gilden.chaos
~#! tid=916609002
HA !!! du willst immer [Tod:] lesen ? oder doch eher pulver atomisieren usw ?
dann schau dir deine Frau an :-)

Sharia

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



Re^4: chaosball anders (Shannara, 18. Jan 1999, 13:01:39):
~#! rn=Key rt=916664308 rg=gilden.chaos
~#! tid=916609002
Ich hab nie behauptet, dass ich alles ohne Probleme metzeln will, aber
anscheinend entsteht da so ein Eindruck.


Meine Prioritaeten sind da anders gelegen. Danke, aber Kaempfer war ich schon
zu oft anspielen, aber mir liegt deren Umgebung und Atmosphaere nicht. 

Shannara

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



Re^6: chaosball anders (Songoku, 18. Jan 1999, 13:54:03):
~#! rn=Sharia rt=916663933 rg=gilden.chaos
~#! tid=916609002
Schmecken denn die?
Sayonara!

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



Re^3: Daemonen vs Team? (Rochus, 18. Jan 1999, 16:12:39):
~#! rn=Feuerwehr rt=916608675 rg=gilden.chaos
~#! tid=916256355
Also, es ist im Teamkampf so, dass Monster, die herbeibeschworen werden,
ihrem Beschowerer zugeordnet werden sollen, damit sie beim Teamkampf
die Reihenaenderungen ihres Beschowerers mitmachen.
Wo genau INNERHALB EINER REIHE jemand steht, hat fuer Angriffe oder
Abwehren nicht die geringste Bedeutung.
Und ich baue NICHT ein, dass eine vollkommen bedeutungslose Anordnung
sichergestellt ist, weil der Aufwand (und damit die Auswertungskosten
und damit die Vergroesserung des Lags) in keinem vernuenftigen Verhaeltnis
mehr zu dem erzielten Ergebnis liegt - wie gesagt, die interne
Position innerhalb der Reihe ist fuer den Kampf bedeutungslos
(und dahre von mir so gewaehlt dass die Verwaltung der Kampfreihen
moeglichst wenig aufwendig ist).
Wer sich dazu berufen fuehlt kann sich gerne mal die Mudlib ziehen
(der Teamkampf ist im neusten Release drin) und schauen ob er oder sie
einen besseren Kompromiss zwischen Spielbarkeit und Auswertungskosten
findet.


  Rochus

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



Re^4: Daemonen vs Team? (Tilly, 18. Jan 1999, 16:15:51):
~#! rn=Rochus rt=916675959 rg=gilden.chaos
~#! tid=916256355
Ich habe kein Problem damit, dass fuer Dich die Anordnung der Npc im Team
bedeutungslos ist. Aber als Gilden-Magier habe ich da wohl ein Problem mit,
und das ist mein Recht.
                          - Tilly -

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



Re^4: chaosball anders (Zardoz, 18. Jan 1999, 16:20:20):
~#! rn=Ringor rt=916663832 rg=gilden.chaos
~#! tid=916609002
Mir ging die Rein/Raus taktik schon immer ziemlich gegen den Strich. Die
Daemonen sind ja gerade dafuer da, dass sie einen Teil der Angriffe des
Gegners abfangen und man so lange genug im Raum stehen kann um einen
ordentlichen Kampf zu machen. Allerdings hat sich seit 95, so lange gibts die
Gilde schon wenn ich mich nicht taeusche, einiges geaendert. Da ich nicht mehr
so auf dem Laufenden bin, kann ich kaum was dazu sagen, nur soviel: Fuer mich
stand eigentlich von vorneherein fest, dass nur ein Chaot mit Daemon ein
ausgezeichneter Metzler sein soll, wer ohne Daemonen kaempft, sollte nur etwas
besser als ein Abenteurer sein. 
Ciao Zardoz

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



Re^5: Daemonen vs Team? (Patryn, 18. Jan 1999, 16:21:20):
~#! rn=Tilly rt=916676151 rg=gilden.chaos
~#! tid=916256355
ich denke mal, dass daemonen sich nicht unbedingt in teams einordnen lassen
sollten, zumahl sie aus beschwoerungen der chaosgilde hervorgegangen sind :)
geordnete kampfaufstellungen passen da genauso wenig dazu wie die
derzeit vorhandene und kaum bemaengelte viel zu gute berechenbarkeit
dieser wesen.
wenn ihr was fuers gildenfealing tun wollt, dann gibt es in dieser
gilde noch weitaus mehr und leichter umsetzbare ansatzpunkte als
die von euch bemaengelte (...ich nenn es mal...) kleinigkeit.

------
patryn

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



Re^5: chaosball anders (Ringor, 18. Jan 1999, 16:22:50):
~#! rn=Zardoz rt=916676420 rg=gilden.chaos
~#! tid=916609002
Das einzige Problem, das Chaoten bei der Geschichte haben, ist, dass die
Daemonen in der ersten Kampfrunde noch nicht mit im Raum sind.

Und da manche Magier (als Mittel gegen rein/raus) ihren Monstern derart starke
Begruessungs-Spells verpasst haben, dass man eh nicht laenger als eine Runde
beim Monster stehen bleiben kann, nuetzen Daemonen an der Stelle ueberhaupt
nichts.

Deshalb muss vor einem Verbot von rein/raus ja auch *dringend* eine
NPC-Balance her, die sich solcher Faelle annimmt.

Ringor

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



Re^5: chaosball anders (Sting, 18. Jan 1999, 16:23:28):
~#! rn=Zardoz rt=916676420 rg=gilden.chaos
~#! tid=916609002
Hi Leute...

Das Problem ist, wie ihr nicht nicht erwaehnt habt: Die Daemonen sind in den
meisten Gebieten inzwischen RUCKZUCK tot. Und zwar so schnell das man sie
nicht mal mehr ordentlich betanken kann... Die Katas sind da ein optimales
Beispiel. Und jeder der was andere behauptet hat schon lange nicht mehr als
Chaot mit Daemon gemetzelt. Ich benutze Daemonen so oft als moeglich, aber
heutzutage gibts soviele Monster die einmal die Runde zerschmettern oder noch
mehr... Tja, und ich bezweifle einfach das die Magier alle bereit sind ihre
Monster zurueckzuaendern, falls sowas kommt, dafuer sind es inzwischen viel zu
viele. Abgesehen davon haette ich gerne gehabt, das Rochus was sagt bevor er
so eine gravierende Aenderung einbaut. Naja, es laeuft wie es laeuft.


Sting

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



Re^6: Daemonen vs Team? (Boing, 18. Jan 1999, 16:23:46):
~#! rn=Patryn rt=916676480 rg=gilden.chaos
~#! tid=916256355
Ich sehe eigentlich kein Problem darin, dass der Daemon irgendwo im
Raum auftaucht und sich auf den Gegner des Beschwoerers stuerzt. Dass
sich Daemonen in Kampfreihen zwaengen lassen bezweifel ich.
  Boing

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



Re^6: chaosball anders (Boing, 18. Jan 1999, 16:25:37):
~#! rn=Sting rt=916676608 rg=gilden.chaos
~#! tid=916609002
Zerschmettern geht ja noch, es gibt aber Stellen an denen Hilfs-NPCs 
jeder Art einfach gezappt werden (sprich die() wird aufgerufen) und 
das halte ich fuer absolut nicht vertretbar (geschweige denn begruen-
bar, auch in einem Fantasy-Szenario).
  Boing

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



Re^7: Daemonen vs Team? (Zardoz, 18. Jan 1999, 16:25:39):
~#! rn=Boing rt=916676626 rg=gilden.chaos
~#! tid=916256355
Ja, vom Wesen der Daemonen her waere die Einordnung in eine Kampfreihe
ziemlich seltsam. Nach ihrer aggressiven Art muessten sie eigentlich immer in
der ersten Reihe stehen. Ich weiss nicht, wie es aussieht, wenn sie ueberhaupt
nicht in den Reihen stehen, bekommen sie dann noch genug Schlaege der Monster
ab?

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



Re^4: chaosball anders (Rochus, 18. Jan 1999, 16:28:16):
~#! rn=Ringor rt=916663832 rg=gilden.chaos
~#! tid=916609002
Aehm, ich hatte die EInfuehrung mal kurz ZUR PROBE beabsichtigt,
um mal a) zu sehen ob sie wirklich den gewuenschten Effekt hat
und b) mal zu schauen wie gross das Geschrei wegen unkillbarer Monster
wirklich sein wird. Da einige Resets nach dem Einbau noch kein
Geschrei kam, habe ich es ueber Nacht dringelassen
und da ich am naechsten Tag den Eindruck hatte, es sind nicht viele
Monster zu aendern (und bei denen ist es nicht DRINGEND, weil glaube ich
kein einziges Questmonster ausschliesslich mit RFR zu killen ist und
die Monster durch die Aenderung nicht gefaehrlicher werden) habe ich
es auch noch uebers Wochenende dringelassen (ok, ich sehe ein, das
war wohl zuviel) und eine Abfrage in Gang gesetzt, ob das a) dauerhaft
drinbleiben soll und b) wer sich um die Monster kuemmern soll.
Bisher muss ich sagen, dass sich die Spieler weniger ueber die Aenderung
aufregen als die Magier :-)
Uebrigens weiss ich nicht, was das mit den bisherigen Balance-Gremien
zu tun haben sollen, denn die Aenderung betrifft alle gleichermassen.

  Rochus

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



Re^5: chaosball anders (Feuerwehr, 18. Jan 1999, 16:31:50):
~#! rn=Rochus rt=916676896 rg=gilden.chaos
~#! tid=916609002
Hi!

Nun, Rochus, waehrend sich bei DIR wohl niemand meldete, rannten UNS die Leute
die Bude ein und buhten uns aus. Das war ein wirklich netter Zug von Dir.

   Feuerwehr.

PS: Langsam werd ich doch etwas aggressiv hier.

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



Re^6: chaosball anders (Patryn, 18. Jan 1999, 16:34:05):
~#! rn=Feuerwehr rt=916677110 rg=gilden.chaos
~#! tid=916609002
der einzige, der mir gegenueber rumgebuht hatte, warst du :)
ich wusste ja auch von nix und die spieler schienenn ebenfalls nix
bemerkt zu haben.

------
patryn

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



chaos (Puk, 18. Jan 1999, 16:34:13):
Naja, ich persnlich kann auch nur sagen das ich mit den Daemonen eigentlich
nur kaemfe wenn ich
gerade in einer Kneipe stehe und die (manchmal horrormaessigen) KP Verluste
wiederauszugleichen.
Aber wenn ich wirklich in einem Gebiet bin, kann ich nicht jedesmal zur
naechsten Kneipe rennen um
meinen Daemon wieder zu beschwoeren. Folge ist es muss ohne gehen.

Aber mal ne frage :
Wie ist den die moeglichkeit wenn man ein reines Chaotenteam aufbaut die
Daemonen da mit reinzunehmen ?
Ich kann Tilly volkommen verstehen wenn er sagt er faende es unsinnig nen
Daemon neben nen Kleriker zu stellen.

Nur so ne Idee


von Puk

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



Re^7: chaosball anders (Feuerwehr, 18. Jan 1999, 16:35:52):
~#! rn=Patryn rt=916677245 rg=gilden.chaos
~#! tid=916609002

Falsch. 

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



Re: chaos (Dieder, 18. Jan 1999, 16:36:20):
~#! rn=Puk rt=916677253 rg=gilden.chaos
~#! tid=916677253
ohweh, Puk, dann hast Du das mit den Daemonen noch nicht so ganz verstanden.
Wenn es nicht gerade ein sch...oen "haariges" Gebiet ist, helfen Daemonen
wirklich ne ganze Menge, und sind auch problemlos im Zaum zu halten... naja,
jedenfalls meistens :-)

Dieder, kaempft fast nur mit Daemon.

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



Re^7: chaosball anders (Key, 18. Jan 1999, 16:42:41):
~#! rn=Patryn rt=916677245 rg=gilden.chaos
~#! tid=916609002
Naja nix bemerkt weil nix Meldung :)
Und weil nix viel metzeln ....

Hmm fuer Rochus ... mir fallen auf Anhieb einige ein die geaendert werden
muessten .... 

Key

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



Re^5: chaosball anders (Ringor, 18. Jan 1999, 16:48:41):
~#! rn=Rochus rt=916676896 rg=gilden.chaos
~#! tid=916609002
Wenn man einen ungefaehr gleichen Schutz bei allen Gilden voraussetzt, dann
betrifft die Aenderung alle Gilden gleich, ja.

Momentan sieht es aber so aus, dass gewisse Gilden (je nach Monster ist es
vielleicht auch nur eine Gilde ;-) deutlich laenger beim Monster stehen
bleiben koennen, als andere. Dadurch wird eine Gilde mit gutem Schutz keinen
Unterschied zu vorher bemerken (von den Wursties, die nix anderes als
rein/raus kennen, mal abgesehen), waehrend das Geschrei bei Abenteurern z.B.
gross sein wird.

Welche Monster aus dem Blickwinkel wirklich zu stark sind, bliebe dann aber
auszudiskutieren. Ein Monster mit Ausruestung, die eigentlich nicht dafuer
gedacht ist, dass jeder Spieler damit rumlaeuft, darf ruhig weiterhin so stark
bleiben, dass es nach der Aenderung nicht von einem Spieler im Alleingang zu
erledigen ist.

Dann aber bitte nicht mit einem Hammer-Spell, sondern mit mehreren kleineren,
die sich auf eine Gruppe verteilen koennen. 

Wenn man allerdings selbst die 08/15-Standard-NPCs nur noch im Team metzeln kann,
ist was falsch gelaufen. Standard-Ausruestung sollte sich auch ohne rein/raus
jeder Spieler besorgen koennen.

Was Standard-Ausruestung ist und was nicht, kann man natuerlich in beliebiger
Laenge ausdiskutieren ... ;-)

Ringor

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



chaosball anders (Mtv, 18. Jan 1999, 16:48:59):
~#! rn=Key rt=916677761 rg=gilden.chaos
~#! tid=916609002
Das duerften noch einge bekmerkt haben, so wie ich auch, nur haben sie noch
nichts gesagt. Es gibt jetzt einfach NPC's die man nicht mehr killen kann. Wer
mit mir mal metzeln war, weiss dass ich wenn immer moeglich versuche beim NPC
drinnen zu bleiben, doch das geht einfach nicht ueberall und wenn man bei
denen kaum mehr schaden macht, wie soll man den dann noch toeten???

Ich habe bis ich diesen Thread gelesen habe, einfach nicht gewusst woran das
lag.

MTV

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



Re^5: chaosball anders (Mindblade, 18. Jan 1999, 17:04:30):
~#! rn=Zardoz rt=916676420 rg=gilden.chaos
~#! tid=916609002
Zunaechst einmal: DANKE ZARDOZ! Du sprichst mir aus der Seele!:)
Und erstmal zu den Artikeln bis Nr. 21 (weiter bin ich momentan noch nicht):
Dass es einige Monster gibt, die man nur/am effektivsten mit rein-raus killen
kann ist traurig aber leider wahr. Nur sind solche Monster meist erst dadurch
enstanden, dass Spieler rein-raus anwenden. Die Aenderung ist endlich mal nen
Anfang vergangenes Uebel zu beseitigen. Wenn ein Monster nur "sehr hart"
trifft pustet es doch jede Gilde mit rein-raus einfach um. Deswegen kamen ja
auch Monster, die gleich in der ersten Runde pulverisieren und man dazu
gezwungen wird rein-raus zu machen. Da die Monster demnaechst auch in der
ersten Runde weniger Schaden machen, kannste demnaechst auch deinen Daemon
mitnehmen, der mal eben die die Haelfte aller Attacken abfaengt. Und der steht
dann in der zweiten Runde bei Dir drin, bei rein-raus, ist er *gott seis
gedankt* keine Hilfe.
Wenn es Monster gibt, die jetzt als Chaot, Abenteurer etc. nicht mehr machbar
seien sollten, kann man ja mal mit den Magiern reden!;) 

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



Re^6: chaosball anders (Mindblade, 18. Jan 1999, 17:06:09):
~#! rn=Sting rt=916676608 rg=gilden.chaos
~#! tid=916609002
Ich will Dir da nicht widersprechen, aber an den LPs von Daemonen laesst sich
mit Sicherheit auch drehen!;)

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



Re: chaos (Mindblade, 18. Jan 1999, 17:10:44):
~#! rn=Puk rt=916677253 rg=gilden.chaos
~#! tid=916677253
Aeh Puk, solange Du nicht in Gebiete gehst, wo der Daemon innerhalb von
wenigen Resets weggezappt wird, kann man mit einem Daemon den ganzen Abend
rumlaufen, ich war auch mal Chaot und ich hab mir Tutszt ueblicherweise einmal
pro Abend beschworen! Dass er ein wenig mehr LP vertragen koennte, ok, aber
wenn Du Dir staendig nen Neuen holen musst, machste was falsch.

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



Re^7: chaosball anders (Key, 18. Jan 1999, 17:11:02):
~#! rn=Mindblade rt=916679169 rg=gilden.chaos
~#! tid=916609002
Wuerde behaupten das brauchts gar net ...
Das Daemonen in gewissen Gegenden absolut nix mehr nuetzen ist klar, aber das
liegt wohl net nur an den LP ...
z.B. hauen die auch nur mit ihren Haenden zu, also nix spells ... Aber das man
damit nix mehr trifft sehe ich ja schon an mir ...
Also mal lieber die Bodys der Npc auf nen gescheites mass ...
Oki oki das wird sich natuerlich nicht gerade geringfuegig auf die Balance
auswirken, aber naja Boing hat bestimmt noch zuviel Zeit *in Deckung spring*
=;))

Key

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



Re: Re: chaos (Mindblade, 18. Jan 1999, 17:14:22):
~#! rn=Mindblade rt=916679444 rg=gilden.chaos
~#! tid=916677253
Aeh die "Resets" im obigen Artikel sollten eigentlich Runden heissen!;)

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



Re^8: chaosball anders (Mindblade, 18. Jan 1999, 17:15:14):
~#! rn=Key rt=916679462 rg=gilden.chaos
~#! tid=916609002
Key, ruhig Blut!:) Wir arbeiten am "Treffen"!;)

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



Re^9: chaosball anders (Anatol, 18. Jan 1999, 19:01:01):
~#! rn=Mindblade rt=916679714 rg=gilden.chaos
~#! tid=916609002
Irgendwie verstehe ich nicht, warum sich ein paar muede Geister hier
noch immer bis zum geht-nicht-mehr echauffieren muessen. Die sinnvollen
Argumente fielen eigentlich alle (Ringor, Rochus, Mindblade), die
Spieler, die noch immer krampfhaft und weinend an ihrem Motto
"Kampfkraft proportional Spielspass" festhalten, haben ihren Teil 
inzwischen auch gebracht. Jemand, der nicht begreifen WILL, der wird
nicht begreifen.

Jaaaa, natuerlich faellt da viel Arbeit fuer ein Balanceteam an. Aber
ihr werdet es doch ein paar Wochen aushalten, dass gewisse Hyper-
monster vorerst nicht toetbar sind, da der Grund ihrer derartigen
Konzeption endlich wegfiel.

Anatol

PS: Weitsicht heisst nicht: Fernrohr nehmen und Gesichtsfeld einschraenken.


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



Re^10: chaosball anders (Sting, 18. Jan 1999, 19:05:29):
~#! rn=Anatol rt=916686061 rg=gilden.chaos
~#! tid=916609002
Ach weisst du, mir ist die Kampfkraft eigentlich relativ egal inzwischen. Ich
bin zufrieden mit der momentanen Kampfkraft der Chaoten und ich glaub nicht
das die zu stark ist, auch nicht fuer den geringeren Lernaufwand gegenueber
den staerksten Gilden. Aber darum gehts mir gar nicht. Ich bin nunmal ein
Einzelkaempfer, sicher, ich ziehe auch gerne mal im Team los... Aber
ueberwiegend bin ich Einzelkaempfer, und MEINE ausruestung, die zwar
sicherlich nicht standard-zeugs ist, die kann ich nur mit rein-raus holen oft.
Und ich persoenlich hatte NIE etwas gegen rein-raus, ich sehe das auch nicht
als unatmosphaerisch an, aber da stehe ich wohl alleine da. Nunja, wie dem
auch sei: Sollten die Monster tatsaechlich angepasst werden, dann ist das ja
ok, aber bei mir faengst halt auch schon bei kleineren Monstern an, wo mich
das nervt. (nenn mich krampfhaft). Aber egal.


Sting

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



Re^11: chaosball anders (Neb, 18. Jan 1999, 19:19:06):
~#! rn=Sting rt=916686329 rg=gilden.chaos
~#! tid=916609002
Also, in einem muss ich Sting mal recht geben.
Ich bin auch jemand, der lieber mal alleine metzeln geht, als zu warten, bis
sich 4-5 Leute zu einem Team zusammengefunden haben, der eine dann wieder
abhaut, weil er was essen muss, der andere die Lust verliert und der dritte
irgendwann ploetzlich netztot oder idle is.
Und eine Gefahr des Teamkampfes ist es sicher, dass die Monster jetzt so stark
gemacht werden (und das werden sie, natuerlich werden sie jetzt so stark
gemacht, dass ein starkes Team sie umhauen kann, aber nicht 1 oder 2 Leute
alleine, dass kommt zwangslaeufig) und man nicht mehr alleine metzeln kann.
Faend ich schade.

Neb, hat deswegen auch noch keine grosse Lust auf teamkampf bekommen....

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



Re^7: chaosball anders (Bierchen, 18. Jan 1999, 19:57:28):
~#! rn=Patryn rt=916677245 rg=gilden.chaos
~#! tid=916609002
Falsch,
beinahe haette ich dich 'pfeife' genannt, aber das waere ja ungerecht einer
chaotin mit gleichem namen gegenueber. stundenlang habe ich diese schei**
files gewaelzt, um einen bug bei den chaoten zu finden. und weshalb? weil ein
bestimmter magier es nicht fuer noetig hielt, uns ueber aenderungen zu
informieren. 112 sprach im namen ALLER chaosmags. ich hielt mich bewusst
zurueck, da ich ziemlich geladen bin.
Gruss,

   - Bierchen -

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



Re^6: chaosball anders (Ark, 18. Jan 1999, 20:44:56):
~#! rn=Mindblade rt=916679070 rg=gilden.chaos
~#! tid=916609002
Oehem, warum denn, ich dachte, mit Teamkampf sollten doch (mit Ausnahme der
sicher bald in Massen auftretenden Spezialteamkampfmonster) die bisherigen
Monster einfacher zu schaffen sein, die Belohnung dafuer erscheint mir auch
gerecht, es gibt also auch als vermeintlich schwaechelnder Abenteurer gar kein
Grund mehr, darueber zu motzen, dass man Monster xy nicht alleine schafft.
Ich spiele gerade Baldurs Gate, da schafft meistens nicht einer aus der Gruppe
jedes Monster alleine, und das ist gut so, wenn einer bei denen und der andere
bei denen Vorteile hat. Oder sind wir wieder bald an dem Punkt, an der jede
Gilde gleich stark sein muss?
Auch wenn der Teamkampf seitens der Monster sicherlich wieder ein Drehen an
der beruechtigten Aufruestungsspirale bedeutet: an sich ist die Idee nicht
schlecht (ueber die Umsetzung weiss ich noch zu wenig, deshalb sag ich dazu
mal nix).


              *** ARK * the * Magnificent ***


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



Re^12: chaosball anders (Ark, 18. Jan 1999, 20:50:02):
~#! rn=Neb rt=916687146 rg=gilden.chaos
~#! tid=916609002
Naja, solange nicht jeder Magier meint, seine bisher machbaren Monster auf
Team umzustellen :) Ich weiss, ist ja schon geschehen, aber warum nicht bei
neuen Sachen, damit es zu dem Geschrei erst gar net kommt? Naja, nicht mein
Problem.


              *** ARK * the * Magnificent ***


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



daemonen vs team (Gnome, 18. Jan 1999, 21:26:42):
hi

nur mal so als idee: wenn das wesen der daemonen UND (lt rochus) die
technischen voraussetzungen fuer das einbinden ins team nicht gegeben
sind, wieso lasst ihr sie nicht einfach draussen?
das wuerde zeit und nerven sparen; ausserdem ist ein team mit einem
daemon mehr nicht wesentlich staerker.

gnOme

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



Re^8: chaosball anders (Patryn, 18. Jan 1999, 22:59:02):
~#! rn=Bierchen rt=916689448 rg=gilden.chaos
~#! tid=916609002
auf was auch immer du dein 'FALSCH' beziehst, mir gegenueber hat sich
tatsaechlich nur feuerwehr mit diesem problem geaeussert, ich bleib
dabei.
da ich in unserer gilde keinen sekundaer per zufall damit beleidige, darf
ich dich deshalb per retour unverbluemt 'pfeife' titulieren.
schoenen tag noch

------
patryn

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



gildenseiten (Swift, 21. Jan 1999, 03:05:48):
hiho,

ich hab mal wieder die gildenseiten ueberarbeitet/ergnzt.

swift

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



Re^7: Daemonen vs Team? (Wurzel, 21. Jan 1999, 19:26:10):
~#! rn=Boing rt=916676626 rg=gilden.chaos
~#! tid=916256355
eben. kampfteams sind doch eigentlich etwas sehr geordnetes, es
wundert mich dann doch, dass ein chaot sowas ueberhaupt mitmachen will. und
dass ein daemon dabei mitmachen soll, leuchtet mir erst recht nicht ein.

wurzel

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



Hoeret Hoeret! Lest diesen Artikel, schon wegen seiner verdammt langen Ueberschrift, gut durch und weidet euch an seinem Inhalt! (Feuerwehr, 24. Jan 1999, 22:33:06):
Hoeret Hoeret!

Dies ist die Entscheidung eurer Gildenmagier, eurer Herrscher und
Vollstrecker, Tyrannen und ueberhaupt verabscheuungswuerdigen Oberchaoten.

Es war, es ist und es soll immerfort so sein, dass Daemonen sich nicht
die Reihen eines Teams draengen lassen. Ihre Bestimmung ist Tod und Zer-
stoerung. Sie werden sich immer sofort auf ihren Gegner stuerzen und ihn
mit ihren Zaehnen und Klauen zerfetzen.

Auch Chaoten sind nicht fuer Teams geschaffen, doch das Chaos nahm schon
immer seltsame und krankhafte Auswuechse an, und welcher Chaot haelt sich
schon an Regeln...

Einen Daemon unter Kontrolle zu halten ist jedoch eine schwere und gefaehr-
liche Aufgabe, und wenn ein Chaot sich je hinter die forderste Front seines
Teams zurueckzieht, wird er unweigerlich die Kontrolle ueber seinen Daemon
verlieren, da er ihn nicht mehr koerperlich zuechtigen kann. Diese Schande
soll ihn fuer immer beschmutzen.

Dies ist die Entscheidung. Sie ist gefaellt und wird akzeptiert.

    Die Chaos-Gildenmagier.

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



Re^6: chaosball anders (Tyball, 29. Jan 1999, 20:40:51):
~#! rn=Ringor rt=916664015 rg=gilden.chaos
~#! tid=916609002
Ringor du mit deinen klugen Spruechen bist auch ein Bug im System !

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



Tyoorthok (Tilly, 16. Feb 1999, 17:58:41):
Moin Chaoten,
ich habe die Befehle fuer Tyoorthok geringfuegig geaendert. Fragt Wuqour oder
lest es in der Bibliothek nach.
                                   - Tilly -

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



Boese Bosheit!! (Tilly,  5. Mar 1999, 16:45:25):
Moin Chaoten und alle die es werden wollen!

Beim Gildeneintritt gab es oft ein kleines Problem, wenn man nicht die
erforderliche Bosheit vorweisen konnte. Nunja, Kruuolq weiss Abhilfe.
Auch fuer kleinere Chaoten empfehlenswert.

 - Tilly -

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



Re: Boese Bosheit!! (Teddy,  7. Mar 1999, 18:17:29):
~#! rn=Tilly rt=920652325 rg=gilden.chaos
~#! tid=920652325
Uff, danke, das wurde mit der Zeit stressig und teuer ;)

Teddy, immer boesartig und gemein.

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



Re: Re: Boese Bosheit!! (Gorog,  7. Mar 1999, 21:33:11):
~#! rn=Teddy rt=920830649 rg=gilden.chaos
~#! tid=920652325
Boesartig und gemein?
*kicher*

Gorog, der noch nie n wuscheligeren Knuddelchaoten kannte.

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



Re^3: Boese Bosheit!! (Teddy,  8. Mar 1999, 21:31:15):
~#! rn=Gorog rt=920842391 rg=gilden.chaos
~#! tid=920652325
Verleumdung!!!
Ich bin und bleibe ein Ausbund an Boshaftigkeit und bin gemein und grausam.

Teddy, schmollt jetzt aber.

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



Re^4: Boese Bosheit!! (Gorog,  9. Mar 1999, 10:33:07):
~#! rn=Teddy rt=920928675 rg=gilden.chaos
~#! tid=920652325
Ja Klar.

Gorog heute einzeilig und nichts sagend (;

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



Re: Boese Bosheit!! (Tilly,  1. Apr 1999, 17:39:54):
~#! rn=Tilly rt=920652325 rg=gilden.chaos
~#! tid=920652325
Moin moin,

die Aufgabe wurde ein bisschen modifiziert, sodass sie nun beim erstmaligen
Loesen einen hoeheren Bonus gibt. Damit sollte es nun wirklich problemlos
sein, den Anforderungen gerecht zu werden.

 - Tilly -

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



weihende Daemonen ... Die Welt ist doch krank! (Feuerwehr,  1. Apr 1999, 18:17:54):
Hi!

In der Gilde hat sich was getan. Schaut euch nur gut um.

Gruesse!

    Feuerwehr.

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



Re: weihende Daemonen ... Die Welt ist doch krank! (Anakin,  1. Apr 1999, 18:26:35):
~#! rn=Feuerwehr rt=922983474 rg=gilden.chaos
~#! tid=922983474

Das ist super, eine Gilde macht was und irgendwie ziehen fast alle
Gilden mit und machen mehr oder weniger das gleiche.
Ist das Wettruesten oder nicht?

Anakin.

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



Re: Re: weihende Daemonen ... Die Welt ist doch krank! (Feuerwehr,  1. Apr 1999, 18:28:09):
~#! rn=Anakin rt=922983995 rg=gilden.chaos
~#! tid=922983474
Hi!

Ich moechte betonen, dass das alles unzusammenhaengende Ereignisse sind. Das
sie alle zur gleichen Zeit passieren hat mit Chaostheorie zu tun...

Gruesse!

  Feuerwehr.

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



9 (Householder,  1. Apr 1999, 22:21:25):
~#! rn=Anakin rt=922983995 rg=gilden.chaos
~#! tid=922983474
Oh Mann das war so klaar das auf die Artikel eine Antwort in dem Stil kommt =>
armes Mud :-)
(war vorher auf den falschen achtikel replied)
nn

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



UEBERRASCHUNG!!! (Tilly,  2. Apr 1999, 02:21:20):
Moin moin,

Kruuolq ist wirklich ein Spassvogel. Und dieses Jahr zu Ostern hat er
fuer Euch eine wirklich tolle Ueberraschung parat. So ist naemlich durch
den schon einige Wochen andauernden, unbezahlten Urlaub eines Gildenmagiers
einiges an Geld gespart worden. Und fuer dieses Geld hat Kruuolq fuer
Euch einen Osterhasen engagiert, der am Ostersonntag den ganzen lieben
langen Tag Eier in unserer schoenen Gilde verstecken wird.

Viel Spass beim Suchen, und verratet Kruuolq nicht, dass ich gepetzt hab.

 - Tilly -

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



Re: UEBERRASCHUNG!!! (Morgoth,  2. Apr 1999, 03:31:02):
~#! rn=Tilly rt=923012480 rg=gilden.chaos
~#! tid=923012480
Arme Chaoten, armer Kruuolq.
Wenn Die nichts besseres zu tun haben, als Kruuolqs Eier zu suchen....

M*

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



Re: Re: UEBERRASCHUNG!!! (Tilly,  2. Apr 1999, 03:35:43):
~#! rn=Morgoth rt=923016662 rg=gilden.chaos
~#! tid=923012480
Armer Morgoth, arme Kleriker (*verallgemeiner*).
Da stand was von 'Osterhase' ...
 - Tilly - 
p.s.: steht M* fuer Muell? ;-)

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



Re: UEBERRASCHUNG!!! (Key,  2. Apr 1999, 23:55:04):
~#! rn=Tilly rt=923012480 rg=gilden.chaos
~#! tid=923012480
OSTERHASE?
EIER?
Du bist gefeuert Tilly!

Key

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



Re: Re: UEBERRASCHUNG!!! (Feuerwehr,  3. Apr 1999, 01:21:11):
~#! rn=Key rt=923090104 rg=gilden.chaos
~#! tid=923012480
Hi!

Kein Spieler feuert Tilly. Das ist unser Job. Und sei versichert, zur rechten
Zeit werden geeignete Disziplinarmassnahmen eingeleitet werden.

Ha! Gibs doch zu! Du machst Samstag abend durch, um Sonntag als erster an die
Eier zu kommen!

Gruesse!

    Feuerwehr.

PS: Aehm, man sucht uebrigens mit dem suche-befehl wild in Details.

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



Re: UEBERRASCHUNG!!! (Asmodis,  3. Apr 1999, 02:16:02):
~#! rn=Tilly rt=923012480 rg=gilden.chaos
~#! tid=923012480
Hmm, diese kleinen schwarzen Ostereier, die wie Rosinen aussehen ? :-)

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



Re: UEBERRASCHUNG!!! (Teddy, 11. Apr 1999, 03:42:22):
~#! rn=Tilly rt=923012480 rg=gilden.chaos
~#! tid=923012480
Seid ihr eigentlich wahnsinnig?

Wir sind boesartig und gemein, wir sind das BOESE schlechthin.
Kaum is man mal nich da um aufzupassen fangt ihr an nett zu werden oder sogar
noch schlimmer: NIEDLICH!!!

Teddy, geht lieber wieder ins Exil und bringt nen Besen mit beim naechsten Mal
zum zusammenkehren der Scherben (aber den Besen mitrosa Plueschborsten)

P.S. ;-)

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



Re: Re: UEBERRASCHUNG!!! (Asmodis, 11. Apr 1999, 03:50:48):
~#! rn=Teddy rt=923794942 rg=gilden.chaos
~#! tid=923012480
Und das sagt so ein Plueschbaer :-)

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



Achtung! (Tilly, 27. Apr 1999, 18:25:50):
Moin moin Chaoten,
aufgrund eines fehlerhaften und unvollstaendigen spellbooks sahen Bierchen und
ich uns gezwungen, ein etwas aelteres in das entsprechende Verzeichnis zu
kopieren. Einige Aenderungen der letzten Zeit werden wohl nicht funktionieren,
aber zumindest koennt Ihr hoffentlich bugfrei spielen. Wir werden das
schnellstmoeglich zu klaeren versuchen.
Gruss,
           - Tilly -

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



Re: Achtung! (Bierchen, 27. Apr 1999, 18:51:57):
~#! rn=Tilly rt=925230350 rg=gilden.chaos
~#! tid=925230350
Hiho,
um genau zu sein, das momentane Spellbook wurde zuletzt am 10.01.99 geaendert.
daher koennte es moeglicherweise an einigen Stellen zu kleineren Bugs kommen.
Aber keine Sorge, wir bereiten schon eine blutige Folter fuer den Schuldigen
vor. Freikarten dafuer werden demnaechst per Mail an alle Chaoten verschickt.
Mitglieder anderer Gilden koennen diese im Vorverkauf bei Tilly beziehen. 
Gruss,
     - Bierchen -

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



Re: Re: Achtung! (Tunixgut, 27. Apr 1999, 18:52:33):
~#! rn=Bierchen rt=925231917 rg=gilden.chaos
~#! tid=925230350
Fuer welchen Preis???

's Karate-Zwerchle...

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



Re^3: Achtung! (Tilly, 27. Apr 1999, 18:52:56):
~#! rn=Tunixgut rt=925231953 rg=gilden.chaos
~#! tid=925230350
112 Muenzen .... >:)

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



*grins* (Hight, 27. Apr 1999, 19:04:55):
ich nehm eine :o))

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



Daemonen (Feuerwehr, 27. Apr 1999, 21:10:05):
Hi!

Nachdem nun das Spellbook wieder laeuft und ihr alle mich hasst, kann ich euch
gleich schonungslos weiterquaelen.

*Raeusper* Viel Wasser sind die Fluesse herabgeflossen, seit diese Gilde die
Dunkelheit dieser Welt erblickt hat. Viele Daemonen wurden mit vielerlei
Komponenten beschworen, um Panik und Schrecken in diese Welt zu bringen.

Doch alles veraendert sich, und die Zeit geht auch an den Komponenten nicht
spurlos vorbei. Jene werden bald, prinzipiell sobald wir genug Komponenten im
MG untergebracht und aus dem Gildenladen ausgelagert haben, sehr viel
wichtiger fuer die Daemonen werden, welche wir Chaoten beschwoeren.

Die erste Stufe dieser Umstellung hat sich heute vollzogen. Ihr werdet dies
jedoch nur merken, wenn ihr eure Pentagramme identifiziert, denn dort sagt
Kruftur nun Dinge wie:

Kruftur sagt: Das Pentagramm ist sehr gut geworden. Der Bannkreis ist sehr
Kruftur sagt: gut. Durch dieses Pentagramm wird Irkitis absolut maechtig,
Kruftur sagt: Harkuhu absolut maechtig, Graiop sehr maechtig, Flaxtri
Kruftur sagt: maechtig, Tutszt gut und Yrintri gut werden. 

Schaut euch schonmal um, sucht gute Komponenten. Experimentiert mit ihnen,
damit ihr eure Lieblinge herausfindet, bevor die Werte umgestellt werden. Wir
Gildenmagier wuenschen viel Spass und hoffen auf Feedback.

Gruesse!

    Feuerwehr (i.A. der Gildenmagier)

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



Re: Daemonen (Zillus, 28. Apr 1999, 08:59:18):
~#! rn=Feuerwehr rt=925240205 rg=gilden.chaos
~#! tid=925240205
ohh ;-)
Muss ich jetzt dann zu den Karatekas wechseln :-) ? Ich hasse es, Komponenten
zu suchen, das ist doch nur was fuer Bluemchenpflcker ;-)

Gut Tutszt, Zillus

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



Re: Re: Daemonen (Tunixgut, 28. Apr 1999, 11:10:20):
~#! rn=Zillus rt=925282758 rg=gilden.chaos
~#! tid=925240205
Wir werden Dich mit offenen Armen aufnehmen, Zillus! ;o)
Aber das machen die Bet-Fuzzies bestimmt auch! ;o))

's Karate-Zwerchle

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



Re: Daemonen (Jasper, 28. Apr 1999, 12:56:22):
~#! rn=Feuerwehr rt=925240205 rg=gilden.chaos
~#! tid=925240205
"....Tutszt gut und Yrintri gut werden."

jasper dachte immer dass da daemonen beschworen werden.

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



Wie geht es weiter? (Tatjana, 28. Apr 1999, 19:00:50):
Hi ihr Gildenmagier,

Es ist ja toll, dass sich na langer Zeit endlich wieder was tut in der Gilde,
Es ist ja toll, dass sich na langer Zeit endlich wieder was tut
in der Gilde, vielen Dank dafuer. Mich wuerde allerdings brennend
interessieren, ob ausser den Aenderungen am Gildenablauf moechte ich
es jetzt mal nennen, auch Aenderungen am Spruch oder Daemonensystem
geplant sind? Ich war fast ein 3/4 Jahr nicht mehr da und es scheint
mir, dass die zwischenzeitlichen Aenderungen im Morgengrauen die Chaosgilde
besonders stark getroffen haben, insbesondere der Malus beim ReinRaus Kampf.
Ist hier in absehbarer Zeit damit zu rechnen, dass die Kampfkraft der Chaoten
wieder auf den alten Stand gebracht wird, oder muessen wir das als dauer-
hafte Abwertung in Kauf nehmen?

Tatjana

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



Re: Wie geht es weiter? (Feuerwehr, 28. Apr 1999, 19:25:11):
~#! rn=Tatjana rt=925318850 rg=gilden.chaos
~#! tid=925318850

Okay, ich moechte da mal was zu sagen.

Der Malus beim RFR-Kampf hat alle Gilden gleich getroffen, egal ob es die
Kaempfergilde mit Waffenskills oder die Zauberergilde mit ihren Spells oder
die Chaosgilde ist.

Das Argument fuer Chaoten war immer, dass sie nicht genug Defensiv-Kraft
haben, um sich diese ersten 3 Sekunden im Raum zu verteidigen. Die Daemonen,
welche unsere Verteidigung sind, kaemen zu spaet und sie seien zu schwach, um
bei harten Gegnern lange auszuhalten.

Wir hoffen, dass dieses Problem bei der Umstellung der Daemonen in gewisser
Weise gelindert wird, vor allem werde ich mir mal einen EM schnappen und
schaun, was man mit der Schnelligkeit tun kann.

Ansonsten muss ich sagen, wer die Kampfkraft der Chaosgilde nicht fuer
ausreichend haelt, der soll in die Wueste gehen oder auf die Insel. Die
Chaoten sind sehr stark. Wer jammert soll gehen.

  Gruesse.

     Feuerwehr.

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



Re: Re: Wie geht es weiter? (Bambulko, 28. Apr 1999, 19:26:46):
~#! rn=Feuerwehr rt=925320311 rg=gilden.chaos
~#! tid=925318850
Genau, Chaoten alle abwerten.....

Bambulko

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



Re: Wie geht es weiter? (Hood, 28. Apr 1999, 20:20:40):
~#! rn=Tatjana rt=925318850 rg=gilden.chaos
~#! tid=925318850
ja ja, es hat jede gilde am haertesten getroffen :)
*bedauer* *bedauer* *bedauer* ...

------
patryn, der mit den chaoten um die wette heult

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



Re: Re: Wie geht es weiter? (Gor, 29. Apr 1999, 14:43:27):
~#! rn=Feuerwehr rt=925320311 rg=gilden.chaos
~#! tid=925318850
Genau!

Gor ganz kurz.

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



Re: Daemonen (Silvana, 29. Apr 1999, 23:14:25):
~#! rn=Feuerwehr rt=925240205 rg=gilden.chaos
~#! tid=925240205
Ich snipp mal nen bisschen:
Kruftur sagt: Durch dieses Pentagramm wird ... Tutszt gut ... werden.

Sagt mal... Geht bei Euch der Rinderwahn um? Wieso sollte Tutszt denn GUT
werden? Zwingt den jemand zu beten oder sowas?

Silvana (wundert sich)

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



Re: Re: Daemonen (Asmodis, 29. Apr 1999, 23:17:35):
~#! rn=Silvana rt=925420465 rg=gilden.chaos
~#! tid=925240205
Ich schaetze, die Chaos-Gilde wird langsam durch Kleriker infiltriert.
Anders kann man sich das nicht erklaeren ...

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



Re: Re: Daemonen (Streawkceur, 30. Apr 1999, 00:07:08):
~#! rn=Silvana rt=925420465 rg=gilden.chaos
~#! tid=925240205
Bei sehr schlecht gelungenen Pentagrammen wird er dann heilig...

rr

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



28 (Shannara, 30. Apr 1999, 10:48:56):
~#! rn=Shannara rt=925461717 rg=gilden.chaos
~#! tid=925240205
Silvana,
mach einmal ein 'weihe zauberstab'.
-->
"Du sprichst ein kurzes, inbruenstiges Gebet. Eine Schaufel leuchtet kurz auf,
als Llystrathe Dein Gebet erhoert und Lembold dazu zwingt, die Waffe mit
seinem Heiligen Zorn zu versehen."
Ich finde das etwas sehr seltsam, dass die Zauberer ihren Stab WEIHEN koennen.
Vielleicht kommt als naechstes ein heimliches take-over, wo die Kleriker von
den Zauberern assimilliert werden? :)
 
Vielleicht stellt sich heraus, dass Llystrathe immer schon die Uebergoettin
war (zumindest laesst einen das zu denken, wenn ich mal Trugs Stab 'weihe')?
:)
Shannara

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



Re: 28 (Anatol, 30. Apr 1999, 14:09:54):
~#! rn=Shannara rt=925462136 rg=gilden.chaos
~#! tid=925240205
LIES was da steht. Nicht der Zauberer weiht, sondern Lembold.

Anatol :o)


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



Re: Re: 28 (Shannara, 30. Apr 1999, 14:10:34):
~#! rn=Anatol rt=925474194 rg=gilden.chaos
~#! tid=925240205
Aber "Mrs" Llystrathe zwingt. Das gibt zu denken :)

--> schmarrn / muell

Shannara.

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



Re^3: 28 (Anatol, 30. Apr 1999, 14:12:08):
~#! rn=Shannara rt=925474234 rg=gilden.chaos
~#! tid=925240205
Hae? Wieso gibt das zu denken? Llystrathe ist unsterbliche Vorsteherin
der Akademie der geistigen Kraft zu Taramis und damit einem Gott doch
zumindest gleichgestellt. Und wenn Du schonmal im Himmel warst - hast
Du da irgendwo einen Lembold gefunden? Nein? Tja, so eine Pappnase aber
auch...

Anatol - findet das schon ok so :o)


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



Re^4: 28 (Pra, 30. Apr 1999, 14:40:57):
~#! rn=Anatol rt=925474328 rg=gilden.chaos
~#! tid=925240205
Sacht mal, koennt ihr diesen Zauberer-/Klerikerquatsch gefaelligst mal
aus dieser reinen Rubrik entfernen?! Ist ja ekelhaft!

Pra.

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



Re: 28 (Silvana, 30. Apr 1999, 23:33:12):
~#! rn=Shannara rt=925462136 rg=gilden.chaos
~#! tid=925240205
Das laesst sich erklaeren: Als Lembold als Magier noch existierte, hatte er
Magierlevel 15. Llystrathe hingegen hatte meine Zugriffsrechte, als EM-Rechte.
Damit ist es natuerlich leicht einen L15er zu zwingen. :) Sonst noch Fragen?
:)

  Silvana

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



Re: Re: 28 (Asmodis,  1. Mai 1999, 00:41:09):
~#! rn=Silvana rt=925507992 rg=gilden.chaos
~#! tid=925240205
Und als Lembold ein kleiner Wurstmagier war, hat Llystrathe ihm einen Knopf
eingebaut, mit dem sie ihn zu allem zwingen kann.
Deshalb kann LL... ihn heute auch noch unterdruecken :-)

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



Re^3: 28 (Firehawk,  1. Mai 1999, 17:40:02):
~#! rn=Asmodis rt=925512069 rg=gilden.chaos
~#! tid=925240205
Baaaaah, jetzt werden die Zauberer auch noch so verdammte Goodygooder und das
posten die auch noch in unserer Rubrik. Kann ja wohl net wahr sein.

And a grouchy 'Baaaaaah Humbug!' to you ... Firehawk!

PS: Schmeisst mal einer unserer Magier die Artikel dahin wo sie hingehoeren ?

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



Re: Wie geht es weiter? (Teddy,  3. Mai 1999, 20:45:32):
~#! rn=Tatjana rt=925318850 rg=gilden.chaos
~#! tid=925318850
Wieso Abwertung?

Ausserdem heul doch oder mit Lug zu sprechen:
Frauen in die Klerikergilde.

Teddy, versteht das Gejammer ueber rfr nicht.

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



Re: Re: Wie geht es weiter? (Asmodis,  3. Mai 1999, 20:47:05):
~#! rn=Teddy rt=925757132 rg=gilden.chaos
~#! tid=925318850
Und Teddybaeren gehoeren in die Knuddelgilde!

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



Re^3: Wie geht es weiter? (Teddy,  3. Mai 1999, 20:49:37):
~#! rn=Asmodis rt=925757225 rg=gilden.chaos
~#! tid=925318850
Ich bin boesartig gemein, fies und hinterhaeltig.

Teddy, schmollt jetzt.

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



Re: Wie geht es weiter? (Key,  4. Mai 1999, 14:00:44):
~#! rn=Tatjana rt=925318850 rg=gilden.chaos
~#! tid=925318850
*hust*

Oehm ..... erklaer mal was Du mit dauerhafter abwertung genau meinst ....

Key

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



Re: Re: Wie geht es weiter? (Songoku,  6. Mai 1999, 11:14:15):
~#! rn=Hood rt=925323640 rg=gilden.chaos
~#! tid=925318850
bis auf die Karatekas. (da gibt es ja nix zum abwerten)

Sayounara!

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



Daemonen (Feuerwehr, 17. Mai 1999, 20:42:47):
Hi Chaoten!

Die neue Daemonenberechnung ist ja jetzt schon eine Weile drann und ich bin
sehr froh sagen zu koennen, dass wir nur positive Rueckmeldungen erhalten
haben (naja, prinzipiell haben wir garkeine Rueckmeldungen erhalten, aber no 
news is good news, wie man so schoen sagt :-)).

Ich nehme das als Zeichen dafuer, dass der Vorrat an guten 'Kreiden' auch   
ausserhalb des Gildenladens ausreichend fuer eure Lieblingsdaemonen ist.
Wir werden die Daemonen also bald umstellen.

Falls ihr noch nicht geschaut habt, wo ihr ausserhalb des Ladens gute
Komponenten fuer eure Daemonen herkriegt, so wird es aber mal richtig Zeit. 
In den Gebieten folgender Magier haben wir uebrigens weitere Komponenten
versteckt (evtl. sind diese Gebiete noch nicht ganz angeschlossen, aber
bald):

Ark, Paracelsus, Silvana, Morgoth, Tilly, Noel, Tsunami, Wurzel, Padreic,   
Georg. 

Vielen Dank an diese Magier fuer ihre Unterstuetzung.

Gruesse!                     

      Feuerwehr.

PS: Also, malen, Kruftur holen, testen! Go for it!
    Kommentare sind immernoch willkommen!
    Auch die 'alten' Komponenten in ihren Gebieten sind natuerlich noch da
    und nicht zu verachten!

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



Daemonen (Illian, 18. Mai 1999, 15:22:08):
Hallo Gildenmagier,
an sich ist die Idee, die neuen Komponenten zu verstecken etwas seltsam.
Welchen Sinn hat es, den Versuch unserer Gilde das Boese zu verbreiten, zu
erschweren ? Es waere hoechstens logisch, gute Beschwoerungsgegenstaende von
Monstern mit guter Gesinnung bewachen zu lassen. Alles andere hoert sich nach
reiner Schikane an, um endlich mal den Gelegenheitschaoten zu schaedigen.
PS Ich heule nicht Key
Illian

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



Re: Daemonen (Feuerwehr, 18. Mai 1999, 18:19:01):
~#! rn=Illian rt=927033728 rg=gilden.chaos
~#! tid=927033728
Oehm.

Ich sollte hier vielleicht darauf hinweisen, dass die Daemonen mit dieser
neuen Berechnung auch ein klein wenig aufgewertet werden. Du verlangst nun,
dass Du die perfekten Komponenten fuer diese Daemonen im Laden kaufen kannst?
Da wuerde mich unser Balance-EM aber treten fuer und das waere unserer
Daemonen auch nicht wuerdig.

Und das man fuer gute Daemonen gute Komponenten finden muss haeltst Du fuer
eine Schikane? Nun, das ist Auffassungssache. Ich halte es fuer eine gute
Sache, dass man Tutszt nicht mehr mit Kreide beschwoeren wird. Fuer das
Gilden-Feeling und ist das wirklich gut.

Ich kann Dich aber beruhigen, auch ein Gelegenheitschaot wie Du wird ohne
allzuviel Aufwand in Zardoz' Burg oder an anderen Stellen Komponenten finden,
welche fuer einen Gelegenheitschaoten voellig ausreichen. Motivierte Chaoten
werden in der Gilde jedoch etwas mehr Spass haben koennen .-).

Ich wuerde solche Korrespondenz lieber per Mail machen, schreibt mir also und
postet nicht...

     Feuerwehr.


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



Re: Daemonen (Apsu, 18. Mai 1999, 20:43:25):
~#! rn=Illian rt=927033728 rg=gilden.chaos
~#! tid=927033728
Was spricht eigentlich dagegen, dass gute Gegenstaende von Monstern mit
_boeser_ Gesinnung bewacht werden? da muessten die Chaoten halt auf ihr
Alignment achten ]:)

Apsu, schon mal wieder sein /gag_ombatis rauskramend :)

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



Re: Re: Daemonen (Wurzel, 18. Mai 1999, 20:48:23):
~#! rn=Apsu rt=927053005 rg=gilden.chaos
~#! tid=927033728
eben. nur ein boeses wesen wuerde so etwas hueten wie seinen augapfel,
andere wuerden derart schlimme gegenstaende doch sofort vernichten. ist
also nur logisch. oder nicht?

wurzel

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



Re: Re: Daemonen (Alpha, 18. Mai 1999, 21:30:41):
~#! rn=Feuerwehr rt=927044341 rg=gilden.chaos
~#! tid=927033728
Gelgenheitsmudden und dann in Zaroz Burg? Wie jetzt?
Alpha.

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



Daemonen und ihre Gesinnung (Samtpfote, 19. Mai 1999, 08:42:38):
Es verwundert mich eigentlich, dass Chaoten mit einer neutralen Gesinnung oder
sogar leicht guten herumlaufen, ohne dass deren Daemonen und deren Chaoshaut
sich daran stoeren.
Wie waere es, wenn diese Daemonen nach einiger Zeit - wenn das Alignment
allzusehr von Boesen abweicht - gegen die Besitzer sich wenden bzw nicht mehr
beschwoerbar sind?
Bei den Zauberern haengt es doch auch bei einigen Spruechen ab, welcher
Gesinnung man ist.
Nur ein Vorschlag.
samtpfote


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



Re^3: Daemonen (Anakin, 19. Mai 1999, 09:26:41):
~#! rn=Alpha rt=927055841 rg=gilden.chaos
~#! tid=927033728
Also ich bin eigentlich weniger als Gelegenheitsmudder und die
Daemonenburg ist ja nun wirklich nicht hart (das war sie evt.
vor 2 oder 3 Jahren (naja nicht wirklich)).

Anakin.

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



Re^4: Daemonen (Amaryllis, 19. Mai 1999, 09:31:04):
~#! rn=Anakin rt=927098801 rg=gilden.chaos
~#! tid=927033728
ich glaube, dass da eher das "Sich-Auskennen" gemeint war - zur Not muss halt
jeder Wurstchaot mal einen Burgrundgang durchfuehren *g*
vielleicht findet sich ja ein Chaosrentner, der das uebernimmt... *kicher*

Feechen Ama*

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



Re: Daemonen und ihre Gesinnung (Bendeigid, 19. Mai 1999, 09:39:35):
~#! rn=Samtpfote rt=927096158 rg=gilden.chaos
~#! tid=927096158
Das halte ich doch mal fuer einen ausgesprochen guten Vorschlag! 
Das faende ich durchaus angebracht, und ich bin leicht verwundert, dass das
noch nicht implementiert sein soll. Ich kenn mich zugegebenermassen mit der
chaosgilde nicht (mehr) aus, also keine flames, bitte.
Meine Meinung: feuerwehr, baus ein! Dann seh ich mal zu, ob ich nicht noch
irgendwem ein paar Pentagrammzutaten aufdruecken kann :)

Z'par Servu,
                Bendeigid

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



Re: Re: Daemonen (Mahatmu, 19. Mai 1999, 11:39:56):
~#! rn=Feuerwehr rt=927044341 rg=gilden.chaos
~#! tid=927033728
*post* :) Als Gildenfremder darf ich.
Ich find es prima ... die Chaoten wusseten mit dem 'damit kann man ueberaus
gut blabla zeichnen' das ich ihnen zusteckte naemlich bisher nie etwas
anzufangen ... und ich als Kleriker hab immer genug davon weggeworfen.
Bisher.

Aber vielleicht gelingt es mir doch noch, Euch zu bekehren ;-)
Gloin

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



Re: Daemonen (Jasper, 19. Mai 1999, 16:53:40):
~#! rn=Illian rt=927033728 rg=gilden.chaos
~#! tid=927033728
natuerlich ist das reine schikane :P
ausserdem haben die zauberer ja auch komponenten und deshalb muss auch jede
andere gilde sowas haben :)
sieht schon pappnases^H^H^H^H^H^H^H^H^Hpadreics dunkelelfen nach komponenten
suchend durch die gegend titschen.

Jasper wartet immer noch drauf das www.stoerti.com fertig geladen ist ;P

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



Re: Daemonen (Acrimon, 19. Mai 1999, 17:18:09):
~#! rn=Illian rt=927033728 rg=gilden.chaos
~#! tid=927033728
Und das sagt ein Chaot?!
Das Ziel der Chaosgilde ist es doch, boese zu sein, oder nicht?
Und gerade die Gildenobersten sollten da in nichts nachstehen.
Da ist es ja wohl das Mindeste, die Komponenten zu verstecken.
Aber ist es eigentlich *richtig* boese, wenn sie nur die Komponenten
verstecken? Eigentlich solltet Ihr Eure Gildenobersten absetzen, weil sie
nicht boese genug zu Euch sind :-)

Acrimon

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



Re: Daemonen und ihre Gesinnung (Apsu, 19. Mai 1999, 17:21:01):
~#! rn=Samtpfote rt=927096158 rg=gilden.chaos
~#! tid=927096158
huch? als ich mein posting gemacht habe (derzeit art. 34), dass boese Daemonen
die Dinge hueten sollen, damit die depp^H^H^H^Hguten Chaoten auf ihren
Charakter achten muessen, war ich _selbstverstaendlich_ davon ausgegangen,
dass das implementiert ist. Dafuer :)

Apsu im Namen seines Chaosersties

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



Re: Daemonen und ihre Gesinnung (Ark, 19. Mai 1999, 20:31:24):
~#! rn=Samtpfote rt=927096158 rg=gilden.chaos
~#! tid=927096158
Naja, dann muessen Chaoten aber damit leben, dass an einigen Stellen im Mud
(Questen oder so) vielleicht mal auf die Gesinnung geachtet (getestet) wird
:-)


              *** ARK * the * Magnificent ***


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



Re: Daemonen und ihre Gesinnung (Wum, 20. Mai 1999, 07:59:44):
~#! rn=Samtpfote rt=927096158 rg=gilden.chaos
~#! tid=927096158
genau, und warum geht eigentlich meine 'kontrolle' der chaoshaut, wenn ich
nicht echt boese bin? das ist wirklich eine sauerei! es ist echt eine
frechheit, dass ich im schacht oder in der fe oder sonstwas gesund rumlaufen
muss! ich bin ein chaot, ich moechte dort bitteschoen erblinden, mindestens
vergiftet werden danach und wirr durch die gegend laufen. schlag mich, trete
mich, gibs mir.. ich stecke es dankbar ein und gib dir sogar noch ein paar
muenzen dafuer... allerdings... ne, besser nicht, ich mag katzen eigentlich
nur auf toast...
  - Wum -

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



Re: Re: Daemonen und ihre Gesinnung (Trug, 20. Mai 1999, 10:20:21):
~#! rn=Wum rt=927179984 rg=gilden.chaos
~#! tid=927096158
Naja, du hast dich halt fuer das Boese im Gildenwesen entschieden.

Da musst du schon den kopf dafuer hinhalten, wenn du auch nicht boese bist.
Ansonsten koennte man sich das Alignment in allgmeinen sparen. 


Bleib halt boese in der Gesinnung und dann passiert dir das nicht. Die
Chaosgilde ist zwar nett und stimmig, aber wenn, dann muessen die Spieler das
auch durchziehen und einigermassen den Stil der Gilde folgen.

Wenn nicht, wuerde auch eine Mega-Ueber-Abenteurergilde als alleinige Gilde
reichen.

Trug. mal was vor den Latz knallend.

PS: Heul doch :) 
PPS: Sorry, aber das Ganze war wirklich etwas provozierend :)

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



Re: Re: Daemonen (Teddy, 20. Mai 1999, 13:06:54):
~#! rn=Jasper rt=927125620 rg=gilden.chaos
~#! tid=927033728
Die Komponenten der Chaoten sind uralt, die gabs schon immer, jedenfalls
mindestens seitdem ich mudde.
Es gibt auch bei den Chaoten Sprueche, die vom Allignment abhaengig sind und
es ist nicht lustig, eine finsternis auf irgendwas Fieses zu sprechen und dann
zu hoeren, du bist zu gut dafuer.
Ausserdem wird jeder Chaot mit ein bisschen Ehrlosigkeit im Leib
selbstverstaendlich automatisch darauf achten, boesartig und gemein zu sein.
Wenn du das Ganze jetzt noch ein wenig mehr vom Allignment abhaengig machst,
kommst du wieder in die alte Diskussion das es eindeutig zu wenig(als Chaot
eigentlich schon zu viele) gute NPCs gibt, so dass man tendenziell eher gut
als boese wird.
Natuerlich gibt es Stellen, wo man sein Allignment auch anders veraendern
kann, is aber nicht Sinn der Sache.

Teddy

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



Re^3: Daemonen und ihre Gesinnung (Teddy, 20. Mai 1999, 13:15:33):
~#! rn=Trug rt=927188421 rg=gilden.chaos
~#! tid=927096158
Also irgendwie hast du es immernoch nicht kapiert, oder?
Wie stimmig die gilde ist, haengt im Wesentlichen von den Spielern ab und ich
bin nicht Chaot weil es ne Uebergilde ist oder weil es so einfach ist, da gut
(in form von Qualitaet) zu werden.

Ich bin sihcerlich der Erste, der sowas gerne machen wuerde, ich waer auch
begeistert von unterschiedlichen Questloesungen die von der Gilde abhaengen
(Man hab ich mich geschaemt, als ich fuer Duesterwald doch heilig werden
musste)

Solange das alles nicht ist, sollte man sich aber ueberlegen, was genau man
fordert. Leute die absolut keine Ahnung von den Chaoten haben, stellen sich
hier mal eben hin und fordern Nachteile, schonmal aufgefallen dass unser
Allignment uns auch kaum Vorteile bietet? Ich hau nicht besser zu oder bin
gegen bestimmte Gegner mit bestimmtem Allignment aufgrund meiner
Gildenzugehoerigkeit besser. Ich toete halt als Chaot eh alles und jeden und
akzeptiere keine Obrigkeit.
Als Chaot ist man nicht dumm boesartig wie die Kleriker dumm heilig sind, als
Chaot isst man intelligent und skrupellos, man kann sogar mal zum Erreichen
seines Ziels so tun, als sei man gut.
(Waer doch mal nen neuer SKill, Gutartigkeit vortaeuschen)

Also, lasst das mit dem Allignment mal bitte im Moment schoen in Ruhe und
proggt endlich interessaqnte, heilige Gegner, dann noch nen kleinen Ausgleich
fuer solche Aenderungen und dann wirds auch was mit dem Nachbarn.

Teddz

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



Re^4: Daemonen und ihre Gesinnung (Teddy, 20. Mai 1999, 13:16:15):
~#! rn=Teddy rt=927198933 rg=gilden.chaos
~#! tid=927096158
Hmpf, die Tastatur ist gewoehnungsbeduerftig, ich bin nicht mehr so blau dass
ich meinen  Namen nicht schreiben kann. ;(

Teddy

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



Re^3: Daemonen (Apsu, 20. Mai 1999, 15:02:59):
~#! rn=Teddy rt=927198414 rg=gilden.chaos
~#! tid=927033728
Naja es sagt doch keiner was von Chaoten abwerten. Nur von etwas mehr
Gildenfeeling.

Apsu, fast einzeilernd.

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



Re^4: Daemonen (Teddy, 20. Mai 1999, 15:04:16):
~#! rn=Apsu rt=927205379 rg=gilden.chaos
~#! tid=927033728
Also dsa massive Einbauen von Nachteilen nennst du also nicht abwerten.

Teddy, auch fast einzeilend.

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



Re^5: Daemonen (Apsu, 20. Mai 1999, 15:06:44):
~#! rn=Teddy rt=927205456 rg=gilden.chaos
~#! tid=927033728
Was heisst hier konkret massiv? Da muss man natuerlich evebtuell ein wenig am
Alignment einiger NPCs basteln. In einer Gegend mit ausschliesslich boesen
oder neutralen NPCs isses dann natuerlich schwierig, boese zu bleiben. Aber
vielleicht gibts ja Vorschlaege, mit denen da was zu machen waere.

Apsu

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



Re^6: Daemonen (Teddy, 20. Mai 1999, 15:07:42):
~#! rn=Apsu rt=927205604 rg=gilden.chaos
~#! tid=927033728
Also eigentlich argumentierst du gerade mit meinen Argumenten gegen mich. ;-)

Ich hab nix gegen Umwerten, Anpassen und Nachteile, wenn man auf die
Konsequenzen achtet, also sind wir uns im Prinzip einig denke ich.
Teddy

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



Re^6: Daemonen (Gor, 20. Mai 1999, 15:11:48):
~#! rn=Apsu rt=927205604 rg=gilden.chaos
~#! tid=927033728
Du glaubst doch wohl nicht im Ernst, dass jemand hingeht und hunderte von NPCs
ueberarbeitet?

Gor

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



Re^7: Daemonen (Apsu, 20. Mai 1999, 15:22:43):
~#! rn=Gor rt=927205908 rg=gilden.chaos
~#! tid=927033728
Hab ich behauptet, dass mein Vorschlag realistisch ist? Ich sehs eher als
Diskussionsgrundlage

Apsu

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



Re^8: Daemonen (Hood, 20. Mai 1999, 16:01:51):
~#! rn=Apsu rt=927206563 rg=gilden.chaos
~#! tid=927033728
du entfachst somit eine sogenannte sinnlose diskussion? :)
jede gilde hat nun einmal vor- und nachteile, die sich nicht ausschliesslich
in der balance begruenden soll(t)en, sondern eher aus dem gildenkonzept
heraus erwachsen. chaoten sollen halt boese, fies und gemein sein und keine
boesen, sondern gute monster killen. wenn es gegenden mit vielen guten
monsterchen gibt, dann habt ihrs dort halt schwer.
(ich mein boese, hmpf)
bei klerikern ist es in etwa andersrum, und die haben auch kapiert, warum
das so ist und bleibt. es gehoert halt zur gilde dazu.

------
patryn

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



Re: Re: Daemonen und ihre Gesinnung (Ark, 20. Mai 1999, 21:45:32):
~#! rn=Wum rt=927179984 rg=gilden.chaos
~#! tid=927096158
Hm, ich notiere eifrig mit, kannst Du haben :-)


              *** ARK * the * Magnificent ***


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



Re: Re: Daemonen und ihre Gesinnung (Bierchen, 20. Mai 1999, 22:38:26):
~#! rn=Wum rt=927179984 rg=gilden.chaos
~#! tid=927096158
wow, sowas wird hier bald geboten? hast du auch was mit lack&leder,
handschellen und peitschen und so? natuerlich frage ich nur im auftrage eines
freundes, ist doch klar :) schick mir mal eine preisliste :)
gruss,
    - Bierchen -

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



Re^9: Daemonen (Schoko, 22. Mai 1999, 22:39:19):
~#! rn=Hood rt=927208911 rg=gilden.chaos
~#! tid=927033728
> bei klerikern ist es in etwa andersrum, und die haben auch kapiert, warum
> das so ist und bleibt. es gehoert halt zur gilde dazu.

Naja wie gesagt. das Argument war ja, es gibt im MG _wesentlich_ mehr boese
als gute Monetser, weil halt einfach das Vorurteil existiert, dass richtig
heftige Monster eben richtig _boese_ Monster sind.
Und auch was sonst so rumfelcuht und kreucht ist eben halt meist boese, weil
das bei Tolkien eben so ist oder was weiss ich ... irgendwie muss halt was
gemetzelt wird auch boese sein ... ich glaub ihr habt den punkt gekriegt ;)

Schoko

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



Re^3: Daemonen (Key, 24. Mai 1999, 17:18:36):
~#! rn=Wurzel rt=927053303 rg=gilden.chaos
~#! tid=927033728
Noe, die guten sind zu bloede um das BOESE zu vernichten ;)
Sie wuerden es hueten wie ihren augapfel, waehrend die boesen allerlei
Schabernack damit trieben ;)

Key

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



Re^4: Daemonen und ihre Gesinnung (Key, 24. Mai 1999, 17:23:05):
~#! rn=Teddy rt=927198933 rg=gilden.chaos
~#! tid=927096158
Fuer Duesterwald muss man net heillig sein.

Key

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



Re^5: Daemonen und ihre Gesinnung (Teddy, 26. Mai 1999, 16:03:32):
~#! rn=Key rt=927559385 rg=gilden.chaos
~#! tid=927096158
Es erleichtert das ganze aber enorm.
Genauso wie ich damals in der Pyramidenquest als nichtguter gewisse Probs
gehabt haette.

Teddy

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



Bibliothek geht wieder (Feuerwehr, 31. Mai 1999, 15:14:10):
Hi!

Die Bibliothek geht wieder. Wer garnicht wusste, dass sie mal kaputt war, der
sollte wissen, dass wir anderen Spieler jetzt ein kleines, duesteres Geheimnis
kennen und er nicht.

Gruesse!

    Feuerwehr.

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



Neues Zeugs fuer Chaoten in der Eismine (Tsunami, 10. Jun 1999, 15:49:14):
Huhu fleissige Metzler, 

Chaos ist ueber die Eismine hereingebrochen. Ihr findet nun in der Eismine
(Normal und Para) plus Umgebung 5 Chaoskomponenten. Viel Spass beim Suchen
und Zerstoeren!


i.A. des Chaos: Tsunami (mal wieder so richtig fleissig).

P.S. eine Komponente, und das darf ich verraten, besitzt der Schreckensdrache,
der immer noch laessig in seiner Schreckensdimension hockt und darauf wartet,
dass ihn mal ein Chaot herausfordert ;)

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



Kleriker in den Poalar  (Puk, 18. Jun 1999, 09:44:18):
Hey,wenn jetzt schon die Kleriker in den Polar gehen um unsere Gilde zu
zerstren ? wann drfen wir den da loslegen ? ;)


Puk sagt : Einen Ombatis muss jeder Kleriker haben :)

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



Neue Raeume (Feuerwehr, 19. Jun 1999, 16:21:16):
Hi!

Dieser Artikel wird einiges ueber die neuen Chaos-Gildenraeume erzaehlen,
wie und weshalb sie entstanden, wer sie programmiert hat und so weiter. Der
Artikel ist lang und nicht lebenswichtig. Nicht Interessierte koennen hier
also mit reinem Gewissen abbrechen.

DIE NEUEN GILDENRAEUME SIND ENDLICH DA!

Endlich ist es soweit. Nach einem Jahr schliessen wir an. Wahnsinn. Ihr
werdet euch sicher fragen, was an den 'Raeumen' denn so toll ist, deshalb
hier eine kleine Auswahl:

Wir haben einen schwarzen Eisberg, eine gewaltige Hoehle, eine schwarze
Burg, wir haben Tuerme und Abgruende, wir haben zusammenbrechende Bruecken
und jede Menge Saeure, wir haben Feuer und Eis, wir haben Friedhoefe und
Zombies, Kerker und Gefaengnisse, Untote jeglicher Gilde und jeglicher
Gestalt, wir haben Stachel- und Waechterdaemonen, kleine Daemonen, welche in
Ohren kriechen, und grosse Daemonen, welche man nur von Kronleuchtern aus
erkennen kann. Wir haben Geheimraeume und Geheimgaenge, wir haben
Laboratorien und Krypten, wir haben eine schwarze Messe und boesartige
Rituale, wir haben Blut (oh jaaa) und Knochen, wir haben den Vampir- und
Flugdaemonen, wir haben Fanartikellaeden und Altenheime, wir haben Galerien 
und jede Menge Bilder, wir haben kleine und grosse Aufgaben, wir haben 
gefangene Seelen, wir haben Teufel und Engel, wir haben Tode en Mass und den 
neuen Todesraum der Chaoten, wir haben Horror und Drama, wir haben jede Menge
Gags. Und wir haben viel viel mehr. Verdammt, wir haben sogar eine blutige
Kapelle samt Heiratsmoeglichkeit und fuer die Flitterwochen eine
Folterkammer, sind wir nicht krank?

Nachdem ihr nun vielleicht etwas neugierig seid, kommen wir zur Historie
dieser Raeume (und hoert auf zu gaehnen da hinten!).

Das ganze Projekt begann vor einem Jahr und war fuer eine grosse Menge an
Mitprogrammierern gedacht, doch (ich denke gluecklicherweise) kam es zu
einem Kernteam von drei Leuten: Swift, Sting und mir. Und ich kann Swift und
Sting garnicht genug danken. Diese beiden haben das Team am Leben gehalten,
sie haben die besten Ideen gehabt, und nur durch sie hat all dies ueberhaupt
entstehen koennen. Und waehrend des letzten halben Jahres, waehrend dem wir
eigentlich permanent anschliessen wollen (aber immer irgendwelche doofen 
Dinge dazwischen kamen), haben sie mir gnadenlos die Treue
gehalten, was ich ihnen nie vergessen werde. Ihnen gebuert sicher mehr Lob 
als mir. Es war mir eine grosse Freude, mit den beiden arbeiten zu duerfen.

Wir drei haben eigentlich gleiche Anteile an dieser Gilde programmiert. 
Vielleicht koennt ihr ja anhand der Beschreibungen feststellen, was von wem 
programmiert wurde :-). 

Ausserdem haben natuerlich Tilly und Bierchen mitprogrammiert, und die bei-
den haben dann die voellig kranken und verabscheuungswuerdigen Dinge
in dieser Burg programmiert. Ich moechte hier nur den Fanartikelladen
erwaehnen. Ausserdem hatten sie die gewaltige Aufgabe, unsere ganzen
Erguesse zu testen, anzumakeln und fuer boese zu halten, und das war eine
verdammt harte Aufgabe, fuer die ihnen grosses Lob zusteht, denn wir haben
verflucht viel programmiert.

Und wo wir grad beim Beteiligte-Aufzaehlen sind, Nachtwind hat unser Zeug
ebenfalls gildentechnisch abnehmen muessen, was er auch brav getan hat.
Boeser Mann. Und Rikus hat ueber 120 FPs in unseren Raeumen untergebracht.

Warum haben wir diese Raeume programmiert? Um eine Gildenaufwertung zu
kaschieren und an NW vorbeizuschmuggeln? Sicher, aber nicht nur.^Z^Z^Z^Z^Z^Z
Nein, deswegen nicht. Der Chaosball haut nicht staerker rein als vor der
Umstellung, und weiter fliegt er auch nicht. Wir haben sicher viele kleine
neue Features, welche man so interpretieren koennte, doch darum ging es uns
nicht. Einige Chaoten werden mich sicher bald wild beschimpfen, weil das
entfroschen nun doch etwas laenger dauert als vorher und der Mulai oder wer
auch immer doch schon am Hochideln ist. Wir schrieben diese neuen Dinge, um
die Atmosphaere dieser Gilde zu verdichten, um sie schoener und boesartiger
zu machen. Wir haben den Gildenein- und Austritt ueberarbeitet, wir haben
saemtliche 'Heilungen' durch schoene Sequenzen ersetzt, wir haben das Lernen
der Sprueche verteilt und mit Sequenzen unterlegt, wir haben Wuqour viel
mehr in das Gildengeschehen einbezogen. Generell passiert viel mehr in
dieser Gilde. Wir haben viele neue Gesichter, Mitarbeiter der Gilde, Tot,
Untot, Daemonisch oder Lebendig, welche der Gilde einen neuen Flair geben
sollen. Saemtliche 'alten' Gildenraeume wurden komplett ueberholt und mit
einer extrem hohen Detaildichte versehen. Es soll Spass machen, sich diese
Raeume anzuschaun. Wir haben sogar die neue Seher-Metzelmasterquest, um auch
Top-Chaoten mal wieder ein bisschen was zu tun zu geben.

Sind wir fertig mit den Raeumen? Nein, noch lange nicht. Von all dem, was
mir so an Ideen im kranken Hirn herumschwirrt, ist nur ein Bruchteil 
erreicht. Doch das macht nichts, denn so hat man noch laenger die Spannung.
Wer wirklich das Geheimnis dieses Berges ergruenden will, der muss sich halt
noch etwas gedulden. Ihr werdet deshalb an den merkwuerdigsten Stellen Baeume 
finden, welche euch den Weg versperren oder Tueren, welche verschlossen sind.
Wartet. Irgendwann einmal werden auch diese Dinge (vielleicht?) gefaellt oder
geoeffnet werden. Dann koennt ihr in die tieferen Ebenen vorstossen, und dann
wird es richtig lustig. 'Nicht fertig' ist auch Tilly. Tilly war bis heute
fuer einen Monat verschwunden, weshalb sein raeumlicher Beitrag noch nicht 
angeschlossen ist. Die Krypta samt schwarzer Messe, DAS Highlight der Burg, 
wird also erst in der naechsten Woche geoeffnet werden. Wir schliessen
trotzdem schon an und Tilly ist einverstanden damit.

Okay, kommen wir zum unangenehmen Teil. Typos. Ich bin ein Suender, ich bin
Staub, ich kreiere Typos. Massenweise. Ich entschuldige mich an dieser
Stelle in aller Form dafuer. Doch ich werde diese Typos ausbauen, wenn ihr 
sie fein absetzt. Was bedeutet fein?

- Typos der Form  'typo Huette' werde ich ignorieren.
  Typos der Form  'typo Detail Waldrand: Huete -> Huette' werde ich wohl-
                  wollend zur Kenntnis nehmen und korrigieren.
- Ideen der Form  'idee zaehlen' werde ich ignorieren.
  Ideen der Form  'idee detail Ecken: Hier waere der befehl 'zaehle' cool.
                   Ach uebrigens, total geiler Raum, grosses Lob!'
                   werde ich wohlwollend zur Kenntnis nehmen.

Bugs. Wir haben da knapp 200 Raeume, in denen einige sehr komplexe Dinge
ablaufen. Bombensicheres Testen ist unmoeglich, also habt etwas Nachsicht,
wenn es in der ersten Zeit zu kleineren Unregelmaessigkeiten kommt. Nicht
dass ich sowas erwarte.

Ich wuensche euch allen, auch im Namen von Swift, Sting, Bierchen und Tilly
viel Spass in den Raeumen der Chaosgilde. Ich hoffe wirklich sehr, dass sie
euch Spass machen, denn wir haben uns grosse Muehe gegeben.

Viele Gruesse

        Feuerwehr.






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



Re: Neue Raeume (Tatjana, 21. Jun 1999, 13:59:18):
~#! rn=Feuerwehr rt=929802076 rg=gilden.chaos
~#! tid=929802076
Nach 2 Tagen intensiven Umschauens muss ich jetzt doch mal meinen Senf dazu
abgeben.
Selten in meinem MG-Dasein habe ich eine derart unheilschwangere, duestere,
finstererer und aetzend chaotischere Umgebung gesehen als in und um die
neue Gilde. Sie kotzt mich an, sie laesst mir die Gedaerme aufstossen,
sie verfinstert mein Herz und schmerzt meine Seele. Hier endlich kann ich 
Chaotin sein und die dunkle Seite der Macht auskosten.
Ich entdecke jede Stunde neues Chaos, neue finstere Ideen quaelen mein
Herz, neue Moeglichkeiten, das Chaos zu verbreiten eroeffnen sich.

Feuerwehr, Bierchen, Tilli, Swift und neuerdings auch Sting, Ihr habt
wirklich geschafft, was ich nie gedacht haette, dass es jemand schaffen
kann. Ihr habt euch von den Verwaltern von Zardoz Nachlass zu echten Meistern
des Chaos aufgeschwungen. Ihr habt Euer Meisterstueck vollbracht.
Mein tiefempfundener chaotischer Hass und meine Verachtung fuer dieses Werk.
Jungs, waere ich keine Chaotin, ich waere stolz auf Euch ;)

Tatjana

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



Re: Re: Neue Raeume (Sting, 21. Jun 1999, 19:13:11):
~#! rn=Tatjana rt=929966358 rg=gilden.chaos
~#! tid=929802076
DANKE Tatjana. Du glaubst gar nicht wie mich, und auch die anderen Beteiligten
solche Artikel freuen!!! Ich bin froh das die ueberwiegende Mehrheit der Leute
bisher laut eigenen Aussagen sehr zufrieden damit ist und sie es fast alle
super und klasse finden :) Natuerlich ist es sehr viel, vor allem fuer die
Chaoten, aber ich denke man gewoehnt sich daran und schliesslich hat es ja
auch seine Vorteile *grins*
An dieser Stelle von mir aus nochmal ganz grosses DANKESCHOEN an Feuerwehr,
Swift, Bierchen und Tilly (damit nicht nur Feuerwehr sowas geschrieben hat :))
Ich denke wir waren ein Klasse-Team *uebertreib* :)

Sting

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



Re^3: Neue Raeume (Kellybundy, 21. Jun 1999, 19:15:59):
~#! rn=Sting rt=929985191 rg=gilden.chaos
~#! tid=929802076
Zufrieden? superklasse? Baeh!

Bloe^Hndie ].)

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



Re^4: Neue Raeume (Sharia, 21. Jun 1999, 19:40:03):
~#! rn=Kellybundy rt=929985359 rg=gilden.chaos
~#! tid=929802076
also ich finde die neuen raeume kacke .. ja genau .. kacke :)

Sharia .. will auch mal einen Haufen Scheisse in den Koffer packen :)

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



Re^5: Neue Raeume (Ark, 21. Jun 1999, 22:04:07):
~#! rn=Sharia rt=929986803 rg=gilden.chaos
~#! tid=929802076
He, moment mal, eigentlich faellt mir ein, so der Eindruck, den ich wieder mal
von Dir am Freitag bekommen habe, bestaetigen meine Befuerchtung. DU BIST DER
WOLF IM SCHAFSPELZ!
Also, aufgemerkt, Kleriker, verbannt Eure achso heilige Sharia am besten in
die tiefsten Hoellen, jawollja. Sie hat sich hiermit aufs Schaendlichste an
der guten Sache vergriffen und diese verraten. Drum stimmet ein mit mir in den
zornigen Chor der Gerechten:

  B R E N N E N    M U S S   S H A R I A

Stosst sie in die Arme derer, mit denen sie sich versteht, den poesen Chaoten,
denn dort ist sie, wie sie immer wieder beweist, am besten aufgehoben.


              *** ARK * the * Magnificent ***


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



Re^6: Neue Raeume (Mahatmu, 21. Jun 1999, 22:05:19):
~#! rn=Ark rt=929995447 rg=gilden.chaos
~#! tid=929802076
BRENNEN MUSS SHARIA? Na dann brauch sie ja wenigstens nicht die Gilde
wechseln. Wir Kleriker sind alle so unbestimmt gebrannte Kinder.

Mahatmu

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



Re^5: Neue Raeume (Eisi, 21. Jun 1999, 22:26:25):
~#! rn=Sharia rt=929986803 rg=gilden.chaos
~#! tid=929802076
wir kenn inzwischen Deine Vorlieben, Sharia :)

Eisi, mit dem "Haekelzeug-fuer-Kleriker"-Faehnchen winkend.

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



Re: Neue Raeume (Ark, 21. Jun 1999, 23:04:57):
~#! rn=Feuerwehr rt=929802076 rg=gilden.chaos
~#! tid=929802076
120 FP ? Boah ey, hiesse das nicht etwa 1200 Raeume ? :-)


              *** ARK * the * Magnificent ***


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



TOETEN! (Bierchen, 23. Jun 1999, 04:41:21):
HAIL CHAOS!

wenn ihr meint, ihr werdet mich los, verdammtes pack! weil ich
aus polar ausgeschieden bin, dann habt ihr euch geschnitten!
ich mache euch noch weiter das leben schwer, folter meine
mit-magier und lache ueber ihre schmerzen!
und mit euch stelle ich noch ganz andere dinge an, dinge,
die ihr euch nicht einmal im traume vorstellen koennt, dinge,
bei denen sich selbst mir der magen umdreht und das will schon was
heissen! aber ich werde es geniessen! denn ich bin chaot!

ich will euch jetzt leiden sehen, leiden fuer die geruechte,
die verbreitet werden!

habt angst, erzittert vor meinem zorn! bierchen ist nicht zurueck,
denn bierchen ist niemals gegangen!

     - Bierchen -

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



Re: TOETEN! (Jasper, 23. Jun 1999, 04:42:31):
~#! rn=Bierchen rt=930105681 rg=gilden.chaos
~#! tid=930105681
<no comment>

Jasper zaehlt nur noch fallende Baeume

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



Re: TOETEN! (Lug, 23. Jun 1999, 04:42:47):
~#! rn=Bierchen rt=930105681 rg=gilden.chaos
~#! tid=930105681

Tjae,

das ist in der Tat bedauerlich. Typisch Mag, nie konsequent. Selbstloeschung
ist eine Alternative!

Lug

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



Re: TOETEN! (Jasper, 23. Jun 1999, 04:43:31):
~#! rn=Bierchen rt=930105681 rg=gilden.chaos
~#! tid=930105681
den artikel koenntest du evtl noch an den deutsche band verkaufen, denen die
texte ausgehen ;P

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



Re: Re: TOETEN! (Morgoth, 23. Jun 1999, 07:43:24):
~#! rn=Jasper rt=930105751 rg=gilden.chaos
~#! tid=930105681
Du kannst zaehlen? Aber sicher nur bis zwei, denn mehr Titten haben normale
Frauen nicht.

M*

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



Re: Neue Raeume (Brandir, 23. Jun 1999, 10:06:02):
~#! rn=Feuerwehr rt=929802076 rg=gilden.chaos
~#! tid=929802076
Also, ich bin zwar kein Chaot, sondern nur ein kleiner, verschuechteter
Bierschuettler, aber 112's Artikel hat mir derart gut gefallen, dass ich mir
jetzt Euer Werk auf jeden Fall mal anschauen werde, sofer ich ueberall
hineinkomme.
Sollten die Raeume annaehernd nett geschrieben sein, fuerchte ich, dass ich
mich dort recht wohl, aeh unwohl, fuehlen werde und hoffe, der dunklen Seite
der Macht widerstehen zu koennen.

Brandir - moechte ohne kleine Hoernchen zurueckkehren

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



Daemonen Daemonen Daemonen (Feuerwehr,  4. Jul 1999, 14:58:48):
Hi Chaoten!

Um unsere maechtigen Kampfdaemonen etwas zu entstauben und zu maechtigeren
Helfern im Kampf gegen das Gute zu formen, wurden sie durch boesartige,
hoellische Magie ein wenig veraendert. 

Doch alles hat seinen Preis, und so haengt die Kraft, mit der sich die
Daemonen diesseits der Hoelle manifestieren koennen, nun stark von den
verwendeten Komponenten ab.

An dieser Stelle soll nicht mehr verraten werden, denn heilige Kraefte
koennten diese Informationen zu ihren eigenen, ehrenhaften Zielen einsetzen.

    Feuerwehr.


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



Re: Re: Komisch! (Householder,  3. Aug 1999, 22:15:28):
~#! rn=Feuerwehr rt=933711094 rg=gilden.chaos
~#! tid=933710763
wieso ? sie hat erkannt das yrintri dem wesen nach einfach eine hure ist :-) 
HH

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



Komischer Erzmeisterdaemon. (Mesirii,  3. Aug 1999, 22:15:38):
toete yrintri
Ok
  Du greifst Yrintri mit dem Streitkolben an.
  Du triffst Yrintri hart.
Yrintri beendet seine Daseinsform.

Mesirii (auch mesiry daemonisch fuer blau), Chaot (fuer Feuerwehr keine
Chaotin)
Erzmeister ehrenhalber
*grins*

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



Re: Re: Komisch! (Trug,  3. Aug 1999, 22:16:12):
~#! rn=Feuerwehr rt=933711094 rg=gilden.chaos
~#! tid=933710763
Ich hab mir gedacht dass Mesirii eigentlich immer ein maennlicher Chaot war.
Naja...

Trug :)

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



Fuer Feuerwehr (Mesirii,  3. Aug 1999, 22:17:20):
Ich bin stolz dich erschuettert und entsetzt zu haben, das ist eines Chaoten
wuerdig.
Mesi, heute laut lachend

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



Re: Komisch! (Feuerwehr,  3. Aug 1999, 22:24:42):

Ich muss das doch kommentieren.

*Huestel* Folgendermassen beschwor Mesirii Yrintri, unseren boesartigsten,
gemeinsten und maechtigsten Daemon, den Meister des Hasses, dieses gewaltige
Wesen:

Er kaufte sich eine Kreide im Laden.                                     
Er zeichnete ein Pentagramm mit Kreide.                                    
Er zeichnete einen Bannkreis mit Kreide.
Er nahm eine Muenze aus ihrem Geldbeutel.
Er setzte diese Muenze in das Pentagramm.
Dies versaute dann irgendwie die Wirkung total.

Er beschwor Yrintri.                    

Ich bin immernoch erschuettert. Ich bin entsetzt. Ich weiss nicht was ich
sagen soll. Ganz ehrlich, Leute, koenntet ihr ganz, ganz, ganz schnell einen
neuen Erzmeisterkampf machen??????                                       

   Feuerwehr. Konnte nicht anders.

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



Re: Re: Komisch! (Dieder,  3. Aug 1999, 22:26:22):
~#! rn=Feuerwehr rt=933711882 rg=gilden.chaos
~#! tid=933711882
*waelz* 112 du alte Petze :-)

Dieder, rotflnd, es aber oft auch nicht besser machend
(jawoll, ich oute mich, aber in meinem Alter darf man das!!)

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



Neue Raeume (Tatjana, 21. Aug 1999, 10:10:08):
in der alten Chaosgilde gibt es ein paar neue Raeume. Geruechteweise solles
dort auch FP`s geben.

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



gildenseiten (Swift, 21. Nov 1999, 23:19:53):
Seid gegruesst, Kaempfer des Boesen - und solche die es werden moechten!

Ich habe mal die Gildenseite ueberarbeitet, schliesslich ist die Gilde nicht
mehr im Herzen der Eiswueste zu finden. Gemotze/Gemeckere->Muelleimer in div.
Laeden.

Swift

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



Re: gildenseiten (Pra, 22. Nov 1999, 15:13:50):
~#! rn=Swift rt=943222793 rg=gilden.chaos
~#! tid=943222793
Ganz nett, die Seiten. Mehr Lob hast Du sicher nicht erwartet. Aber 
die Informationen ueber Yrintri gehoeren ganz sicher _nicht_ in die 
Oeffentlichkeit. Sofort loeschen! 

Pra.

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



Re: Re: gildenseiten (Rani, 22. Nov 1999, 15:58:32):
~#! rn=Pra rt=943280030 rg=gilden.chaos
~#! tid=943222793
aehm, Pra ...

hattest du die gildenseiten vorher schomma besucht? an der info ueber Yrintri
hat sich so wie ich das seh _nix_ geaendert.

Rani, besserwissend.

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



Re^3: gildenseiten (Pra, 22. Nov 1999, 16:52:09):
~#! rn=Rani rt=943282712 rg=gilden.chaos
~#! tid=943222793
nicht?

na, dann wird's aber Zeit :-) Ich finde, ein Nicht-Chaot sollte nicht einmal
den Namen dieses Daemons erfahren koennen...

Pra.

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



Re^4: gildenseiten (Swift, 22. Nov 1999, 17:26:27):
~#! rn=Pra rt=943285929 rg=gilden.chaos
~#! tid=943222793
Die Infos zu Yrintri werden nicht geloescht. Weils im Prinzip keine Infos
gibt, wie Du selbst lesen kannst. Und den Namen darf jeder kennen, warum auch
nicht!? :)

Viele Nicht-Chaoten kennen Yrintri schon, auf die eine oder andere Weise. Fuer
eine Geheimhaltung ists also zu spaet. :)

Swift.

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



Re^5: gildenseiten (Pra, 22. Nov 1999, 17:27:27):
~#! rn=Swift rt=943287987 rg=gilden.chaos
~#! tid=943222793
Und warum antwortet Kruuolq dann auf die Frage nach Y. mit:

Halts Maul! Das geht Dich gar nix an!!!

???

Pra.

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



Re^6: gildenseiten (Mahatmu, 22. Nov 1999, 17:29:23):
~#! rn=Pra rt=943288047 rg=gilden.chaos
~#! tid=943222793
Spaetestens durch Deinen Artikel kennen ihn jetzt alle vom Namen her.
Schlusspunkt.

Mahatmu

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



Re^7: gildenseiten (Pra, 22. Nov 1999, 17:31:55):
~#! rn=Mahatmu rt=943288163 rg=gilden.chaos
~#! tid=943222793
Du als Schuettler von Warmbier hast hier ueberhaupt nix zu sagen! :-)

Pra.

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



Re^8: gildenseiten (Mahatmu, 22. Nov 1999, 17:34:26):
~#! rn=Pra rt=943288315 rg=gilden.chaos
~#! tid=943222793
Poeh. Moegen Dich doch Deine Daemonen bis auf Deine wurmstichigen Knochen
abnagen und ihre Exkremente und damit Dich im naechsten Dunghaufen ver-
teilen!

Mahatmu

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



warnung (Bierchen, 20. Dez 1999, 08:28:27):
Hiho,
dunkelheit! was war das nochmal! eine macht des chaos! eine macht, brutal, wie
man sie selten gesehen hat! des nachts harmlose leute erschlagen! ja! das hat 
uns immer spass gemacht! dummerweise ist diese dunkelheit kurzfristig von uns
gegangen, bedanken wir uns doch alle bei dem neuen herrscher des lichtes! (das
ist bestimmt ein kleriker, also lassen wir es doch lieber) um es kurz zu
fassen: meidet den wurzelzwerg! meidet jedes monster, dessen name mit p*
beginnt!
 - Bierchen -

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



Re: warnung (Mupfel, 20. Dez 1999, 10:02:27):
~#! rn=Bierchen rt=945674907 rg=gilden.chaos
~#! tid=945674907
Aber "Wurzelzwerg" beginnt doch gar nicht mit P* ... ;)

-mupfel-

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



chaoshaut-bug (Bierchen,  2. Jan 2000, 23:42:38):
Hiho,

in der Chaoshaut ist ein Bug, das wissen wir, das aendern wir. Es wird aber
niemand daran abkratzen, auch nicht unerwartet schwul werden oder
irgendwelchen Herpes bekommen, das sind alles Geruechte!

So, und sollte es zu anderen Problemen kommen, dann mailt an die Chaosmags.
Ein 'chaossag', 'mrufe', 'rufe' ... koennte ihr natuerlich auch machen,
nur nuetzen wird Euch das nichts. Und sollte ein genervter Magier Euch
deshalb umhauen, dann erwartet nicht, dass wir irgendwelches Mitleid zeigen!
Im Gegenteil, wir druecken diesem Mag noch eine Belohnung in die
Hand!

Gruss,

   - Bierchen -

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



Re: chaoshaut-bug (Mupfel,  3. Jan 2000, 00:03:13):
~#! rn=Bierchen rt=946852958 rg=gilden.chaos
~#! tid=946852958
Aehm Bierchen, war das jetzt ein Aufruf zum PK ? ;)

-mupfel-

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



Re: Re: chaoshaut-bug (Bierchen,  3. Jan 2000, 00:05:31):
~#! rn=Mupfel rt=946854193 rg=gilden.chaos
~#! tid=946852958
Aehm,
das wuerde ich doch nie machen, zumindest nicht direkt :) 
(Bist du mit einem Bier zufrieden? Oder lieber doch eine schoene Flasche Wein?
:)
Gruss,
  - Bierchen -

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



Re^3: chaoshaut-bug (Sublime,  3. Jan 2000, 01:46:40):
~#! rn=Bierchen rt=946854331 rg=gilden.chaos
~#! tid=946852958
Das heisst, ich darf jetzt Spieler mobilisieren mich mit ihrer
buggenden Chaoshaut zu nerven und sie dann umhauen ;)
Hehe, zur Not locke ich sie in die Arena, dann kann man mir nix
nachweisen ;=)
nachweisen ;=)

*argl* x2
subl

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



Re^3: chaoshaut-bug (Wim,  3. Jan 2000, 02:21:42):
~#! rn=Bierchen rt=946854331 rg=gilden.chaos
~#! tid=946852958
Ich nehme den Wein.

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



Re^4: chaoshaut-bug (Schleicher,  3. Jan 2000, 02:30:47):
~#! rn=Sublime rt=946860400 rg=gilden.chaos
~#! tid=946852958
Oki, schlepp mal nen Spieler in die Arena, ich komm dann kucken!
Einverblueffterweristdeinvater Schleicher

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



Re^5: chaoshaut-bug (Bambi,  3. Jan 2000, 10:47:34):
~#! rn=Schleicher rt=946863047 rg=gilden.chaos
~#! tid=946852958
Ich wuerd auch gern mal sehen, wie du die Magiersperre umgehst. Mail mir, wie
dus angestellt hast, Sub*. :)

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



Re^6: chaoshaut-bug (Grimman,  3. Jan 2000, 21:00:09):
~#! rn=Bambi rt=946892854 rg=gilden.chaos
~#! tid=946852958
Da sieht man mal, was Sublime wirklich fuer ne Wurst ist ...

--> Schmarrn

GrimMan

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



Re^5: chaoshaut-bug (Sublime,  4. Jan 2000, 18:24:03):
~#! rn=Schleicher rt=946863047 rg=gilden.chaos
~#! tid=946852958
Hmm, da war ich wohl mal wieder breit, als ich das verzapft hab ;)
Ich gelobe hiermit hoch und heilig mich nur noch nuechtern im Morgen-
grauen blicken zu lassen !

Aber die naechste Party kommt ja bald...
subl

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



Re^6: chaoshaut-bug (Rardian,  5. Jan 2000, 11:51:55):
~#! rn=Sublime rt=947006643 rg=gilden.chaos
~#! tid=946852958
Gelobe doch einfach, in entsprechenden Geistes(?)-Zustaenden keine Artikel
mehr zu posten ;) ...

Rar.

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



Re^7: chaoshaut-bug (Sublime,  5. Jan 2000, 19:22:04):
~#! rn=Rardian rt=947069515 rg=gilden.chaos
~#! tid=946852958
Ich gelobe, keinen Artikel mehr in entsprechenden Geistes-Koerper-Zustaenden
(jeder weiss, was damit gemeint ist) zu posten.

subl

zufrieden rar ? ;)

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



Re^8: chaoshaut-bug (Puk,  5. Jan 2000, 21:49:04):
~#! rn=Sublime rt=947096524 rg=gilden.chaos
~#! tid=946852958
gelobe doch besser gar keine Artikel mehr zu posten, zumindest nicht
ausserhalb der rubrik schmarrn, und schon gar nicht in rubrik chaos, das waere
ne echte verbesserung

Puk, heute einfach mal genervt nur muell in der besten rubrik zu lesen

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



Re^8: chaoshaut-bug (Rardian,  5. Jan 2000, 23:11:00):
~#! rn=Sublime rt=947096524 rg=gilden.chaos
~#! tid=946852958
Voll und ganz,
ich staune immer noch ueber den vorigen Artikel von Dir ... ;)

Rar.

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



Re^9: chaoshaut-bug (Sublime,  6. Jan 2000, 19:42:14):
~#! rn=Rardian rt=947110260 rg=gilden.chaos
~#! tid=946852958
*Grummel*,ich bin ja schon still...

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



Re^10: chaoshaut-bug (Apophis,  6. Jan 2000, 19:51:01):
~#! rn=Sublime rt=947184134 rg=gilden.chaos
~#! tid=946852958
Boing sei Dank!!! Er ist ruhig...

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



Re: chaoshaut-bug (Tatjana, 14. Jan 2000, 00:16:20):
~#! rn=Bierchen rt=946852958 rg=gilden.chaos
~#! tid=946852958
Also, wenn ihr das hinkriegt, das ich schwul werde, das waere echt ne
chaotische Leistung

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



Re: Re: chaoshaut-bug (Lug, 16. Jan 2000, 03:53:11):
~#! rn=Tatjana rt=947805380 rg=gilden.chaos
~#! tid=946852958

Hm?


*Schraubenzieher und Rohrzange zueck*

Wunsch ist Wunsch
Lug

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



Daemonen und Tundra (Pra, 25. Jan 2000, 15:32:55):
Moin!

Quark, Hail!

Ist mal jemandem aufgefallen, dass Daemonen in der Tundra verschwinden?
Und zwar, wenn man sich verlaeuft. Dann laufen sie weg und kommen
nicht mehr nach. Sind die so doof, oder soll ich letzteres eher auf
die Magier beziehen?

Pra.

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



Re: Daemonen und Tundra (Tiamak, 25. Jan 2000, 15:39:07):
~#! rn=Pra rt=948810775 rg=gilden.chaos
~#! tid=948810775
Wieso doof?

Ich finde das ziemlich intelligent. Wenn ihr Beschwoerer so doof ist, dass er
sich verlaeuft - man koennte auch sagen: er kann sich nicht entscheiden, wo er
eigentlich hin will ;-) - warum sollten sie dann noch Energie verschwenden,
diesem Beschwoerer zu folgen?

Es ist doch viel geschickter - so aus der Sicht eines Daemonen - sich wieder
in die gemuetliche eigene Dimension zu verkruemeln und einfach abzuwarten, bis
man wieder neu beschworen wird.


Tiamak. Kann die Daemonen da gut verstehen.

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



Re: Daemonen und Tundra (Gor, 25. Jan 2000, 15:39:34):
~#! rn=Pra rt=948810775 rg=gilden.chaos
~#! tid=948810775
Mutig, mutig!

Gor mit dem Zaptool winkend.

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



Re: Re: Daemonen und Tundra (Pra, 25. Jan 2000, 15:41:42):
~#! rn=Gor rt=948811174 rg=gilden.chaos
~#! tid=948810775
Bei uns Chaoten kennt man keinen Respekt vor den Magiern. 
Die faulen Saecke da oben sollen sich bloss nicht einbilden,
sie waeren was besseres. Bei uns wird nicht gekuscht!

Vielleicht ist das ja bei den Bierschuettlern anders, Gor?

Pra. Hat noch nicht genug Feinde.

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



Re: Daemonen und Tundra (Samtpfote, 25. Jan 2000, 16:27:03):
~#! rn=Pra rt=948810775 rg=gilden.chaos
~#! tid=948810775
Wenn man das 'fixen' will, muesste man wohl 'etwas' machen... lass eben die
Daemoenen verschwinden, vielleicht finden sie es so gemuetlich, dass sie
einfach bleiben wollen.... ;)

Samtpfote

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



Re: Daemonen und Tundra (Feuerwehr, 25. Jan 2000, 21:52:40):
~#! rn=Pra rt=948810775 rg=gilden.chaos
~#! tid=948810775

Tach...

Daemonen, Beistaende, Einhoerner, Haustiere, Wolpertinger, Stuehle, Kuerbisse
und all das andere nachlaufende Gesocks geht in der Tundra nicht mehr
verloren.

Bei Team-Mitgliedern ist dies jedoch eine ganz andere Sache. Dieses Feature
bleibt. Wer sich in der Tundra verlaeuft, der hat sich leider zu weit von Weg
und Team entfernt. Und wenn jedes Team-Mitglied sowas nachmacht, verlaeuft
sich halt jedes Mitglied. Traurig, aber wahr.

Tschuess.

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



Re: Daemonen und Tundra (Jamalski, 26. Jan 2000, 18:31:01):
~#! rn=Pra rt=948810775 rg=gilden.chaos
~#! tid=948810775
Ist mal jemandem aufgefallen, dass Newbies (und auch Oldies) in der Tundra
verschwinden? Und zwar wenn sie sich verlaufen. Dann laufen und laufen sie und
kommen nicht mehr wieder. Sie sind so doof, oder soll ich  sowas nicht sagen?
Jamalski, der Kaiserschmarrn!

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



Re: Re: Daemonen und Tundra (Acrimon, 26. Jan 2000, 21:09:15):
~#! rn=Feuerwehr rt=948833560 rg=gilden.chaos
~#! tid=948810775
Heiszt das, man kann sich jetzt nicht mehr *gemeinsam* verlaufen?

Acrimon

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



Ein Erzmeisterkampf beginnt: (Mesirii,  8. Feb 2000, 16:25:49):
Du schwebst im absoluten Nichts, nur umgeben von Luft, die Dich am
Leben erhaelt. Ein schwaches Licht kommt aus allen Richtungen.
Voller Spannung erwartest Du den Beginn des Erzmeisterskampfes.
Es ist kein Kampf angemeldet.
Es nehmen teil: Rasputin, Tylak, Mesirii.
Es gibt einen sichtbaren Ausgang: zurueck.
Tylak.
Schattenlord Rasputin meint: Schmerz ist Ansichtssache!.
Mesi, grinsend ;)

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



kleine belohnung (Bierchen, 24. Jul 2000, 16:49:38):
hiho,
nachdem tante tilly sich das angesehen hat und nichts dagegen hatte, gibt es
fuer alle, die uns-uwe bei seinem chaosbutton-problem geholfen haben, eine
kleine belohnung. (sie besteht aus gummie... ne... nicht das was ihr jetzt
wieder denkt.. :) fragt ihn einfach nach dem 'ding' :) 
gruss,
    - Bierchen -

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



Re: kleine belohnung (Rikus, 24. Jul 2000, 16:50:28):
~#! rn=Bierchen rt=964450178 rg=gilden.chaos
~#! tid=964450178
ein Gummibierchen, aeh Gummibaerchen? :)

Rikus

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



Re: kleine belohnung (Pra, 24. Jul 2000, 16:51:16):
~#! rn=Bierchen rt=964450178 rg=gilden.chaos
~#! tid=964450178
Toll, Tilly ist doch nie da, wenn man ihn/sie braucht. Wie soll man
ihn/sie dann nach dem 'Ding' fragen??

Pra. Verstaendnislos.

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



Re: Re: kleine belohnung (Bierchen, 24. Jul 2000, 16:52:04):
~#! rn=Pra rt=964450276 rg=gilden.chaos
~#! tid=964450178
hihi,
das fragst du tilly auch nur einmal ... :)

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



Re^3: kleine belohnung (Pra, 24. Jul 2000, 16:53:20):
~#! rn=Bierchen rt=964450324 rg=gilden.chaos
~#! tid=964450178
wenn ich sie mal erwischen wuerde...

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



ungeziefer... (Bierchen, 24. Jul 2000, 22:43:49):
hiho
 
und wieder hat das chaos zugeschlagen. uns-uwe und *grummel* jenandra
haben da was ganz wildes mit einer drecksratte, oehm, getrieben *hust*
dabei ist was rausgekommen... etwas kleines und gemeines.
fragt einfach tilly danach.
huch, falsch! :) uns-uwe solltet ihr fragen.
achso, nicht nur fuer chaoten koennte das interessant sein, aber mehr
wird nicht verraten :)
 
gruss,
 
  i.A. Bierchen

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



Re: ungeziefer... (Jenandra, 25. Jul 2000, 00:46:56):
~#! rn=Bierchen rt=964471429 rg=gilden.chaos
~#! tid=964471429
btw,

mit 'etwas kleines und gemeines' sind weder ein button noch ein flummie
gemeint ...

Jenandra, heut mal etwas kryptisch :-)

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



Re: Re: kleine belohnung (Bierchen, 26. Jul 2000, 00:12:27):
~#! rn=Pra rt=964450276 rg=gilden.chaos
~#! tid=964450178
okay okay,
uns-uwe hat nun auch die info zu 'ding'. 
gruss,
  - bierchen -

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



chaosratte (Jenandra, 27. Jul 2000, 13:34:36):
moin zusammen,

aufgrund eines unwesentlichen bugs, zu dem ich natuerlich ueberhaupt nichts
konnte *huestel* (ich tippe da auf einen fehler in der mudlib, wodurch mein
programmierstil nicht richtig interpretiert wurde ... aehm ... :-), mussten
saemtliche bereits existierenden chaosratten ihr leben lassen. Uns-Uwe hat
sich aber breitschlagen lassen, eine neue ratte rauszuruecken.
damit es nicht wieder zu syntaxverwirrungen kommt: fragt ihn einfach nach
chaosratte :-)
achja, fuer die, die die quest schon haben - nach langen, schwierigen
verhandlungen hat sich ein gewisser verwalter bereit erklaert, ein gewisses
objekt wieder zurueckzunehmen ...

so long,
- Jenandra -

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



Chaotisch irgendwie :) (Feuerwehr,  9. Jan 2001, 22:46:26):
Hail Chaos.

Wir Chaoten sind merkwuerdige, kranke Gestalten. Wir tun entsetzliche,
unverstaendliche Dinge. Und wo Chaoten schlimm sind, da sind Chaosmagier noch
viel schlimmer.

Insofern erfuellen mich die Ereignisse der letzten Tage einerseits mit grosser
Trauer, andererseits aber mit einer Art perverser Zufriedenheit: HA! DA SEHT
IHR, WAS IHR AN EUREM BUSEN GENAEHRT HABT! HAHAHA! !!!

Es sind drei Dinge vorgefallen, welche schreckliche Folgen fuer unsere Gilde
haben:

* Die Feuerinsel versank, Boschante gleich, im endlosen Ozean. Mit ihr 
  versank Kurt und somit der Weg zur Chaosratte. Die Quest ist somit
  momentan nicht spielbar.

* Jenandra setzte sich eine endlose Spielpause, womit sie ihre Chaosmagier-
  Taetigkeiten nicht mehr ausfuehren darf. Ein schrecklicher Verlust.

* Bierchen wurden die Rechte fuer die Kern-Gildendateien entzogen. Somit ist
  er nicht mehr in der Lage, die Gilde zu warten. Diese Aufgabe faellt 
  somit mir und Swift zu. HA! HAHAHA! HAHAHAHAHAHAHAA!!!!!

Wir werden trotz dieser Schlaege unseren Weg weiter gehen. Neue, boesartige,
satanische Magier warten nur darauf, unsere Reihen zu verstaerken. Eine Welle
der Zerstoerung wird von uns ausgehen und das Morgengrauen ueberziehen.
Schwankt nicht, zaudert nicht. Wir werden aufsteigen zu neuer Finsternis.

Hail Chaos.

         Feuerwehr.

PS: Ich hoffe instaendig, dass Jenandra zurueckkehrt und Bierchen seine
    Recht zurueckgewinnen wird. Alles wird boese. Schaun wir mal.

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



Re: Chaotisch irgendwie :) (Tilly,  9. Jan 2001, 22:51:34):
~#! rn=Feuerwehr rt=979076786 rg=gilden.chaos
~#! tid=979076786
Dem muss ich doch schnell etwas hinzufuegen: 

Nein, die Feuerinsel ist nicht, Boschante gleich, versunken.

Sie ist, von kleineren Verlusten gekennzeichnet, begehbar. Dem kundigen
Spieler werden fehlende Sachen auffallen, aber nicht weh tun. Beide
'Gildenquests' der Chaoten sind somit spielbar wenn 2-3 Kleinigkeiten
geaendert werden *grins Feuerwehr ziemlich breit an*

Gruss,
              - Tilly - 

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



Re: Re: Chaotisch irgendwie :) (Solmyr,  9. Jan 2001, 22:53:23):
~#! rn=Tilly rt=979077094 rg=gilden.chaos
~#! tid=979076786
So intensiv liest also Euer Gildenmagier die MPA ;=))) Gratuliere!

Kampfzwerg Solmyr

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



Re: Re: Chaotisch irgendwie :) (Feuerwehr,  9. Jan 2001, 22:54:39):
~#! rn=Tilly rt=979077094 rg=gilden.chaos
~#! tid=979076786

Ha! Das kann ich toppen.

Zwar ist die Feuerinsel nicht versunken, aber die Quest ist momentan trotzdem
nicht spielbar. Man wird euch informieren, sobald sie wieder geht. 

Vielleicht.


         112.


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



Warnung (Pertinaxe, 16. Jan 2001, 08:11:40):
Man sollte tunlichst den Raum von Hutschat nicht betreten, da man da nicht
mehr rausskommt.
Abhilfe wird sicher kommen.
Gruesse Perti, Erzoma

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



Re: Warnung (Morgoth, 16. Jan 2001, 08:19:16):
~#! rn=Pertinaxe rt=979629100 rg=gilden.chaos
~#! tid=979629100
Jups, mail is an die Verantowrtlichen rausgegangen. Sobald sie Mail lesen....

M*

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



2 Erzmeister, ein wahres Chaos :) (Mesirii, 30. Apr 2001, 16:58:35):
Vanir ist anwesend,
und zwar von: Der Erde (ueber Oldenburg).
Eingeloggt seit: Mon, 30. Apr 2001, 16:57:38
Voller Name: Vanir ap Nial ist ein kleiner Chaot
Rasse: Zwerg,  Gilde: Chaos,  Geschlecht: maennlich
Alter: 173d 10:17:50,   Spielerlevel: 60 (Seher),   Gildenlevel: 12
Datum des ersten Login: vor dem 10. Nov 1995
Bisher bereits 148 mal gestorben
Projekt: .
Tylak ist anwesend,
und zwar von: Paderborn.
Passiv seit: 00:39:33
Eingeloggt seit: Mon, 30. Apr 2001, 01:58:21
Voller Name: Tylak 
Rasse: Elf,  Gilde: Chaos,  Geschlecht: maennlich
Alter: 407d 11:55:46,   Spielerlevel: 61 (Seher),   Gildenlevel: 12
Datum des ersten Login: Son, 16. Mar 1997, 03:58:05
Homepage: none
Bisher bereits 328 mal gestorben
Mesi, kein Erzmeister

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



Gildenboss (Feuerwehr,  9. Jun 2001, 00:58:49):
Hail Chaos.

Die Welt ist schlecht. Nichts bleibt. Alles veraendert sich. Das einzig
Bestaendige ist der Wandel. Geh mit der Zeit oder stirb einen graesslichen
Tod. Das nur vorweg.

Hehe.

Die Chaos-Gilde ist eine verdammt boesartige Gilde. Ihre satanischen Wurzeln
befaehigen sie dazu, das Chaos zu verbreiten, die Welt mit ihrer schwarzen
Essenz zu erfuellen, das Leben in seinen Wurzeln zu verseuchen und den
Spielern anderer Gilden das Leben zur Hoelle zu machen.

Eine grosse Aufgabe. Die Gilde kann sie erfuellen, weil sie von ihren
boesartigen GildenmagiernInnen angetrieben, geschlagen und gequaelt wird.
Es ist Aufgabe dieser MagierInnen, ihren Untertanen den Schmerz zuzufuegen,
den sie der Welt antun sollen.

Und genau hier liegt das Problem. Den Chaoten wurde in letzter Zeit viel zu
wenig Schmerz zugefuegt. Der Verlust von Bierchen hat eine schreckliche
Wunde in die Reihen der Chaosmagier gerissen. Meine Position als Oberhaupt
der Gilde war am Ende von rein zeremonieller Natur. Die wirkliche Kraft
hinter der Gilde war ... war ... niemand. Jenandra war lange fort, Swift war
in fernen Gefilden beschaeftigt, Tilly war fort, ich befand mich in den
aeusseren Ringen beruflichen Stresses, niemand trieb die Gilde und quaelte
ihre Mitglieder, wie sie es verdient haben.

Eins ist klar: Das Chaos braucht frisches Magierblut! Und sie braucht nicht
irgendwelches frisches Blut. Die Gilde ist Chaotisch. Sie verwendet
Prinzipien, welche Magier zum Weinen bringen, ist undursichtig, wirr und
konfus. Ich spreche hier nur vom Code des Spellbooks. Nicht Wartbar. Ich
rede hier von mehr als nur Goto's, Leute. Den Code der Daemonen
lassen wir gnaedig im Schatten der Nacht verschwinden. Wir brauchen nicht
irgendwen, wir brauchen einen Meister seines Fachs.

Wir brauchen einen boesartiges Genie, eine satanische Kreatur dunkelsten
Intellekts mit gewaltiger Erfahrung, um unsere Gilde aus den Tiefen
hervorzufuehren und ueber die Welt hereinbrechen zu lassen, um sie ihrer
Bestimmung zuzufuehren.

Und wir haben ihn. Nach langer Zeit ist nun endlich ein neuer, finsterer
Schatten aus der Nacht emporgestiegen und hat sich dem Kreis der Chaosmagier
angeschlossen. Jener Schatten wird vom heutigen Tage nach einstimmigen
Beschluss der Chaos-Magierschaft und der Chaos-Exmagierschaft die Leitung
dieser Gilde uebernehmen und mich an den dunklen Platz eines Chaosmagiers
zurueckbefoerdern. Dort gehoere ich hin, und dort gefaellt es mir.


Hail Mupfel, Herr der Chaosgilde.
Hail Chaos.



          112.


PS: Persoehnliche Anfeindungen bitte per Mail an mich, ich les keine
    Zeitung...


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



Re: Gildenboss (Feuerwehr,  9. Jun 2001, 00:59:23):
~#! rn=Feuerwehr rt=992041129 rg=gilden.chaos
~#! tid=992041129
Oh hi.

Und noch was. Ich loesche allen Code, den ich je programmiert habe. Und ich
toete alle Spieler mit einem "e" im Namen. Und ich ...

Argh! Nein! Zurueck! Kontrolle! Lasst mich! Was ... Tastatur! Wo?


         112.


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



Re: Gildenboss (Ark,  9. Jun 2001, 14:51:27):
~#! rn=Feuerwehr rt=992041129 rg=gilden.chaos
~#! tid=992041129
EINSTIMMIGER BESCHLUSS????

Ihr seid also demokratische Weicheier geworden. Ihr wertet Euch schon selbst
ab. Ich haette einen Minderheitsbeschluss von einem Magier erwartet, der sich
einfach an die Spitze zappt, bis muerrische Ruhe unter seinen feindseligen
Chaoten herrscht. Feuerwehr, was ist unter Deiner "Herrschaft"(?!) nur aus
diesem Haufen geworden ... ;^)


              *** ARK * the * Magnificent ***


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



Re: Re: Gildenboss (Firehawk,  9. Jun 2001, 15:00:52):
~#! rn=Ark rt=992091087 rg=gilden.chaos
~#! tid=992041129
Also Ark, ich weiss gar net was Du hast. Klar funktioniert das hier
demokratisch:
Demokratie: 1Mann, 1 Stimme. Feuerwehr ist/war der Mann, er hat/hatte die
Stimme.
Was der Rest sagt ist egal :)

Firehawk


PS: Warum sollen wir auf uns gegenseitig einschlagen, sind doch genuch andere
Opfer da >:)

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



Re^3: Gildenboss (Ark,  9. Jun 2001, 15:16:43):
~#! rn=Firehawk rt=992091652 rg=gilden.chaos
~#! tid=992041129
Trotzdem alles Weicheier :-)


              *** ARK * the * Magnificent ***


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



Re^3: Gildenboss (Apsu,  9. Jun 2001, 16:12:57):
~#! rn=Firehawk rt=992091652 rg=gilden.chaos
~#! tid=992041129
Also als Bierchen noch da war wurde noch herumgezappt, wie es sich gehoert! 
Ihr Weicheier! ;P


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



Re: Gildenboss (Patryn,  9. Jun 2001, 17:45:20):
~#! rn=Feuerwehr rt=992041129 rg=gilden.chaos
~#! tid=992041129
wuahaha...erst dieser ellenlange tolle artikel, und dann...ich weiss gar
nicht ob es eine beschreibung fuer dieses sprachliche ausdrucksmittel
ala oxymoron gibt, mupfel der superchaotische *g*
gibs zu, den artikel haste mal vor langer zeit geschrieben und jetzt
einfach nen namen dort eingesetzt ;)

------
patryn, nicht ernst

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



Daemonensklave (Whitetiger,  9. Mar 2003, 08:32:16):
Waere es irgendwie moeglich, die Anzeige der Stats vom Reset derselben zu
trennen?
Im Moment gibt es nur das eine Kommando "reportreset", das sowohl anzeigt,
wieviel KP/LP man vom letzten Reportreset verbraucht hat und die Stats
gleichzeitig wieder auf 0 setzt.
Ich wuerde es ganz praktisch finden, wenn es sagen wir ein Kommando
"reportreset" fuers Resetten und ein Kommando "reportstats" zum Anzeigen geben
wuerde...
-- WhiteTiger.

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



"chaos" -- echt chaotisch. (Whitetiger, 29. Apr 2003, 17:54:32):
Wie waere es mit einem echt chaotischen Spruch fuer unsere Gilde?
"chaos" sollte zwischen 20 und 80 KP kosten und eine (oder mehrere :o)) der
folgenden Sachen ausfuehren:
- den Spieler sofort zappen. (Gehoert halt dazu...)
- den Spieler um, sagen wir, 200 LP oder KP oder beides oder irgendwie
zufaellig heilen.
- das gleiche, nur statt heilen verletzen, also abziehn...
- den Spieler vergiften bzw. entgiften.
- den Chaosdaemon zur sofortigen Rebellion treiben.
- den Chaosdaemon laenger ruhen lassen.
- den Titel umsetzen (wie das Weinfass oder was das ist, das in der Gilde...
*g*)
- gar nix tun.
- falls im Kampf den Gegner heilen, oder auch staerker verletzen (Zap is glaub
ich ein bisschen zu maechtig... aber -500 LP waere bestimmt ok...).
- und noch irgendwelche interessanten, lustigen, witzigen, gefaehrlichen,
praktischen, ... Sachen.
Und das irgendwie zufaellig ausgewaehlt.
Wobei natuerlich ein Selbstzap mit einer geringeren Wahrscheinlichkeit kommen
sollte als Heilung oder so.
Ahja fuer Faehigkeiten des Spruchs noch: Stats-Boni oder -Mali. Die natuerlich
nach einiger Zeit wieder weggehen. Oder den Spieler verfluchen. Sprachfluch
oder so. Oder oder oder...
-- WhiteTiger.

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



Re: "chaos" -- echt chaotisch. (Flauros, 29. Apr 2003, 17:55:58):
~#! rn=Whitetiger rt=1051631672 rg=gilden.chaos
~#! tid=1051631672
Verschiebt das jetzt Grimmborn oder Du selber nach Schmarrn? ;)

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



Re: Re: "chaos" -- echt chaotisch. (Whitetiger, 29. Apr 2003, 17:57:28):
~#! rn=Flauros rt=1051631758 rg=gilden.chaos
~#! tid=1051631672
Wieso schmarrn?
Was haettest du gegen so einen Spruch? :)

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



Re^3: "chaos" -- echt chaotisch. (Anatol, 29. Apr 2003, 18:12:49):
~#! rn=Whitetiger rt=1051631848 rg=gilden.chaos
~#! tid=1051631672
Finde Dich damit ab, dass die Gilde "Krieger des Chaos" heisst, in
Wirklichkeit aber eine Daemonenbeschwoerer-Gemeinschaft ist. Chaos
ist nach meinem Begriff etwas wertungsloses Neutrales und nichts
Satanisches. Und heul' nicht rum, den Zauberern geht es nicht besser.
Sie heissen Zauberer und sind Karateka (Collector's Edition).

A

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



Re^4: "chaos" -- echt chaotisch. (Whitetiger, 29. Apr 2003, 18:14:17):
~#! rn=Anatol rt=1051632769 rg=gilden.chaos
~#! tid=1051631672
Gut, dann wuensch ich mir stattdessen einen Daemon wie den den Mesirii vor
einigen Jahren mal vorgeschlagen hat... *OLD.gilden.chaos rauskram* ahja.
29.5.1997 :)
WhiteTiger.

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



Re^5: "chaos" -- echt chaotisch. (Brotnael, 30. Apr 2003, 16:21:44):
~#! rn=Whitetiger rt=1051632857 rg=gilden.chaos
~#! tid=1051631672
Also, um mal meine meinung zu dem thread beizusteuern, ich hab mich ja mal mit
Joshua auch intensiver ueber die chaoten unterhalten und uns ist aufgefallen,
das der tolle Spruch der Kleriker "Wunder" wunderschoene feaut.. feau..
eigenschaften hat, die deinen vorschlaegen zum teil aehneln. eigentlich hat
mich schon immer gewundert warum solch ein wirrer und chaotischer spruch bei
den klerikern zu finden ist und nicht bei den chaoten. ich faend den vorschlag
garnicht mal so verkehrt daruber nachzudenken, den spruch wunder aus der
klerusgilde zu entbannen und dafuer einen aequivalenten spruch bei den chaoten
unterzubringen, wo er eigentlich mehr zu suchen haette. dafuer koennten dann
den klerikerhohepriestern neue sprueche zukommen lassen werden von den drei
ehrfuerchtigen goettern Lembold, Kandri und Saphina, aber das waer eher
diskusion im kleruskapitel.
Brotnael senkt wieder demuetig sein Haupt und betet weiter.

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



Daemonen... (Whitetiger,  1. Mai 2003, 11:52:29):
> befehle intarbir schaetze whitetiger ein
Intarbir teilt Dir mit:
  Also, nun. Lausche meinen Worten: WhiteTiger hat in etwa Deine Kragenweite.
  Die Ruestung WhiteTigers ist unglaublich viel besser als Deine. Zu guter
  Letzt: Deine Waffe ist besser als die WhiteTigers. Er kaempft mit einem
  Krallendolch und macht damit folgenden Schaden: Schnitte. WhiteTiger ist
ein
  bisschen frech. 

-- WhiteTiger.

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



Re: Daemonen... (Puk,  2. Mai 2003, 15:22:49):
~#! rn=Whitetiger rt=1051782749 rg=gilden.chaos
~#! tid=1051782749
du bist nur frech ?
raus aus der Gilde,rein zu den Klerikern

Puk, entsetzt

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



Re: Re: Daemonen... (Whitetiger,  2. Mai 2003, 16:25:14):
~#! rn=Puk rt=1051881769 rg=gilden.chaos
~#! tid=1051782749
Eben, das gehoerte dazu... Intarbir hat halt gesponnen.
In Wirklichkeit war ich natuerlich richtig schoen satanisch :)

WhiteTiger, richtigstellend

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



Missbrauch von Ombatis? (Humni, 16. Nov 2003, 18:56:48):
Huhu,

ich finde es bloed, wenn Diskussionen ueber Gildenfertigkeiten ueber mein
FBand laufen. Und langsam kristallisiert sich der Eindruck bei mir, dass es a)
viele Leute gibt, die sich ueber Ombatis aufregen, und b) ebenso (??) viele,
die meinen, man soll sich nicht so anstellen.

Selbiges gilt fuer frosche, zwingtanz und co. Aber Hauptpunkt war heute mal
Ombatis, und ich hab ehrlich gesagt keine Lust mehr, ueber mein FBand darueber
zu diskutieren.

Ich persoenlich fand bisher Ombatis lustig. (Meine Meinung, ich hatte den mal
als Spieler, als EM kriegt man den ueblichweise nicht geschickt, kein
EM-Konsens, folglich).

Ich frage mich gerade, ob hier grundsaetzlich Eurer Meinng nach
Handlungsbedarf besteht.

Ich kann das gerade nicht einschaetzen, wie das als Spieler ist, da ich (da
alle meine Zweities oeffentlich markiert sind und sich alle hueten, mir
regelmaessig Ombatisse an den Hals zu schicken) auch als Spieler keine kriege
und z.B. auch nicht gefroscht werde.

Ihr duerft also nun diskutieren, wie ihr den Ombatis und die sonstigen
Gildenfaehigkeiten findet. Ob ich daraufhin was unternehme (oder sonst ein
Gildenmagier) ist Willkuer. Ihr duerft auch ruhig mailen, wenn ihr keine Lust
auf Flamewars habt.

Aber ich erklaere hiermit mal oeffentlich die Diskussion fuer eroeffnet. Der
Thread darf auch ruhig in andere Rubrik auswandern, wenns um andere
Faehigkeiten geht.

Ich sage direkt mal, eine Mehrheitsentscheidung wirds im MG nicht geben - aber
ein Stimmungsbild kann mir und den Gildenmagiern durchaus weiterhelfen. Also,
seid Konstruktiv. Ein ,,Ombatis ist scheisse'' hilft nicht weiter. Ein ,,Ich
kann nicht vernuenftig metzeln, weil ein und derselbe Spieler mir immer einen
an den Hals schickt'' schon.

Also, Flame on, Discussion on, und sagt was ;-)

Humni

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



Re: Missbrauch von Ombatis? (Kleineryoda, 16. Nov 2003, 19:10:34):
~#! rn=Humni rt=1069005408 rg=gilden.chaos
~#! tid=1069005408
Also, ich lese und schriebe ja eigentlich nie in der MPA, aber dazu mus sich
doch mal meinen Senf dazugeben. Ich finde Ombatis eine witzige Sache, genauso
wie Zwingtanz etc pp. Allerdings sollten die Spieler auch vernuenftig damit
umgehen, und nicht und dieses "...kann nicht vernuenftig metzeln, weil ein und
derselbe Spieler mir immer einen an den Hals schickt" sollte es nicht geben.
Da kann man aber nur an die Vernunft der Spieler appellieren. Andererseits
gibt es doch Moeglichkeiten sich zu wehren. Wenn man den Ombatis rausnimmt,
weil wir (die Spieler, ich seh mich halt hauptsaechlich immer noch als
Spieler) nicht damit umgehen koennen, muss man alles rausnehmen, was Spieler
untereinander machen koennen, also auch entfluchen, entgiften etc, denn sich
immer nur "die Rosinen aus dem Kuchen suchen" geht einfach nicht. Ausserdem
nervt es andere mindestens genauso, wenn sie einen zwingtanz abbekommen oder
von einem Dunkelelfen geweiht werden. Dagegen kann man leider auch ncihts tun.
Aber vielleicht waere es ja moeglich, dies zu ignorieren, wie es auch mit dem
laeutere der Kleriker moeglich ist (ich wuerde als Chaot die Krise kriegen,
wenn das anders waere ;)). 
Ergo: Wenn wir (die Spieler) nicht vernuenftig genug sind, die uns gegebenen
Spells "richtig" zu benutzen und uns andererseits nicht immer gleich
aufzuregen, wenn wir beispielsweise einen Ombatis bekommen, haben wir es auch
nicht anders verdient, dass man uns solche Faehigkeiten nimmt. Allerdings
waere ich dann wie gesagt dafuer, dass dann acuh wirklich entgifte etc nicht
mehr auf andere Spieler angewendet werden kann. 
So, und nu geh ich wieder programmieren ;) Gruss ky

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



Re: Re: Missbrauch von Ombatis? (Ahab, 16. Nov 2003, 19:15:20):
~#! rn=Kleineryoda rt=1069006234 rg=gilden.chaos
~#! tid=1069005408
Das bringt mich auf den Gedanken, dass man fuer Ombatis (um den geht's ja in
der Hauptsache) ein Zeitlimit einbauen koennte, so dass der nur einmal pro
Tag (Beispiel) auf einen anderen Spieler losgelassen werden kann?

Ahoi,
Ahab, einfach mal grob in die Tuete sprechend. Sortiert selbst. ;-)

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



Re: Missbrauch von Ombatis? (Rangorn, 16. Nov 2003, 19:15:26):
~#! rn=Humni rt=1069005408 rg=gilden.chaos
~#! tid=1069005408
*seufz*

Was soll dieser Kindergarten eigentlich?
"Der ist boese, der hat mir einen Ombatis geschickt!" finde ich genauso
peinlich wie ein "Ombatis-Skript", dass einen einzelnen Spieler im Spielfluss
behindert. Ombatis ist ein nettes Feature, dass zumindest noch ein bisschen
durchblicken laesst, wie der RPG-Hintergrund der Chaoten ist: naemlich boese.
Ihn abzuschaffen, wuerde das MG mal wieder etwas grauer werden lassen. Gerade
solche Sachen bringen doch Farbe ins Spiel. Die Einhaltung der Mudikette ist
nunmal leider freiwillig. Man kann die Spieler sicherlich mit Regeln (und den
Streichen von Moeglichkeiten) dazu zwingen. Aber macht es dann noch Spass,
wenn wirklich alles reglementiert ist? Macht es noch Spass?

- Rangorn Khur'Tigres -

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



Re^3: Missbrauch von Ombatis? (Ahab, 16. Nov 2003, 19:25:00):
~#! rn=Ahab rt=1069006520 rg=gilden.chaos
~#! tid=1069005408
Jaja, ich weiss, Selbstreply...

Mir fiel grad nur ein (bzw. mir wurde eingefallen), dass das natuerlich eine
Einschraenkung aller hervorrufen wuerde. Um sowas zu vermeiden, koennte man
die Idee erweitern und eine Art Puffer einfuehren, der die Verwendung von
Ombatis mitschreibt und nur langsam wieder runter'idelt'. Dieser Puffer 
klemmt dann ab einem bestimmten Punkt die Entsendung von Ombatis zu anderen
Spielern ab.

Ahoi,
Ahab.

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



Re: Re: Missbrauch von Ombatis? (Magdalena, 16. Nov 2003, 19:28:05):
~#! rn=Rangorn rt=1069006526 rg=gilden.chaos
~#! tid=1069005408
ach leute, seid doch keine spassbremsen :)
bislang hatte ich immer den eindruck gehabt, dass man derartige sprueche immer
im massen benutzt hat.
und wenn man halt mal (!) geaergert wird, ist doch alles in ordnung.
die idee von ahab finde ich uebrigens klasse, denn wenn sowas in terror
ausartet, kann das ja schon nervig sein.
bei den hier genannten spruechen kann man immerhin noch immer sehen, wer hier
was angestellt hat. 
voellig daneben finde ich dann massiven missbrauch von spruechen a la 'echo'
(ein bestimmter zaubizweig kann das noch in verschiedenen varianten ...), bei
denen man oft nicht weiss, woher das nun kam - oder man denkt, man wuesste es.
BEI SOLCHEN SACHEN gilt es einzuschreiten! das ist naemlich dann oft nimmer
witzig!
gruss
magdalena, hat auch mal ne meinung

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



Re^4: Missbrauch von Ombatis? (Orktoeter, 16. Nov 2003, 19:30:35):
~#! rn=Ahab rt=1069007100 rg=gilden.chaos
~#! tid=1069005408
Chaotischer waere es, wenn die wahrscheinlichkeit, das ein Ombatis sich
entscheidet nicht so weit zu gehen/fliegen/(was auch immer ein Daemon so
macht), sondern lieber gleich beim Chaoten bleibt (weil er sich bei dem eh
heimischer fuehlt) steil ansteigen wuerde, so dass nach wenigen Ombatissen
bereits die Neigung zum versenden desselben gering wird..

Noch dazu koennte man ja eine Tagessperre fuer einzelne Spieler einbauen, so
nach dem Motto. "Wie schon wieder zu dem? Keine Lust" chaotischer waere
sicherlich eine 12h+(Random 24)h pause und wenn der Ombatis nicht zum Opfer
geht, bleibt er beim chaoten

OrkT.

PS: Ombatis sollte Seherhaeuser nicht unsicher machen koennen.

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



Re^5: Missbrauch von Ombatis? (Alkohol, 16. Nov 2003, 19:31:59):
~#! rn=Orktoeter rt=1069007435 rg=gilden.chaos
~#! tid=1069005408
das faende ich ziemlich klasse, wenn das so waere

Alki

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



Re^5: Missbrauch von Ombatis? (Magdalena, 16. Nov 2003, 19:32:21):
~#! rn=Orktoeter rt=1069007435 rg=gilden.chaos
~#! tid=1069005408
anmerkung zu orktoeter:
Die SeherMaus hat das uebrigens schon ... 

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



Re^6: Missbrauch von Ombatis? (Alkohol, 16. Nov 2003, 19:33:09):
~#! rn=Alkohol rt=1069007519 rg=gilden.chaos
~#! tid=1069005408
ah ja, natuerlich duerfte der Chaot den nicht verbannen koennen

Alki

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



Re^5: Missbrauch von Ombatis? (Ahab, 16. Nov 2003, 19:33:29):
~#! rn=Orktoeter rt=1069007435 rg=gilden.chaos
~#! tid=1069005408
Chaoten koennen IMHO ihre eigenen Ombatisse verbannen, so dass dieser 
Vorschlag moeglicherweise nur einen gewissen KP-Verlust bedeuten wuerde...

Ahab.
Ahab.

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



Re: Missbrauch von Ombatis? (Lamb, 16. Nov 2003, 19:33:30):
~#! rn=Humni rt=1069005408 rg=gilden.chaos
~#! tid=1069005408
Ich frage mich inzwischen ob es hier ueberhaupt etwas gibt das nicht
irgendjemanden nervt , ob es nun Ombatis ist oder sonst etwas, aber kaum
beschwert sich der richtige dauert es eh nicht mehr lange bis dieses entfernt
wird.Als naechstes vielleicht Ombatis der soweit ich das mit bekomme nur an
Leute geschickt wird die andere lange genug auf die Nerven gehen ( also kein
wunder das Du keinen bekommst schaetze ichmal) und ein resett lang mal Ruhe
vor ner Nervensaege ist ja wohl ok, sollte der jenige gerade dadurch beim
questen oder metzeln gestoert werden gibt es auch andere Moeglichkeiten den
los zu werden.Das Froschen , ach wie schlimm das man mal drei minuten ein
Frosch ist und dann noch mit dem Uebeltaeter in einen Raum ( oder wollt ihr
das froschen aus der Ferne einfuehren, das kann glaub ich nur ein Magier und
der sollte wissen das er das nicht tun sollte und damit arme kleine Spieler
behindert)Das verdunkeln von Raeumen , ok gibt vielleicht einen oder zwei die
es uebertreiben, aber sollen darunter alle leiden? Chaoten sind zwar nicht
mein Fall, aber warum loescht ihr nicht gleich die ganze Gilde wenn eine
Kleinigkeit nach der anderen weg kommt was die Gilde ausmacht?Und vor allen wo
wollt ihr eigentlich mal aufhoeren Euch in den Spielen einzumischen , in dem
Moment wenn hier alle nur noch artig spazieren gehen, keiner mehr stirbt weil
irgendeinen ein Monster zu schwer ist und es abgewertet wird, bis es keine
Waffen mehr gibt mit denen man irgendwas anfangen kann? Jeden Tag was neues
was Ihr entwertet, abhaengt oder aendert, schon mal aufgefallen das immer
weniger alte Spieler hier sind? Vor allen gibt es wohl fast in jeder Gilde
irgendetwas was jemanden stoeren koennte, auch mein geliebtes Blubbern nicht
zu vergessen , koennte man wohl ne ganze Liste schreiben. Dazu noch Spaesse
aus Gebieten, mal bruellt man durchs mg und das nicht nur einmal - wie nervig,
dann wird man doch glatt ein Frosch beim forschen , und auch als Werwolf
koennte man mal rumlaufen , aua hier gibs einfach noch zu viel Abwechslung,
fangt an das zu aendern dam
it endlich das rumgenoele von einzelnen die bei jemanden auf dem fband stehen
aufhoert , am besten das Morgengrauen schliessen dann kann sich keiner mehr
ueber etwas aufregen .Ach ja und noch mal das verdunkeln wo sich einige
Spieler dann verlaufen koennten, wenn Ihr daran was aendern wollt wuerde es
wohl ausreichen das der Raum nur bis zum resett dunkel ist die kurze Zeit kann
man ja mal rumtasten, man muss ja schliesslich auch warten bis ein Monster das
gerade umgehauen wurde wieder da ist, da stellt mir auch keiner ein neues hin
nur weil ich mich dann aufrege  

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



Re: Missbrauch von Ombatis? (Joshua, 16. Nov 2003, 19:34:27):
~#! rn=Humni rt=1069005408 rg=gilden.chaos
~#! tid=1069005408
Na denn, fuer das Weltbild ... ;) Also ich bin - wenn ich da nicht irgendwas
furchtbar falsch verstehe - kein EM und ich kann mich an meinen letzten
Ombatis schon nicht mehr erinnern. Will damit sagen: Ich habe eher den
Eindruck die werden schon halbwegs akzeptabel "eingesetzt". Man kann sowas
natuerlich provozieren, aber dann wird es immer Wege geben sich gegenseitig zu
aergern. Ombatis ist da, neben den anderen von Dir erwaehnten Moeglichkeiten,
eben nur eine Option. Ich sehe keinen Handlungsbedarf. Sollte jemand wirklich
ueber die Massen genervt werden soll er sich an einen anwesenden Magier wenden
- das wuerde ich zumindest tun.

Josh

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



Re: Re: Missbrauch von Ombatis? (Orktoeter, 16. Nov 2003, 19:39:56):
~#! rn=Joshua rt=1069007667 rg=gilden.chaos
~#! tid=1069005408
Der dann mit welchem Recht dagegen vorgehen soll?
Natuerlich braucht man keinerlei Regeln, wenn sich alle vernuenftig verhalten.
Regeln sind immer dazu da den Schwaecheren zu schuetzen, wenn der Staerkere
eben nicht vernuenftig ist.

Ausserdem find ich die Vorschlaege von mir recht chaotisch passend,

OrkT.

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



Re^3: Missbrauch von Ombatis? (Joshua, 16. Nov 2003, 19:41:02):
~#! rn=Orktoeter rt=1069007996 rg=gilden.chaos
~#! tid=1069005408
Wenn Du von einem Magier angesprochen wirst, warum gerade so einen Scheiss
baust ist das schon ein ernstzunehmender Grund Dein Handeln noch einmal zu
ueberdenken. Fuer mich zumindest waere es das und ich denke halt dies sollte
fuer jeden Spieler gelten ...

Josh

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



Re^4: Missbrauch von Ombatis? (Orktoeter, 16. Nov 2003, 19:45:36):
~#! rn=Joshua rt=1069008062 rg=gilden.chaos
~#! tid=1069005408
Also, ich wuerde nie einen Menschen toeten und ich denke das sollte fuer alle
gelten, also brauchen wir doch gar kein Gesetz das Mord unter Strafe stellt,
oder? Und wenn wirklich mal jemand einen anderen Umb (sorry telnet, also neu)
umbringt, dann spricht ihn ein Polizist an und sagt: "Hm.. das war aber nicht
nett, dass machen sie mal nicht wieder" .. (und wenn er es doch tut, was dann?
Sagt der Polizist dann: "Also sie sind aber wirklich boese!"?

Wie schon im letzen Artikel geschrieben: Wenn alle vernuenftig waeren,
braeuchte man keine Regeln

OrkT.

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



Re^5: Missbrauch von Ombatis? (Miril, 16. Nov 2003, 19:48:36):
~#! rn=Orktoeter rt=1069008336 rg=gilden.chaos
~#! tid=1069005408
Also. Ehrlich gesagt, halte ich die Idee an Ombatis irgendwas zu
aendern fuer vollkommen ueberfluessig. Wenn jemand hier tatsaechlich
der Ansicht ist, dass er von jemandem ueber Gebuehr mit Omatis 
beglueckt wird, so soll er sich doch bitte an Mupfel oder mich
wenden und den betreffenden Chaoten nennen. Wir werden schon 
etwas Nettes finden, was wir dann mit dem Betreffenden anstellen
werden ;-).

Miril

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



Re^6: Missbrauch von Ombatis? (Magdalena, 16. Nov 2003, 19:50:36):
~#! rn=Miril rt=1069008516 rg=gilden.chaos
~#! tid=1069005408
Da bin ich mir ganz sicher.
Und das ist auch gut so.
magdalena, dem Boesen ausnahmsweise mal zu nickend ;o)

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



Re: Re: Missbrauch von Ombatis? (Feigling, 16. Nov 2003, 19:50:56):
~#! rn=Lamb rt=1069007610 rg=gilden.chaos
~#! tid=1069005408
Hi,

oehmmm, hab ich etwas verpasst, oder woher kommt diese Aufregung
ueber Humnis Versuch ein Meinungsbild zu bekommen? ;-)

Wieso kann man nicht einfach sachlich seine Meinung sagen?

Feigling verteilt Baldrian.

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



Re^6: Missbrauch von Ombatis? (Orktoeter, 16. Nov 2003, 19:56:37):
~#! rn=Miril rt=1069008516 rg=gilden.chaos
~#! tid=1069005408
Deine Argumentation hat mehrere Fehler:
1. Es gibt mit Sicherheit Zeitraeume in denen weder Du noch Mupfel anwesend
sind, d.h. ihr koennt erst im nachhinein eingreifen, wenn bereits jemand ueber
Gebuehr gestresst worden ist
2. Mit welchem recht willst du den Spieler bestrafen?

OrkT.

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



Re^7: Missbrauch von Ombatis? (Alkohol, 16. Nov 2003, 19:57:07):
~#! rn=Orktoeter rt=1069008997 rg=gilden.chaos
~#! tid=1069005408
mit dem Recht des Chaos?

Alki

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



Re^8: Missbrauch von Ombatis? (Orktoeter, 16. Nov 2003, 20:00:31):
~#! rn=Alkohol rt=1069009027 rg=gilden.chaos
~#! tid=1069005408
Ahja.. spinnen wir den Faden mal etwas weiter... besagter boeser Chaot geht
dann zum Sheriff und beschwert sich ueber Magierwillkuer, weil er hat ja nur
ein Feature genutzt dass ihm seine Gilde bietet...

Ich weis, das muss nicht so kommen, aber es kann so kommen... eine wie oben
vorgeschlagene Aenderung des Ombatis verhindert die Sache dagegen von
vornherein.

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



Re^9: Missbrauch von Ombatis? (Medic, 16. Nov 2003, 20:07:28):
~#! rn=Orktoeter rt=1069009231 rg=gilden.chaos
~#! tid=1069005408
Der demokratiosche Grundgedanke "Wir brauchen eine Regel" ist ja
was nettes, aber seit wann ist das hier demokratisch?
Ein allgemeines "Uebertreibt's nicht" sollte ausreichen. Und wenn sich
jemand daneben bnimmt und damit auch nach einer Warnung weiter macht,
soll er sich dann bitte hinterher nicht ueber "Magierwillkuer" beschweren.
Ach uebrigens - wieviele Leute haben sich eigentlich ueber wieviele
Chaoten in welchem Zeitraum beschwert?

Medic

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



Re^10: Missbrauch von Ombatis? (Miril, 16. Nov 2003, 20:08:38):
~#! rn=Medic rt=1069009648 rg=gilden.chaos
~#! tid=1069005408
Meines Wissens nach bislang einer. Heute.

Miril

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



Re^9: Missbrauch von Ombatis? (Joshua, 16. Nov 2003, 20:08:40):
~#! rn=Orktoeter rt=1069009231 rg=gilden.chaos
~#! tid=1069005408
Also einen Versuch unternehm ich hier noch. Jetzt also ausfuehrlich ...

Ombatis ist dazu da zu stressen. Das wird hier sicher auch niemand bestreiten.
Und ab und an Stressen ist auch ok, deshalb gibt es sowas wie Ombatis ja in
erster Linie. Wir reden jetzt also ueber die Leute, die ueber die Massen
stressen. Angenommen Spieler A macht das also nun mit Spieler B - schickt ihm
also endlos Ombatisse und Spieler B kriegt das mit dem Gaggen nicht hin und
ist voellig genervt. Da er auch keine Pause machen will spricht er also nun
einen Magier seiner Wahl an oder benutzt mrufe. Sicher wird sich das der /
einer der Magier ansehen und Spieler A fragen was los ist. Eventuell das ganze
ein wenig beobachten. Keine Strafe soweit, klar? Wenn das aber nun oefter so
ist und am Ende beim Sheriff auf dem Tisch landet, dann kann dieser im
Zweifelsfalle bei den entsprechendem/entsprechenden Magier(n) nachhaken und
bekommt dann sicher ein gutes Bild von der Problematik. Und er wird dann
entsprechende Schritte einleiten, dafuer ist er da.

Man muss ja nicht alles gleich ohne Ende eskalieren. Ich vernachlaessige in
diesem Szenario im uebrigen die Moeglichkeiten die direkte Kommunikation
zwischen Spieler A und Spieler B hier bietet.

Fazit: Die derzeitigen "Mechanismen" reichen dafuer voellig aus. Eine
Abschaffung oder was immer von Ombatis ist also gar nicht noetig. Meine
Meinung, wohlgemerkt ...

Josh

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



Re^10: Missbrauch von Ombatis? (Orktoeter, 16. Nov 2003, 20:14:10):
~#! rn=Joshua rt=1069009720 rg=gilden.chaos
~#! tid=1069005408
Also:
1. ist noch die Frage ob die Spielregeln ausreichen um einen Chaoten fuer
exzessives Ombatissen eines Spielers zu bestrafen
2. und wichtiger: Das kann erst dann greifen, wenn das dauernerven schon
passiert ist.

Wo bitte sind die von Ahab und mir vorgeschlagenen Aenderungen so schlimm?
(ausser dem Programmieraufwand den das mit sichbringt, den Humni aber offenbar
bereit ist aufzubringen?)

OrkT.

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



Re^11: Missbrauch von Ombatis? (Joshua, 16. Nov 2003, 20:16:13):
~#! rn=Orktoeter rt=1069010050 rg=gilden.chaos
~#! tid=1069005408
Es ist nicht notwendig und Humni hat - das nehme ich hier an - besseres und
vor allem wichtigeres zu tun. Und es schraenkt die Wirkung eines Ombatis ein -
wenn ich mal nerven will, dann will ich auch richtig nerven koennen. Ich weiss
allerdings auch nicht mehr wann ich meinen letzen Ombatis verschickt habe, das
gleich noch dazu.

Josh

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



Re^12: Missbrauch von Ombatis? (Orktoeter, 16. Nov 2003, 20:19:24):
~#! rn=Joshua rt=1069010173 rg=gilden.chaos
~#! tid=1069005408
Zitat aus Joshuas Artikel:

"wenn ich mal nerven will, dann will ich auch richtig nerven koennen"

keine Fragen mehr euer Ehren...

Gibt es jetzt noch wen, der die Notwendigkeit einer Aenderung bestreitet?

OrkT.

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



Ombatis (Kellybundy, 16. Nov 2003, 20:19:32):
Da ja die Nervmoeglichkeiten des Ombatis doch sehr beschraenkt sind, kann ich
mir nix langweiligeres vorstellen, als einem nervenden Newbie staendig nen
Ombatis auf den Hals zu schicken. Ganz zu schweigen von der KP- bzw
Kompoverschwendung. Und wenn, wie in diesem Thread erwaehnt wurde, die Newbies
schon oft mit Zmud/TF ausgeruestet ins Mud kommen, duerfte im Zweifelsfalle
ein /gag bzw #gag kein problem sein oder? Ich persoenlich habe nur ein
einziges mal einen Newbie mit Ombatis' eingedeckt (es waren 2 oder 3) die sehr
schnell wieder weg waren. Meine Gruende sind auf -Seher von damals
nachzulesen. Hat den Betreffenden uebrigens nur am Rande etwas gestoert, weil
der auf Krawall aus war.

Blondchen

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



Re: Ombatis (Joshua, 16. Nov 2003, 20:20:31):
~#! rn=Kellybundy rt=1069010372 rg=gilden.chaos
~#! tid=1069010372
Damit es da keine Missverstaendnisse gibt. Ich spare mir vorlaeufig weitere
Diskussionen mit Orktoeter.

Josh

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



Re: Re: Ombatis (Orktoeter, 16. Nov 2003, 20:22:45):
~#! rn=Joshua rt=1069010431 rg=gilden.chaos
~#! tid=1069010372
As you like, aber wie soll man Deinen Artikel anders verstehen, als das du die
Moeglichkeit haben moechtest (wenn es dir gefaellt) einem Spieler einen
Ombatis nach dem anderen zu schicken?

Und genau so etwas zu verhindern ist ja gerade der Anlass zu diesem Thread.

OrkT.

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



Re: Missbrauch von Ombatis? (Darkwing, 16. Nov 2003, 20:42:14):
~#! rn=Humni rt=1069005408 rg=gilden.chaos
~#! tid=1069005408
Kiu hatte das mal recht treffend erkannt: "Schickt eure dummen Daemonen
schneller, die halten einfach nix aus!"

Aber den kennt eh keiner mehr... who cares :)

Darkwing

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



Re^10: Missbrauch von Ombatis? (Patryn, 16. Nov 2003, 20:57:44):
~#! rn=Joshua rt=1069009720 rg=gilden.chaos
~#! tid=1069005408
Nun ja, ich kenne mindestens ein Beispiel der juengeren Vergangenheit,
wo die Mechanismen nicht reichen, weder eine Kommunikation zwischen
Nerver und Genervtem stattfand, noch der Weg ueber andere Instanzen
geklappt haben soll. Da sieht man mal wie unsere dicken Gesetzeswerke
entstanden...aber mit Westerwelle haben wir ja bald wieder des BGB
auf einem DIN-A5-Zettel ;)

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



Re^11: Missbrauch von Ombatis? (Akasha, 16. Nov 2003, 21:20:29):
~#! rn=Patryn rt=1069012664 rg=gilden.chaos
~#! tid=1069005408
Ich halte Ombatis durchaus fuer eine witzige Moeglichkeit, jemandem 
aufzuzeigen, dass er nervt. Exzessiver Missbrauch ist mir nicht bekannt,
wohl aber Gelegenheiten, bei denen jemand _einen_ Ombatis bekam und so sehr
darueber gejammert hat, als waere er ueber Wochen tagtaeglich mit einer nicht
enden wollenden Serie von Nervdaemonen maltraetiert worden.
Ich gebe zu, dass auch _ein_ Ombatis in gewissen Situationen ziemlich nervig
sein kann (Metzeln, Questen, Forschen), zumal es in der Hand des Chaoten 
liegt, wie stark der Daemon nun wirklich nervt.
Trotzdem gehe ich davon aus, dass die Chaoten mit dieser Faehigkeit durchaus
verantwortungsbewusst umgehen. Ein Missbrauch in Form eines Ombatis-Scripts,
welches einen Spieler immer wieder mit einem neuen Daemon bedenkt, sollte in
jedem Falle den Chaosmagiern oder dem Sheriff gemeldet werden. Solche 
Einzelfaelle (denn um nichts anderes handelt es sich) sollten jedoch einzeln
mit entsprechenden Konsequenzen fuer den scriptenden Chaoten geahndet werden
und nicht die Faehigkeiten der ganzen Chaosgilde beeinflussen duerfen.
Oder sollten etwa bestimmte Spells anderer Gilden abgeschafft werden, bloss
weil vereinzelte Metzelscripte den normalen Spielern damit ganze Gegenden vor
der Nase leermetzeln?
Ich persoenlich sehe keinerlei Handlungsbedarf, Ombatis abzuhaengen. Sollte
jedoch der allgemeine Konsens dahin tendieren, dass er ueberdacht werden 
muss, schlage ich vor, eine Zeitsperre zu verhaengen, die verhindert, dass
einem Spieler immer und immer wieder ein Ombatis geschickt wird. Insbesondere
Anfaenger sollten durch diese Sperre massiver geschuetzt werden als erfahrene
Spieler.
Ganz abgesehen davon kann ich nur dazu aufrufen, dass jeder der mit einem
Ombatis bedacht wird, das Ganze mit Humor nimmt (immerhin ist das hier ein 
Spiel!) und ggfs. darueber nachdenkt, _weshalb_ er sich den Ombatis 
"verdient" hat. Ich fuer meinen Teil kenne jedenfalls keinen Chaoten, der
Ombatis vollkommen grundlos verschickt.

Akasha


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



Re^12: Missbrauch von Ombatis? (Orktoeter, 16. Nov 2003, 21:24:07):
~#! rn=Akasha rt=1069014029 rg=gilden.chaos
~#! tid=1069005408
"verdient"? 
Ich kenne da einen (seit ewigen Zeiten nicht mehr aktiven) Chaoten, der hat
sich eingelogt und dann erst mal kwer gemacht und der Reihe nach allen kleinen
Spielern einen Ombatis geschickt. Aber es kann ja sein, dass man Ombatis nicht
mehr lernen muss...

OrkT.

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



Re^13: Missbrauch von Ombatis? (Orktoeter, 16. Nov 2003, 21:25:22):
~#! rn=Orktoeter rt=1069014247 rg=gilden.chaos
~#! tid=1069005408
(aber Chaotisch gutes Rollenspiel war es doch)

sorry fuer den Selbstreply, OrkT.

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



Re^6: Missbrauch von Ombatis? (Firehawk, 16. Nov 2003, 21:41:57):
~#! rn=Miril rt=1069008516 rg=gilden.chaos
~#! tid=1069005408
Soso, ihr werdet etwas finden, was ihr mit dem Betreffenden anstellen werdet?
Belobigung? Aufstufung? Kurzfristiges Maxen aller Stats? Also jetzt mal
ehrlich, was soll das ganze Hickhack. Ombatis ist dazu da zu nerven, dafuer
sind wir Chaoten. Ist ja irgendwie auch das einzige was ein Chaot einem
Mitspieler so antun kann (zumindest offiziell, den Rest behalt ich mal fuer
mich ;)). Wenn jemand einen Dauerombatis kriegt (hab ich bisjetzt nur einmal
erlebt), so hat das meisst einen von zwei Gruenden, erstens der Chaot mag den
entsprechenden Spieler aus irgendeinem Grund nicht und wenn ihr den Ombatis
einschraenkt findet der Schlingel vieleicht etwas gemeineres um das zum
Ausdruck zu bringen. Oder der Chaot uebt (warum auch immer, hab ich nie
verstanden) das Vieh, dann kann man ihn darauf hinweisen, das es viel mehr
Spass machen wuerde seine ueberzaehligen Ombatississe (Mupfel, wie ist die
Mehrzahl, Ombati?) an Spieler xyz abzugeben statt an einen selbst. :)

My 0.00 Euronen, Firehawk.

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



Re^7: Missbrauch von Ombatis? (Littlenaki, 17. Nov 2003, 00:01:16):
~#! rn=Firehawk rt=1069015317 rg=gilden.chaos
~#! tid=1069005408
Hm, ich will dann auch mal meinen Senf als Chaot dazugeben. Wer anderen einen
Ombatis schickt, damit er ihn ueben kann, der macht meiner Meinung nach
definitiv was falsch ;) weil woran kann man besser "verbanne" ueben, als an
den Daemonen die man uebt? ;) Sowas nennt man Wirtschaftlichkeit *fg*
Zudem muss ich sagen, dass ich in meiner Chaotenkarierre 2 Ombatisse aus Spass
und zum probieren geschickt habe (in Absprache mit dem Spieler) und nur einen
an eine Nervensaege, mit dem ich jedoch hinterher ein klaerendes Gespraech
hatte. 
Und ich denke, dass Ombatis hier im MUD wirklich nicht ausgenutzt wird o.ae. 
ombatische Gruesse, LN

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



Re: Missbrauch von Ombatis? (Ogo, 17. Nov 2003, 04:42:39):
~#! rn=Humni rt=1069005408 rg=gilden.chaos
~#! tid=1069005408
Nunja, wenn man die Sache kalt und pragmatisch betrachtet, ist Ombatis nur
eine sehr bescheidene Massnahme um jemanden zu aergern. Entweder ich habe ein
achso tolles Ombatis-Script oder ich zuecke meinen Betsklaven. Wirkliche
Probleme bekommen nur kleine und unerfahrene Spieler. Einem Newbie (lies
juenger als ein Tag oder kleiner Level 5) einen Ombatis zu schicken, halte ich
fuer zweifelhaftes Verhalten. Eventuell koennten man in diesem Kontext ueber
eine Schonfrist nachdenken. 
Ombatis als Gildenfaehigkeit, um jemand zu beeintraechtigen, ist harmlos im
Vergleich zu vielem anderen. Ich werf nur mal ein paar Stichworte in den Raum:
Portal, schwarze Huelle, Froschen, Finstern...
Wenn man zwei Chaoten (unterschiedliche IP ;) braeuchte, um einen achso
nervigen Ombatis zu beschwoeren, waere wohl schon ein ausreichendes Regularium
geschaffen, um etwaigen Missbrauch zu unterbinden. Nur als unausgereiften
Gedankenblitz...

Ogo, mitsenfend.

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



Re: Re: Missbrauch von Ombatis? (Muadib, 17. Nov 2003, 09:40:02):
~#! rn=Ogo rt=1069040559 rg=gilden.chaos
~#! tid=1069005408
Also nur um das klarzustellen, wenn jemand durch eine Gildenfaehigkeit
dauerhaft drangsaliert wird, dann kann er sich jederzeit bei mir Melden. In
den meisten Faellen kann man dieses Drangsalieren nachvollziehen in den
Faellen in denen das nicht geht muss man es nachvollziehbar machen.
Ist nun eine solche Dauerbelaestigung gegeben werde ich sie abstellen.


PS: ja ich hatte schon meinen Erzmeisterombatis und benoetige keine
Demonstration :)

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



Re^3: Missbrauch von Ombatis? (Vanion, 17. Nov 2003, 09:44:13):
~#! rn=Muadib rt=1069058402 rg=gilden.chaos
~#! tid=1069005408
Willste mal einen Erzmagier-Ombatis? Da gibts dann die Meldung: "Bandwidth
exeeded." :)

V*

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



Re^4: Missbrauch von Ombatis? (Montanus, 17. Nov 2003, 13:03:15):
~#! rn=Vanion rt=1069058653 rg=gilden.chaos
~#! tid=1069005408
Frueher, vor dem Krieg, als ich noch SPieler war...
... da hat man nervigen Chaoten, die mit Ombatissen um sich geworfen haben,
einfach ihre anderen Daemonen weggemetzelt.
Da flossen dann so viele Traenen, dass neue Schiffahrtslinien im Morgengrauen
eingefuehrt werden mussten...

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



Re^5: Missbrauch von Ombatis? (Karis, 17. Nov 2003, 16:28:44):
~#! rn=Montanus rt=1069070595 rg=gilden.chaos
~#! tid=1069005408
*WAELZ*
So gut wie ueber diese Diskussion habe ich mich schon lange nicht mehr
amuesiert :))
Ein dickes Dankeschoen an Humni fuer diesen genialen Einfall!

Karis

PS: Koennt Ihr bitte nochmal so ne Diskussion ueber Eusebius starten?
Biiittteeeeeee :)))))

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



Re: Re: Missbrauch von Ombatis? (Whitetiger, 17. Nov 2003, 17:40:52):
~#! rn=Ogo rt=1069040559 rg=gilden.chaos
~#! tid=1069005408
Mhhm, also wenn du findest, dass Ombatis "eine sehr bescheidene Massnahme um
jemanden zu aergern" (im Vergleich mit anderen Moeglichkeiten) ist, wieso
willst du dann grade fuer Ombatis so etwas aufwendiges (fuer den Caster)
machen wie die Anwesenheit von zwei Nicht-IP-gleichen Chaoten ? Abgesehen
davon, dass Chaoten meines Erachtens "roleplay"-maessig eh eher Einzelkaempfer
sind, wieso dann nicht auch bei Froschen die Anwesenheit von mindestens zwei
Zauberern fordern ...?

Tiger, ex-Chaotenseher

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



Re^3: Missbrauch von Ombatis? (Foobar, 17. Nov 2003, 17:48:08):
~#! rn=Whitetiger rt=1069087252 rg=gilden.chaos
~#! tid=1069005408
Fazit dieses Threads:

1. Alle sind zu dumm, um was zu begreifen.
2. Ich muss mich diese Uptime doch noch ausruesten, um saemtliche
Chaosdaemonen umzuhauen, die mir vor die Axt kommen. Schliesslich ist Nerven
und Stressen ein essentieller Bestandteil im taeglichen MUD-Miteinander, da
will ich keinen zu kurz kommen lassen.

Foobar

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



Re^4: Missbrauch von Ombatis? (Montanus, 17. Nov 2003, 17:49:54):
~#! rn=Foobar rt=1069087688 rg=gilden.chaos
~#! tid=1069005408
Wenn du alles verraets, Foobelchen, dann ist der Thread viel zu schnell zu
Ende... :-(

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



Re^5: Missbrauch von Ombatis? (Anatol, 17. Nov 2003, 19:11:46):
~#! rn=Montanus rt=1069087794 rg=gilden.chaos
~#! tid=1069005408
Ach Kinder... Dies hier ist ein Mud, und wie in fast allen Muds gilt auch
hier die Prime Directive "Habe Spass nicht auf Kosten anderer.". Wer glaubt,
das durch Wahl einer bestimmten Rasse oder Gilde umgehen zu koennen, mag
den Erzmagier seines Vertrauens bitten, eine psychosoziale Beratungsstelle
zu programmieren. Der Bedarf waere dann naemlich da.

Anatol


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



Delfenleiche (Miril, 17. Nov 2003, 20:45:53):
Irgendwie ist ein neuer Text auf der Delfenleiche erschienen, die 
Hutschat so sorgfaeltig pflegt.

Miril

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



Delfenleiche (Ogo, 17. Nov 2003, 20:56:04):
~#! on=Ogo ot=1069098826 og=schmarrn
~#! on=Miril ot=1069098353 og=gilden.chaos
Irgendwie ist ein neuer Text auf der Delfenleiche erschienen, die 
Hutschat so sorgfaeltig pflegt.

Miril

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



Re^4: Missbrauch von Ombatis? (Mingo, 19. Nov 2003, 05:07:00):
~#! rn=Vanion rt=1069058653 rg=gilden.chaos
~#! tid=1069005408
Ombatis nervt? Eusebius nervt? Ja wen nerven sie denn?

Die sich nicht zu helfen wissenden Spieler. Entgegen der Geruechte sind das 
oftmals Newbies. Die Altspieler wissen entweder um Entsorgung oder haben 
tf/zmud nebst Gag-Script von http://tf-macros.sourceforge.net/.
Die Alten machens also vor: Entfernen oder Ignorieren. Tada. Ignorieren. 
Lasst die nervigen Daemonen ihre Texte ignorierbar von sich geben und schon 
sind fast alle gluecklich.

Klar sind diejenigen damit unzufrieden, die wirklich nerven und aergern 
wollen, aber Ombatis als kleiner Nerver existiert weiterhin und kann mit 
Freude, erm Hass verschickt werden. Der Ombatis wurde ja zum Zweck "da habt 
ihr einen Daemon, der richtig fies ist und nicht metzelt" geschaffen und 
nicht damit man Mitspieler ultimativ zuscheissen kann.
Eine Zeitlang, gerade wenn man den noch nie gesehen hat, ist er sogar recht 
witzig fuer den Empfaenger. Und wenn nicht mehr, dann kann der Empfaenger 
den Daemon aus seinem Spielgeschehen ausblenden wie einen nervigen Spieler.

PS: Gluecklicherweise haben Daemonen keine Zweities ...


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



Re^5: Missbrauch von Ombatis? (Whitetiger, 19. Nov 2003, 10:04:24):
~#! rn=Mingo rt=1069214820 rg=gilden.chaos
~#! tid=1069005408
Ich finde, dass man Ombatis nicht mehr als "richtig fies" bezeichnen kann,
wenn er ignorierbar ist ... abgesehen davon, dass schon im Grunde alles
ignorierbar sein sollte, waer damit ja die ultimative Nerverei weg, nich? ;)
Wie waere es, wenn man sozusagen ein probability-ignore einbaut? Je nachdem,
wie gut der Daemon beschworen wurde, wird halt jeder Text zufaellig
ignoriert... oder sowas.

Tiger, ex-Chaotenseher

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



Re^5: Missbrauch von Ombatis? (Mupfel, 19. Nov 2003, 19:49:37):
~#! rn=Mingo rt=1069214820 rg=gilden.chaos
~#! tid=1069005408
Wenn man Ombatis ignorierbar macht, wird ihn nach kurzer Zeit JEDER
ignorieren, und weiter noch, jedem Neuspieler wird als einer der ersten Tipps
gesagt: "ignoriere ombatis" (der naechste Tipp ist dann aber auch gleich
"ignoriere gloinson", aber das ist ein ganz anderes Feld... ;).

Dann kann ich Ombatis auch gleich abklemmen.

-mupfel-

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



Re^6: Missbrauch von Ombatis? (Medic, 19. Nov 2003, 20:01:10):
~#! rn=Mupfel rt=1069267777 rg=gilden.chaos
~#! tid=1069005408
Was soll's eigentlich noch?
EINE Beschwerde? Und DANN diese Diskussion?
Wenn's jemand uebertreibt, verwarnen, zur Kommunikation auffordern
oder im schlimmsten Fall Entzug der Gildenfaehigkeit durch den Sheriff...
Fertig aus.

Medic (versteht den Sinn dieser Diskussion nicht)

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



Re^7: Missbrauch von Ombatis? (Boing, 19. Nov 2003, 20:32:47):
~#! rn=Medic rt=1069268470 rg=gilden.chaos
~#! tid=1069005408
Der Sinn steht doch im ersten Artikel ... es ging um ein Meinungsbild.
Ist doch gut gelungen, finde ich.
  Boing

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



Re^8: Missbrauch von Ombatis? (Medic, 19. Nov 2003, 22:14:48):
~#! rn=Boing rt=1069270367 rg=gilden.chaos
~#! tid=1069005408
Naja...

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



Re^9: Missbrauch von Ombatis? (Leila, 20. Nov 2003, 00:00:34):
~#! rn=Medic rt=1069276488 rg=gilden.chaos
~#! tid=1069005408
Huhu, ich dachte ich sage auch mal was dazu!
Hier scheinen ja nun fast alle mal was zu gesagt zu haben..
Ich verstehe das NICHT! Ich gehe davon as das ihr alle erwachsene Menschen
seid
jedenfalls die meissten von euch...
Wenn man sich das hier mal durchliest, dann scheint es so als ob wir hier in
einem Kindergarten sind
Kann man das nicht unter sich klaeren? Wenn sich jemand von einem anderen
Spieler
genervt fuehlt?
Muss man dann das ganze Mud da mit rein ziehen..."Den Lehrer" (Magier) um
Hilfe fragen?
Ich weiss nicht, ich denke das solltet ihr alleine koennen....
Das der Artikel von mir vllt etwas spaet kommt liegt daran das ich ein bischen
wenig zeit hatte und nicht oft Online war die letzten Tage..
Denkt mal ueber euch nach....

Gruss Leila

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



Re^10: Missbrauch von Ombatis? (Patryn, 20. Nov 2003, 01:54:58):
~#! rn=Leila rt=1069282834 rg=gilden.chaos
~#! tid=1069005408
oh ja, so applausheischendes toleranzgewaesch fehlte nu grad noch...
pro ombatis, vote :)

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



Re^6: Missbrauch von Ombatis? (Mingo, 20. Nov 2003, 03:29:39):
~#! rn=Mupfel rt=1069267777 rg=gilden.chaos
~#! tid=1069005408
Nur weil die Moeglichkeit besteht, dass dich jeder deines Artikels wegen
ignoriert:
- wird es nicht jeder machen, manche finden dich trotzdem interessant,
  informativ, unterhaltsam
- wirst du dich nicht selbst abklemmen (selbstloeschen), weil du um
  oberen Anstrich weisst

Und auch wenn Neuspieler ein "ignorier mupfel.mpa" empfohlen bekaemen, wuerde
das zu obigen zwei Anstrichen fuehren.


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



Re^10: Missbrauch von Ombatis? (Muadib, 20. Nov 2003, 10:08:43):
~#! rn=Leila rt=1069282834 rg=gilden.chaos
~#! tid=1069005408
leila es tut mir leid dir das sagen zu muessen aber in der von dir
angesprochenen hinsicht ist der einzige unterschied zwischen kindern und
erwachsenen dass bei erwachsenen das kindergartengelaende groesser ist als bei
kindern

aber schoen dass du drueber stehst :)

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



Re^11: Missbrauch von Ombatis? (Darklor, 21. Nov 2003, 17:47:26):
~#! rn=Muadib rt=1069319323 rg=gilden.chaos
~#! tid=1069005408
Weiss gar nich was das mit Ombatis soll... is doch nur Scroll... 

Darklor

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



Re^12: Missbrauch von Ombatis? (Whitetiger, 21. Nov 2003, 17:48:36):
~#! rn=Darklor rt=1069433246 rg=gilden.chaos
~#! tid=1069005408
Das irritiert halt die ganzen Forsch- und Untersuche-Scripte. ;)
Neee, manchmal kann das schon doof sein, wenn du grad was liest und das dann
wegscrollt ...

Tiger, ein klein wenig -> schmarrn

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



Re^13: Missbrauch von Ombatis? (Kellybundy, 21. Nov 2003, 18:01:30):
~#! rn=Whitetiger rt=1069433316 rg=gilden.chaos
~#! tid=1069005408
Und dafuer gibbet TF und Zmud. Inzwischen kommen ja schon die Newbies derartig
aufgeruestet (unjd am besten noch gleich mit entsprechenden Scriptpaketen
versehen)  ins Mud, was man so hoert. Also: wo is das Problem?

Dumpfbacke

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



Re^14: Missbrauch von Ombatis? (Darklor, 21. Nov 2003, 18:48:45):
~#! rn=Kellybundy rt=1069434090 rg=gilden.chaos
~#! tid=1069005408
Muss mal eben auf das Script verzichtet werden und per Hand forschen... 

Darklor

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



Re^15: Missbrauch von Ombatis? (Key, 16. Feb 2004, 11:45:32):
~#! rn=Darklor rt=1069436925 rg=gilden.chaos
~#! tid=1069005408
Hmm hab den Anfang der Diskussion verpasst :(

Wer will einen Ombatis?


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



Zaubischutz (Humni, 14. Mar 2004, 20:10:05):
Wers nicht liest: Ich verweise auf die Rubrik gilden.zauberer, wenn sich
jemand von denen Schutz(huellen) holen sollte.

Humni

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



Re: Zaubischutz (Mupfel, 14. Mar 2004, 23:56:55):
~#! rn=Humni rt=1079291405 rg=gilden.chaos
~#! tid=1079291405
Immer diese Inkompatibilitaeten... muss die Chaosgilde jetzt nachziehen, und
die Chaos-Finsternis verschwindet ploetzlich, wenn ein Zaubi den Raum betritt?
Oder die Kampfdaemonen verhalten sich.... merkwuerdig?
Fragen ueber Fragen ;)

-mupfel-

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



Re: Re: Zaubischutz (Akasha, 14. Mar 2004, 23:59:38):
~#! rn=Mupfel rt=1079305015 rg=gilden.chaos
~#! tid=1079291405
Hmm, ob Kampfdaemonen "wille" moegen? *mampf* ;)

Akasha

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



Baum faellt! Fiel? Ist gefallen?? War gefallen??? (Mupfel, 14. Okt 2004, 00:15:50):
~#! on=Mupfel ot=1097705658 og=d.polar
Akasha hat einen Baum gefaellt. Ihr wisst schon... ;)

-mupfel-

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



Idee (Kellybundy, 25. Aug 2005, 14:23:19):
Wie waere es, wenn man als chaot auch unter gewissen vorraussetzungen heiligen
schaden machen koennte?
Ich weiss, dass das ein Verrat am Chaos ist ;-) und an der Gildenphilosophie
und an der RPGPhilosophie und ueberhaupt allem, was gut und rechtens ist, ist.
Aber wurden schon mal vorschlaege zu dem Thema gemacht? oder wird das ganze
komplett abgelehnt?

Kelly, einfach nur mal interessiert, was diesbezueglich stande der dinge ist

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



Re: Idee (Vector, 25. Aug 2005, 14:25:51):
~#! rn=Kellybundy rt=1124972599 rg=gilden.chaos
~#! tid=1124972599
und dann kommen kleriker und wollen boesen schaden?:)
schon jetzt gibts ja (leider) genug waffen so das jede gilde ueber
den waffenschaden jede schadensart hat, was soll noch hinzukommen?
ein heiliger chaosball? *huestel* 
auch wenn ich mich seit jahren in dem punkt wiederhole solle man
mal andenken das boesen schaden _aussschliesslich_ chaoten machen
duerfen, und heiliger schaden _aussschliesslich_ den klerikern
ueberlassen bleibt. 

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



Re: Re: Idee (Kellybundy, 25. Aug 2005, 14:32:19):
~#! rn=Vector rt=1124972751 rg=gilden.chaos
~#! tid=1124972599
Ja es gibt genug Waffen die Heiligen schaden machen, aber ich hatte grad nen
Versuch, eine Waffe zu schnorren( *GG* ), die wirklich durchschlagend ist,
aber nur wenn man heilig ist. ist insofern bloed, weil die daemonenpeitsche
auch nicht mehr wirklich zuhaut nach der letzten abwertung...

Nicht, dass ich was gegen Balance usw haette, ich fragte ja auch nur
interesse4halber, ob ueberhaupt mal sowas angedacht wurd. So Sachen bei den
Zaubis wie 'zwinge Arkshat zu...' 'Zwinge Kruuolq zu...' waren ja auch kein
Problem offenbar

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



Re^3: Idee (Vector, 25. Aug 2005, 14:36:35):
~#! rn=Kellybundy rt=1124973139 rg=gilden.chaos
~#! tid=1124972599
also es gibt einige waffen und ruestungen die restriktionen haben.
manchmal kann man sie nur zuecken wenn man gut ist manchmal muss
man boese sein, eine bestimmte level oder attributpunkte haben,
beim npc der die waffe hatte nen gewissen schaden gemacht haben
etc etc. das ist ja auch erstmal gut so, weil durch so einen
kleinen "malus" man oftmals eine staerke waffe durch die balance
bringt, und so schaffen sich viele waffen beschraenkte aber 
nuetzliche nischen und sind in ihrem einsatzgebiet sehr stark.

ok ich muss zugeben ich kenn die daemonenpeitsche nicht, aber
wars nicht so das chaos aufgeweret wurde indem sie eigene
waffenskills bekommen haben (wie abenteuer und kk) ?

deinen zweiten absatz mit dem zaubi-zwinge versteh ich beim
besten willen nicht was das mit heiligem schaden zu tun hat,
vielleicht hab ich ja auch nur grad das falsche aligment :)

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



Re^4: Idee (Humni, 25. Aug 2005, 14:41:47):
~#! rn=Vector rt=1124973395 rg=gilden.chaos
~#! tid=1124972599
Ich bin eigentlich ein deutlicher Verfechter von einer deutlichen
Unterscheidung zwischen "Gut" und "Boese" im Mud. Mich stoeren selbst auch
Gebiete, die sowas einfach mal "durchmischen" - mit Viechern, die ohne
jeglichen Grund boesen bzw. heiligen Schaden machen. 

Und genau aus dem Grund bin ich prinzipiell dagegen, dass Chaoten heiligen
Schaden machen. Mit einer heiligen Waffe - von mir aus, wobei mein heiliges
Schwert besser nicht von Chaoten gezueckt wird - aber nicht auch noch als
Spell.

Chaoten ein wenig aufwerten (obschon die Top-Chaoten recht gut mithalten)?
Neue Daemonen, andere Staerken...? Wegen mir. Heiligen Schaden? Nein.

Humni

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



Re^4: Idee (Maharet, 25. Aug 2005, 14:42:55):
~#! rn=Vector rt=1124973395 rg=gilden.chaos
~#! tid=1124972599
Ich find es auch ehrlich gesagt gar nicht schlecht, dass man ab und zu mal
gezwungen ist, mit nem Mitglied einer anderen Gilde im Team zu kaempfen, um
nen bestimmten EK zu kriegen.  Ich hab auch schon an rein magieempfindlichen
Wesen gestanden und null Schaden gemacht. Ok, ich bin auch kein erfahrener
Metzler und kenn nicht alle Waffen - da mag sein Pitfall, Nicolai. Darkwing
das Problem vielleicht gar nicht kennen. Aber mein Job ist mechanischer
Schaden, und so hat jede Gilde ihre Spezialitaet. Universalmetzler - das ist
doch langweilig ;)

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



Re^5: Idee (Kellybundy, 25. Aug 2005, 14:43:19):
~#! rn=Humni rt=1124973707 rg=gilden.chaos
~#! tid=1124972599
Prima, das war ein Statement von kompetenter Seite.

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



Re^6: Idee (Croft, 25. Aug 2005, 14:46:03):
~#! rn=Kellybundy rt=1124973799 rg=gilden.chaos
~#! tid=1124972599
Man muesste mal im Archiv schauen obs diese Diskussion mit aehnlichem
Statement nicht schon mal gab.  Irgendwie ist mir so.

Croft

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



Re^5: Idee (Vector, 25. Aug 2005, 14:46:19):
~#! rn=Maharet rt=1124973775 rg=gilden.chaos
~#! tid=1124972599
mittlerweile sind trves nunmal aber universalmetzler :)
da wurde jahrelang wohl verschlafen/vergessen mal auf die
waffen zu achten und ploetzlich waren zig sachen mit extreeem
hohen magischem anteil im umlauf. gut das ist jetzt so,
das laesst sich weder rueckgaengig machen noch zurueck
schrauben, aus kaempfersicht natuerlich prima, mir persoenlich
macht nicolai derzeit deutlich mehr spass zu spielen als
vector, der schlingel kann einfach alles.
und wenn man meinen traum mal kurz traeumen wuerde
(keinen heiligen/satanischen schaden von trves verursachbar)
dann wuerde den kaempfern auch kein zacken aus ihrer
kristallkrone brechen, quasi jeder npc hat genug 
alternativen.

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



Re^4: Idee (Kellybundy, 25. Aug 2005, 14:48:33):
~#! rn=Vector rt=1124973395 rg=gilden.chaos
~#! tid=1124972599
Nunja, ich weiss gar nicht ob es das ueberhaupt noch gibt. Damals war ne
Riesendiskussion um Zaubiabwertung oder nicht im Gange, damals war auch noch
die Rede von Neuprogging der Zaubigilde ;-)...

Wie gesagt, ich schiebe nur etwas Frust, dass man gewisse nichtdaemonische
boese Chars nicht richtig hauen kann. Deswegen frag ich ja interessehalber und
betone nochmal, dass ich keine Kritik ueben moechte, zumal die oben
angefuehrte Argumentation sowohl stichhaltig als auch bekannt ist.

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



Re^5: Idee (Huraxprax, 25. Aug 2005, 14:50:21):
~#! rn=Humni rt=1124973707 rg=gilden.chaos
~#! tid=1124972599
Also ich halte heilige Chaosbaelle genauso unpassend wie es heilige oder boese
Kami fuer Tanjian waeren. Und ausser Hez'Zoarath kenne ich keinen Gegner bei
dem
man unbedingt heiligen Schaden braucht, und es gibt noch genug heilige Waffen
ohne Restriktionen. Aber alle heiligen Waffen abzuschaffen wuerde meiner
Meinung
nach zu stark das Gleichgewicht veraendern, und es waere auch unsinnig wenn 
dann fuenf Klerizweities bei Hez stehen wuerden. Mali fuer Gilden wie Tanjian
oder fuer Leute die wegen anderer Vorteile (Schutzamulett, PdG) boese sein
wollen finde ich aber OK.

Huraxprax

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



Archiv (Kellybundy, 25. Aug 2005, 14:50:41):
Dazu muesste ich Zugriff aufs MPA-Archiv haben. Egal von welchem Rechner,
bisher gings nie.

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



Re^5: Idee (Vector, 25. Aug 2005, 14:55:23):
~#! rn=Kellybundy rt=1124974113 rg=gilden.chaos
~#! tid=1124972599
gut, es mag also npc geben die man alleine als chaot nicht
hauen kann. sowas gibts bei allen gilden, und je nach gilde
sind das (bedeutend) mehr oder (bedeutend) weniger.
als chaot hat man z.b. noch den vorteil auf sogenannte
"gilden-externe" skills auszuweichen. wurfsterne,
pfeile etc. wie sinnvoll das jedoch ist is natuerlich
ne andere frage. da muss ich mich gleich noch
beschweren warum ich als zaubi so nen hohen malus
auf wurfsterne haben soll *jammer* :)

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



Re^6: Idee (Kellybundy, 25. Aug 2005, 15:12:20):
~#! rn=Vector rt=1124974523 rg=gilden.chaos
~#! tid=1124972599
meine Gilde ist schlechter als Deine *lauterjammer* -> schmarrn :)

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



Re^7: Idee (Vector, 25. Aug 2005, 15:12:52):
~#! rn=Kellybundy rt=1124975540 rg=gilden.chaos
~#! tid=1124972599
du spielst deine nur schlechter als ich meine *an-nase-zieh* :)

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



Re^8: Idee (Kellybundy, 25. Aug 2005, 15:14:20):
~#! rn=Vector rt=1124975572 rg=gilden.chaos
~#! tid=1124972599
ich spiele nicht schlecht ich bin nur kein 'bloss nicht sterben'- Weichei ;-)

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



Re^9: Idee (Jadawin, 26. Aug 2005, 08:53:02):
~#! rn=Kellybundy rt=1124975660 rg=gilden.chaos
~#! tid=1124972599
Ich finde es uebrigens bloed, dass ich nicht zaubern kann bloss weil ich ein
Kaempfer bin.
Jad*

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



Re^10: Idee (Vector, 26. Aug 2005, 08:53:36):
~#! rn=Jadawin rt=1125039182 rg=gilden.chaos
~#! tid=1124972599
Das glaube ich nicht Tim.

lalala spelldefend :)

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



Re^11: Idee (Orktoeter, 26. Aug 2005, 18:06:37):
~#! rn=Vector rt=1125039216 rg=gilden.chaos
~#! tid=1124972599
Sagt nicht euer Gildenmagier schon seit Jahren dass ihr, abgesehen davon das
ihr zu stark seit, auch keinerlei Zaubererflair mehr habt? Und was hat sich in
Jahren getan? Was ist aus den "Zauberern neu" geworden? 
Aber kaum das in gilden.chaos eine Neuerung diskutiert wird, gleich mal wieder
auf dem Lieblingsfeind herum hacken... ist in meinen Augen ein wenig
armseelig. 

OrkT.

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



Re^12: Idee (Ark, 26. Aug 2005, 18:10:17):
~#! rn=Orktoeter rt=1125072397 rg=gilden.chaos
~#! tid=1124972599
Ui, da hoere ich den Willen, mit an den "Zauberern neu" zu werkeln. Wohin darf
ich den Vertrag schicken? Wird auch dann sicher als GS anerkannt :-)
Heute mal als Werber unterwegs *Knueppel zueck* ...


              *** ARK * the * Magnificent ***


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



Re^13: Idee (Zook, 26. Aug 2005, 18:34:33):
~#! rn=Ark rt=1125072617 rg=gilden.chaos
~#! tid=1124972599
Engagierte Mitarbeit an diesem Projekt wird besonders lobend Eingang finden
und sicherlich schnell und unbuerokratisch[*] als GS anerkannt.

Zook.

 [*] Und das faellt mir echt schwer!

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



Re^5: Idee (Mupfel, 26. Aug 2005, 19:39:58):
~#! rn=Humni rt=1124973707 rg=gilden.chaos
~#! tid=1124972599
Dem kann ich nur zustimmen. Und das nicht, weil ich keine Wahl habe ;)

-mupfel-

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



Re^12: Idee (Puk, 27. Aug 2005, 11:56:57):
~#! rn=Orktoeter rt=1125072397 rg=gilden.chaos
~#! tid=1124972599
quatsch, man muss den anderen doch nen grund zum jammern geben.
"Alle Hacken auf uns Rum!" klappt eigentlich bei jeder Gilde gut und ist ein
beliebter Rundumschlag.

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



ChaoZ Rulez! (Ennox, 14. Jan 2007, 02:01:29):

Nachdem ich den Schwarzbierdrachen ein paar Flaschen Bier opferte, die
ich vorher mit der notwendigen Chaosmagie versehen hatte, wurde dieser
ganz komisch und wollte mich garnicht mehr fressen.

Die Gelegenheit ausnutzend habe ich mir seine biertriefende Kralle
gegriffen und drei schwarz-gruene Kreuze unter den Zettel mit den
Gildenaufwertungsvorschlaegen, die in den letzten Jahrhunderten
gesammelt wurden, gemacht.

Nach getaner Vorbereitung konnte ich ans Werk gehen. Mit einem
besonders gut gelungenen Pentagramm aus Furienblut, einem Bannkreis
aus Daemonenbrei und einigen geheimen Zutaten war es ein leichtes die
notwendige Chaosmagie zu beschwoeren. Mit ihrer Hilfe riss ich die
Gilde aus ihren Grundfesten, brachte sie kraeftig durcheinander und
liess sie wieder in die Fundamente aus schwarzem Eis knallen.

Wuqour und Kruuolq habe ich solange gefoltert, bis sie sich bereit
erklaert haben den Chaoten noch ein paar weitere Geheimnisse der
Daemonenbeschwoerung und Beherrschung der Chaosmagie
beizubringen. Wurde ja auch Zeit.

Ich habe die aktuellen Aenderungen ins MG kopiert, ein Teil davon (die
kleinen Dinge und Bugfixes) stehen schon allen Chaoten zur
Verfuegung. Der Rest kommt dran, nachdem die Testies sich die Sache
angeschaut haben.

Ennox, bluttriefend

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



Woerterbuch V4 (Ennox,  6. Feb 2007, 09:50:42):
Es hat jetzt ein paar neue Featueres und ist jetzt auch in Blindenschrift
erhaeltlich.

Gruss Mesi

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



Chaotenbibliothek (Ennox,  7. Feb 2007, 01:25:19):
Die neuen Daemonenbefehle sind jetzt dort auch zu finden, da koennt ihr Euch
schonmal den Mund waessrig machen  :)
Ausserdem werden die Texte jetzt auf Wunsch auch ohne Grafik-Rahmen angezeigt.

Gruss Mesi

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



Probleme mit Seher Metzel Master Quest (Ennox,  7. Feb 2007, 09:03:36):
Der Ring hat den schon angesprochenen Fehler von Autoloadobjekten. Wer also
die
Quest noch nicht fertig hatte und nun alle schon erlegten heiligen
Kroppviecher
nochmal umhauen muesste kann das entweder tun, oder mir Bescheid geben, dann
versuchen wir das aus dem Logfile zu restaurieren.

Gruss Ennox

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



Vanir ist ein echter Chaot (Ennox, 13. Feb 2007, 00:07:23):
Vanir hat jetzt Stufe 67 erreicht.
Vanir hat jetzt Stufe 68 erreicht.
Vanir hat jetzt Stufe 69 erreicht.
Vanir hat jetzt Stufe 70 erreicht.
Vanir hat jetzt Stufe 71 erreicht.
Vanir hat jetzt Stufe 72 erreicht.
Vanir hat jetzt Stufe 73 erreicht.
Vanir hat jetzt Stufe 74 erreicht.
Vanir hat jetzt Stufe 75 erreicht.
Vanir hat jetzt Stufe 76 erreicht.
Vanir hat jetzt Stufe 77 erreicht.
Vanir hat jetzt Stufe 78 erreicht.
Vanir hat jetzt Stufe 79 erreicht.
Vanir hat jetzt Stufe 80 erreicht.
Vanir hat jetzt Stufe 81 erreicht.
Vanir hat jetzt Stufe 82 erreicht.
Vanir hat jetzt Stufe 83 erreicht.
Vanir hat jetzt Stufe 84 erreicht.
Vanir hat jetzt Stufe 85 erreicht.
Vanir hat jetzt Stufe 86 erreicht.
Vanir hat jetzt Stufe 87 erreicht.
Vanir hat jetzt Stufe 88 erreicht.
Vanir hat jetzt Stufe 89 erreicht.
Vanir hat jetzt Stufe 90 erreicht.
Vanir hat jetzt Stufe 91 erreicht.
Vanir hat jetzt Stufe 92 erreicht.
Vanir hat jetzt Stufe 93 erreicht.
Vanir hat jetzt Stufe 94 erreicht.
Vanir hat jetzt Stufe 95 erreicht.
Vanir hat jetzt Stufe 96 erreicht.
Vanir hat jetzt Stufe 97 erreicht.
Vanir hat jetzt Stufe 98 erreicht.
Vanir hat jetzt Stufe 99 erreicht.
Vanir hat jetzt Stufe 100 erreicht.
Vanir hat jetzt Stufe 101 erreicht.
Hutschat schaut Vanir zerstreut an und macht muerrisch Notizen.
Hutschat geht nach Suedwesten.

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



Das erste unheilige Tridecagramm - 13.02.2007 (Ennox, 13. Feb 2007, 00:15:38):

Kruuolq und Wuqour haben viele Naechte mit unheiligen Beschwoerungen,
blutigen Schriftrollen und dunklen Ritualen zugebracht. Sie quaelten
Daemonen und auch ein paar Chaoten. Schliesslich entdeckten sie eine
ungeahnte Moeglichkeit. Mit einem umheimlich machtigen Tridecagramm
oeffneten sie einen Riss bis in die tiefsten, unerforschten Regionen der
Daemonendimension. Von dort stroemte konzentrierte Chaosmagie durch
den Riss und manifestierte sich hier in ihren Koerpern. Leider ueberlebten
es ihre sterblichen Huellen nicht, aber sie verbannten Tod mit einem Finger-
schnippen und kehrten in unsere Welt zurueck.

Das erworbene daemonische Wissen stellen sie nun allen Gildenmitgliedern 
zur Verfuegung.

Und seid gespannt, was die beiden aus dem naechsten Tridecagramm heraus-
steigen lassen.

Ennox, Entitaet nomen nescio null X, reibt sich die bluttriefenden Haende

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



Re: Das erste unheilige Tridecagramm - 13.02.2007 (Humni, 13. Feb 2007, 00:21:11):
~#! rn=Ennox rt=1171322138 rg=gilden.chaos
~#! tid=1171322138
Ja, klasse, freut mich, das ging echt fix...

Also, die Aenderungen sind erstmal alle unter Vorbehalt genehmigt. Das heisst:
Ich denke, dass sie im Rahmen dessen sind, was die Gilde verkraftet, ohne zu
stark zu werden. Ja, mir ist bewusst, dass das eine deutliche, aber noch
massvolle Aufwertung ist.

Sollte ich mich da an einigen Stellen nochmal gezwungen sehen, werde ich da
auch noch ein wenig Zahlen korrigeren. Bei den Konzepten sollte man bleiben
koennen, evtl. aendern sich nocht Einzelwerte. Aber: Alles ist erstmal unter
dem Vorbehalt, dass sich da auch schnell wieder was aendern kann.

Sollte jemand meinen, bestimmte Dinge seien zu stark, zu schwach oder
sonstiges, einfach melden, bei Ennox, bei mir, bei beiden oder diskutiert es
hier aus ;-)

Humni (dankt Ennox fuer einige wirklich gute Ideen und die Umsetzung)

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



Re: Re: Das erste unheilige Tridecagramm - 13.02.2007 (Ennox, 13. Feb 2007, 00:22:07):
~#! rn=Humni rt=1171322471 rg=gilden.chaos
~#! tid=1171322138
Vor allem bei zu schwach.
Ennox, fies grinsend

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



Verursacherprinzip (Ennox, 13. Feb 2007, 11:51:39):
Fur die Aenderungen in der Chaosgilde muesst ihr zuallerst
Ennox treten. 
Dann noch Muadib und Humni fuer die wichtigsten Ideen. 
Humni fuer die superschnelle Abnahme und Aufwertung der Gilde.
Die Tester Talyk, Vanti fuers Privileg den Spass vor Euch
zu haben.
Und Kruuolq und Wuqour dass sie Euch den Kram beigebracht
haben.

Frohes Treten

Ennox

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



Spielerangriffe (Zesstra, 29. Mai 2008, 23:04:29):
Huhu,

ich bin gerade auf der Suche nach der Ursache von einigen Merkwuerdigkeiten.
Falls ihr die Erfahrung macht, dass 2 Spieler automatisiert einen Kampf
beginnen, waere ich ueber eine entsprechende Mitteilung dankbar.
Wenn moeglich, bitte mit Log der relevanten Ein- und Ausgaben bis kurz vor dem
Kampf. Falls das nicht geht oder ihr das nicht mehr habt, schreibt mir bitte,
welche 2 Spieler das betroffen hat und wer/was noch im Raum war, insb. welche
NPCs (Daemonen, Begleit-NPCs). 

Zesstra

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



Kampfreihen (Humni,  2. Jun 2008, 22:28:42):
Huhu,

wie ihr sicher mitbekommen habt, gab es in letzter Zeit (oehem.. schon was
her) ein paar Aenderungen bei den Chaoten. Hier wurde insbesondere den Chaoten
die Moeglichkeit gegeben, mit ihren Daemonen ein Chaosteam zu bilden.

Dazu kommt, dass Chaoten aus hinteren Kampfreihen jetzt mehr Schaden mit dem
Chaosball machen. 

Dieser Zusatzschaden erfordert nun mehr Praesenz von Teammitgliedern in den
vorderen Reihen. Diese Aenderung war noetig, da mit diesem Zusatzschaden der
Teamkampf gestaerkt werden sollte, und das bei reinen Chaosteams nicht der
Fall ist.

Fuer den vollen Schaden braucht man also nun einen weiteren echten Spieler im
Team.

So. Soweit zur Aenderung, die Ennox auch schnell vollzogen hat, wofuer ich
danke.

Nun zu etwas anderem:

Wenn Euch etwas stoert, etwas missfaellt oder ihr glaubt, die anderen sind zu
stark - dann reisst bitte die Schnauze auf. Und zwar nicht um drei Ecken in
der Hoffnung, dass das mal zu mir vordringt. Auch nicht beim GM Zauberer,
wenns um die Kaempfer geht. Sondern entweder direkt beim GM, der zustaendig
ist, oder bei mir. So etwas wie diese Aenderung muss man immer erstmal
evaluieren, das war auch zu Zeiten vor mir nicht anders. Und wenn ich kein
ordentliches Feedback kriege, sondern immer nur hintenrum komische Sprueche,
denen ich nachgehen muss, macht das das richtige Bewerten der Gildn nicht
leichter.

Humni

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



Re: Kampfreihen (Mesirii,  2. Jun 2008, 22:35:05):
~#! rn=Humni rt=1212438522 rg=gilden.chaos
~#! tid=1212438522
Naja schwarze Drachen sind noch viel boeser als Chaoten, was soll man da tun.
Konkret heisst es, es muessen soviele Wesen vor Euch stehen, wie Kampfreihen
vor Euch sind.
Das gilt fuer die Reihen 2 und 3.
Mesi

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



Kampfdaemonen (Humni, 11. Aug 2008, 21:55:48):
So.

Nachdem nun wochenlang Leute damit Zesstra (der damit UBERHAUPT der voellig
falsche Ansprechpartner ist - merkt mal was, fuer Gilden bin ICH zustaendig,
nicht Zesstra, und nur weil der da ist, hat der genug zu tun und ist NICHT
Eure Ausjammerstelle! Ihr blockiert eine unglaublich wichtige Stelle, wo
gerade verdammt viel Arbeit passiert!) vollgeheult haben, wie unfair, boese
und gemein die Chaoten doch sind, da die PKs machen koennen:

Die Chaosdaemonen sollten nun keine Spieler mehr angreifen.

Das ist KEIN neues Feature. Das Feature hat die Gilde seit bestimmt
geschaetzten 10 Jahren.

Nur konnten frueher die Leute verantwortungsvoll damit umgehen. Offenbar sind
einige dazu heute nicht mehr in der Lage.

Keine Diskussionen mehr. Bugreports an mich, wenn ich was uebersehen haben
sollte.

Humni

PS: Das ist eine Chaosaufwertung. So, nun jammert.

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



Re: Kampfdaemonen (Vector, 11. Aug 2008, 22:02:26):
~#! rn=Humni rt=1218484548 rg=gilden.chaos
~#! tid=1218484548
wenn ich mich recht erinnere habe ich dir bzgl chaos am 3. juni
eine recht lange mail geschrieben.

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



Auspeitschen von Daemonen. (Zesstra, 12. Aug 2008, 19:33:28):
Es hat leider etwas laenger gedauert, weil Ennox nicht da ist und ich bisher
noch zuviele andere Dinge fixen musste, aber das Auspeitschen von Daemonen
sollte wieder gehen... ABER: Nur bei _neuen_, ab jetzt beschworenen Daemonen!
Bei alten Daemonen wird es weiterhin buggen und ich bitte euch, uns den Scroll
zu ersparen. ;-)

Zesstra

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



Re: Auspeitschen von Daemonen. (Zook, 12. Aug 2008, 19:39:35):
~#! rn=Zesstra rt=1218562408 rg=gilden.chaos
~#! tid=1218562408
Ansonsten.... 

Na, wo war noch meine Peitsche..?

Z

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



Vertretung (Zesstra, 29. Aug 2008, 20:37:54):
Huhu,

in Ennox Abwesenheit wendet euch bitte bzgl. chaosgildenspezifischer Dinge an
Humni, bei technischen Problemen steh auch ich grundsaetzlich zur Verfuegung,
wobei ich euch je nach Problem und meiner sonstigen Auslastung moeglicherweise
vertroesten werde.

Zesstra

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



Schutz und Schutz stark (Humni,  4. Sep 2008, 16:05:27):
Huhu,

spaetestens mit Eurer naechsten Chaosruestung wird Euer Elementarschutz
gegenueber Mischangriffen ein wenig schwaecher.

Sprich: Ein reinkommender reiner Feuerball sollte keinen Unterschied machen,
ein Angriff auf Euch mit einem Feuerschwert hingegen schon, wenn ihr eine
Feuerchaoshaut habt.

Bevor es hier zu Missverstaendnissen kommt: Der in manchen Spielerkreisen noch
verbreitete Mythos, dass der Schutz "besser" geworden sei, stimmt - aber nicht
"neulich", sondern 2001. Meine These: Seitdem haben viele, die sonst Zauberer
und Trves gespielt haben, das gar nicht mitbekommen, da es meines Erachtens
nach nicht gross breitgetreten wurde - und haben das nun fuer eine neue
Aenderung gehalten.

Fakt ist: Das Ganze ist so zu stark gewesen - und wurde nun runterskaliert.

Bevor jemand meint, ich traue mich das nur, weil Ennox nicht da ist: Das ist
schon laenger mit ihm abgesprochen. Trotzdem gehen Beschwerden natuerlich an
mich - ebenso wie Bugmeldungen, wenn Ihr meint, dass da was schieflaeuft.

Danke!

Ein boeser, Chaoten abwertender Drache.

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



Re^7: Idee Kaempferfaehigkeit (Esme,  6. Sep 2008, 00:08:56):
~#! rn=Gloinson rt=1220652333 rg=gilden.klerus
~#! tid=1220646566
So, damit dann nur noch eine Gilde fehlt: Wie waers, wenn Chaoten auch die
Spieler-teammitglieder peitschen koennten? ;)

Esme

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



Re^8: Idee Kaempferfaehigkeit (Gloinson,  6. Sep 2008, 00:10:16):
~#! rn=Esme rt=1220652536 rg=gilden.chaos
~#! tid=1220646566
Und die Nichtgilden Karate, Tatschmichan und Abenbilliger auch?


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



Re^9: Idee Kaempferfaehigkeit (Esme,  6. Sep 2008, 00:10:58):
~#! rn=Gloinson rt=1220652616 rg=gilden.chaos
~#! tid=1220646566
:ist halt chaoszentristisch.

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



Re: Kampfdaemonen (Key, 24. Sep 2008, 18:23:30):
~#! rn=Humni rt=1218484548 rg=gilden.chaos
~#! tid=1218484548
Wie verantwortungsvoller Umgang? ;)
Das muesste vor meiner Zeit gewesen sein, aber da gabs die Chaosgilde noch
nicht ;)

Cu

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



Dunkle Vorboten (Ennox, 18. Aug 2009, 08:56:26):
Die ersten dunklen Vorboten der naechsten Gildenaenderung werfen ihre Schatten
voraus. Als kleinen Vorgeschmack koennt ihr Achtarch jetzt mal nach seinem
Angebot befragen.

Ennox, boese grinsend

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



Gildenquests (Ennox, 21. Aug 2009, 03:52:25):
Ich habe mal, wie schon laenger geplant, einige der Gildenquests in den 
Aufstieg eingebaut, mal schauen ob noch alles funktioniert.
Felerian darf dass dann wohl als erster testen, herzlichen Glueckwunsch :)
Ennox, gefuehllos

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



Re: Gildenquests (Ennox, 21. Aug 2009, 12:41:01):
~#! rn=Ennox rt=1250819545 rg=gilden.chaos
~#! tid=1250819545
Hutschat sagt einem auch an, fuer welchen Level die GildenQuests Bedingung
sind/waren. Es ist geplant in Zukunft noch deutlich mehr von den GQ abhaengig
zu machen, und ein bis zwei fuer die ersten beiden Level. Die dann aber ohne
Metzeln sondern mit Auskennen in der Gilde.
Mesi

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



Re: Gildenquests (Felerian, 21. Aug 2009, 12:49:28):
~#! rn=Ennox rt=1250819545 rg=gilden.chaos
~#! tid=1250819545
Ieeeks! Muss ich dafuer vohrchen?

Fel, mit einem "Gildenquests durch EKs ersetzen!"-Faehnchen winkend

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



Wo ist meine ewige Kompo? (Ennox, 27. Aug 2009, 02:10:32):
werden bald einige von Euch schreien. Nachdem ich dem schwarzen Drachen ein
paar nutzlose Daemonen zum Frass vorgeworfen habe, hat sich gezeigt, dass die
gar nicht schmecken.
Denen fehlt einfach die Wuerze. Die ein bis drei Zutaten zum Pentagramm machen
nunmal keinen schmackhaften Daemonen. Damit die Daemonenopfer in Zukunft
besser beim Drachen ankommen, und sich die Daemonen schonmal dran gewoehnen,
habe ich beschlossen, dass ihr sie jetzt mit mehr Zutaten zubereiten muesst.
Ihr solltet soviele Zutaten nutzen, wie es der Staerke des Daemonen angemessen
ist. Jede Zutat darf genau einmal pro Pentagramm verwendet werden, die
bisherige Einschraenkungen bei der Bestueckung fallen weg. Zusaetzliche Zauber
und so zaehlen auch als Zutaten. Bei der Verteilung der Zutaten auf Pentagramm
und Bannkreis habt ihre freie Hand, das sollte sich auch in der Wuerze des
Daemons bemerkbar machen.
Da ihr mit den alten vergammelten Komponenten keinen Blumentopf mehr gewinnen
koennt, hat sich Achtarch bereit erklaert, gegen einen kleinen Obolus bei der
Komponentenwaesche zu helfen. Verkaufen und Zurueckkaufen im Laden macht die
Kompos so gut wie neu.

Frohes Kochen & Fluchen

Ennox, Chaotenkoch

P.S. Da das eine ziemlich umfangreiche Aenderung war, kann es sein, dass es an
der ein oder anderen Ecke in den naechsten Tagen noch haengt. Sagt Bescheid
oder schickt eine Mail. Die aktuellen Rezepte sind in keinster Weise fest, der
Humnidrache und ich behalten uns vor die jederzeit anzupassen.

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



Re: Wo ist meine ewige Kompo? (Humni, 28. Aug 2009, 06:55:01):
~#! rn=Ennox rt=1251331832 rg=gilden.chaos
~#! tid=1251331832
Nur mal so aus gegebenem Anlass, ohne Wertung, was sonst noch war:

Seid fair zueinander. Wenn jemand seine Kompos waescht, sollte man die bitte
nicht in dem Moment zurueckkaufen.

Frueher waren Chaoten - ja, genau, Chaoten - was sowas wie einen Ehrenkodex
angeht das Beste, was das Mud zu bieten hatte. Ich hoffe, dass sich gewisse
Vorkomnisse als Missverstaendnis herausstellen und nicht wiederholen. Das
Ganze ist ja nur temporaer wichtig - aus diesem Grunde sehe ich eigentlich
keine Notwendigkeit hier eine dauerhaft andere Loesung zu implementieren.

Humni
PS: Im Zweiten Absatz meine ich "Jemand anders".

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



Re: Re: Wo ist meine ewige Kompo? (Humni, 30. Aug 2009, 13:50:02):
~#! rn=Humni rt=1251435301 rg=gilden.chaos
~#! tid=1251331832
Da ich nun auch noch dafuer angeschwaerzt werde, rate ich einigen Leuten hier:

Lernt lesen. Und lest bitte, was da steht. Ich wollte nichts werten, ich habe
extra gesagt, ich hoffe, dass sich Dinge als Missverstaendnisse herausstellen.

So. Und wenn das immer noch nicht klar war, habt ihr ein Problem - ich nicht.

Humni, sauer.

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



Achtarch (Ennox,  3. Sep 2009, 02:04:19):
reagiert jetzt auch auf teile achtarch mit lieferung
Er krallt sich dann alle Chaos-Komponenten im Spieler und in Behaeltern im
Spieler und legt sie in seinen Laden

Ennox, Komponentensammler

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



Komponentenjunkie (Ennox, 14. Sep 2009, 03:04:18):
Achtarch laesst sich jetzt haeufiger helfen. Also nicht wundern wenn die
Chaoten heiss auf Kompos sind. 
Achso tm achtarch lieferung geht immer noch :)

Ennox

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



Re: Komponentenjunkie (Gloinson, 20. Sep 2009, 01:11:11):
~#! rn=Ennox rt=1252890258 rg=gilden.chaos
~#! tid=1252890258
Ark hatte es schon auf -chaos gesagt: Bitte nicht das Daemonenherz kaufen, das
funktioniert nicht.


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



Achtarch und hoehere Chaoten (Humni, 20. Okt 2010, 00:10:32):
Huhu,

einige von Euch haben folgendes Problem:

* Sie sind Chaoslevel >4
* Sie kriegen die Angebotserweiterungsquests fuer hoehere Level
* Sie loesen die Quest auf hoeherem Level
* Sie koennen immer noch nicht erhoehen, da die Quest fuer kleinere Level
nicht mehr erreichbar ist.

Diese Probleme sind temporaer, insofern, dass sie nur aeltere Spieler
betreffen, die nicht schon die Quests haben.

Wer dieses Problem hat, darf Achtarch mal nach
angebotserweiterungsaktualisierung fragen. Ja. Es gibt keine Abkuerzung. Ihr
seid Chaoten, ihr muesst da durch.

Humni

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



Re: Achtarch und hoehere Chaoten (Ark, 20. Okt 2010, 00:25:18):
~#! rn=Humni rt=1287526232 rg=gilden.chaos
~#! tid=1287526232
Spontan lag mir bei dem Wort ein Kommentar auf den Lippen, aber den verkneif
ich mir. Ihr seid Chaoten, ihr muesst auch da durch :-)


              *** ARK * the * Magnificent ***


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



Re: Re: Achtarch und hoehere Chaoten (Humni, 20. Okt 2010, 00:28:46):
~#! rn=Ark rt=1287527118 rg=gilden.chaos
~#! tid=1287526232
Ach ja: Bugs bitte an mich melden. In Ermangelung eines echten Chaoten konnte
ich das gerade nicht testen. Mangar war zu doof, ihm fehlen noch 2 Teile.
Schaemen sollte der sich.

Humni

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



Re^3: Achtarch und hoehere Chaoten (Humni, 20. Okt 2010, 23:34:09):
~#! rn=Humni rt=1287527326 rg=gilden.chaos
~#! tid=1287526232
So. Die ersten Bugs sind behoben. Falls das heute nicht funktioniert haben
sollte: Richtig. Hat es nicht. Tut es jetzt. Danke an Alak.

Humni

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



Re^4: Achtarch und hoehere Chaoten (Humni, 20. Okt 2010, 23:36:07):
~#! rn=Humni rt=1287610449 rg=gilden.chaos
~#! tid=1287526232
Ach ja, und: Der Kompoladen ist jetzt leer, da ich den mehrfach neuladen
musste. Bringt also mal Kompos dahin, dann kann man auch wieder welche kaufen.
Viel Spass dabei.

Humni

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



Re^5: Achtarch und hoehere Chaoten (Zook, 21. Okt 2010, 10:55:28):
~#! rn=Humni rt=1287610567 rg=gilden.chaos
~#! tid=1287526232
Ihr seid Chaoten, Ihr muesst da jetzt durch! ;) *g*

Zook.

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



Er ist wieder da (Humni, 28. Okt 2010, 20:15:59):
Es wird schlimmer.
Als es ist.

Es wird grauenhafter, als Ihr es Euch vorstellen koennt. 

Es wird schrecklicher, als alles, was ihr bisher erlebt habt.

Mupfel ist zurueck. Und er hat die Chaoten unter seiner Kontrolle.

Herzlichen Glueckwunsch, Mupfel! Moege das Chaos Deine Kraefte beizeiten
unterstuetzen.

Humni

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



Kompos (Mirimadel,  9. Sep 2011, 15:22:07):
Huhu Chaotis,

wuerde es gut finden, wenn man Chaoskomponenten aus der Ferne an Achtarch
verkaufen kann. So wie bei der guten lieben Llystrathe.

wuerde es gut finden, wenn man Chaoskomponenten aus der Ferne an Achtarch
verkaufen kann. So wie bei der guten lieben Llystrathe.
Huhu Chaotis,

wuerde es gut finden, wenn man Chaoskomponenten aus der Ferne an
Achtarch verkaufen kann.
So wie bei der lieben guten Llystrathe.

Knicks Miri

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



Re: Kompos (Mirimadel,  9. Sep 2011, 15:24:45):
~#! rn=Mirimadel rt=1315574527 rg=gilden.chaos
~#! tid=1315574527
ups zum bloed zum kopieren

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



Re: Kompos (Xutelius,  9. Sep 2011, 15:34:45):
~#! rn=Mirimadel rt=1315574527 rg=gilden.chaos
~#! tid=1315574527
Gibts schon lange. tm achtarch lieferung.

Xut*

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



Hutschat hat auch so seine Sorgen ... (Bugfix, 26. Jan 2012, 23:19:15):
Moin Chaoten

Ich idelte gemuetlich in der Post, da kam eine TM von Hutschat. Das Wohl der
Gilde stuende auf dem Spiel, er braeuchte sofort einen mutigen Chaoten, der
eine Expedition fuer ihn unternimmt. Eigentlich waere das ja so wichtig, dass
er es selbst erledigen muesste, aber wir wissen ja alle, wie aufgeschmissen
Kruuolq ohne seine Unterstuetzung waere. Ich versprach ihm also seine Bitte an
euch weiterzuleiten.

Informationen gibt es an der ueblichen Stelle.

Xut*

PS: Erstmal leider fuer Chaoten spielbar, der Rest wird noch nachgeruestet.

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



Re: Hutschat hat auch so seine Sorgen ... (Bugfix, 26. Jan 2012, 23:20:15):
~#! rn=Bugfix rt=1327616355 rg=gilden.chaos
~#! tid=1327616355
Danksagung

Ich bedanke mich bei allen Leuten, die hier mitgewirkt haben.
- Bei Ennox fuers Sponsorn.
- Bei Mupfel fuers Anschliessen.
- Bei Caldra und Zook fuers Abnehmen und Testen.
- Und vorallem bei allen Leuten, die mir mit ihrem Rat zur Seite standen, das
waren in erster Linie Zesstra und Chagall.

Xut*

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



Re: Hutschat hat auch so seine Sorgen ... (Elberet, 27. Jan 2012, 19:38:05):
~#! rn=Bugfix rt=1327616355 rg=gilden.chaos
~#! tid=1327616355
Was muss ich mir darunter vorstellen, dass leider fuer Chaoten spielbar ist?
*g*

Elbi

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



Re: Re: Hutschat hat auch so seine Sorgen ... (Bugfix, 27. Jan 2012, 23:01:28):
~#! rn=Elberet rt=1327689485 rg=gilden.chaos
~#! tid=1327616355
Oops, da fehlte ein "nur" ;-P

Xut*

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



Re^3: Hutschat hat auch so seine Sorgen ... (Kellybundy,  8. Feb 2012, 22:58:37):
~#! rn=Bugfix rt=1327701688 rg=gilden.chaos
~#! tid=1327616355
Jaja, das behaupten sie hinterher alle! *GG*

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



Bugs fixen! (Humni, 11. Feb 2012, 15:37:04):
Hallo ihr,

da immer wieder Kaefer auftreten, will jemand diese Bugs fixen. Damit hat er
sich auch direkt seinen Namen gesucht: Bugfix.


Und Bugfix hat sich dankenswerterweise entschlossen, dies auch in der
Chaosgilde zu tun.

Alle Chaoten verbeugen sich vor Bugfix, dem neuen Chaos-Gildenmagier. Preist
und lobt ihn, und gebt ihm die Tiernamen nur hinter seinem Ruecken, sonst wird
er sich fuerchterlich raechen.

Ich wuensche dem neuen Chaotenmeister viel Erfolg in seiner neuen Position!

Humni

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



Re: Bugs fixen! (Bugfix, 11. Feb 2012, 17:33:15):
~#! rn=Humni rt=1328971024 rg=gilden.chaos
~#! tid=1328971024
Moin,

Erstmal danke fuer die Befoerderung und das damit in mich gesetzte Vertrauen.

So, als erste Amtshandlung hab ich gleich mal wieder eingebaut, dass die
Daemonen ihren Beschwoerer angreifen.

Viel Spass bei Lars.

Xut*

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



Re: Re: Bugs fixen! (Saray, 14. Feb 2012, 01:55:18):
~#! rn=Bugfix rt=1328977995 rg=gilden.chaos
~#! tid=1328971024
Danke, den hatte ich ja schon :-D. Aber stimmt schon, zum Feeling gehoerts
definitiv dazu :-D.

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



Re: Hutschat hat auch so seine Sorgen ... (Bugfix, 15. Feb 2012, 19:57:04):
~#! rn=Bugfix rt=1327616355 rg=gilden.chaos
~#! tid=1327616355
Moin,

Es ist soweit, auch nicht-Gildenmitglieder koennen Hutschat jetzt helfen.

Danke an Ark fuer seine Muehe und die unzaehligen Hinweise.

Xut*

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



Re: Re: Bugs fixen! (Mesirii, 25. Feb 2012, 16:09:25):
~#! rn=Bugfix rt=1328977995 rg=gilden.chaos
~#! tid=1328971024
Auch von mir alles Gute Bugfix :) Was lange waehrt wird gut.

ChaoZ RuleZ

Mesi

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



Angebotserweiterung (Bugfix,  6. Mar 2012, 22:03:12):
Ich habe die Stufenvergabe bei der Angebotserweiterung gefixt. Das gilt nur 
fuer neu begonnene Quests, die bereits begonnenen bleiben wie sie sind. Wer 
meint, das waere zu schwer, der mag sich bei mir melden, dann aender ich das.
Ist mir nur zu viel Aufwand jetzt alles von Hand durchzugehen und zu 
schauen, wer unangemessene Auftraege haben koennte.

Sollten bei der Vergabe von neuen Quests Unregelmaessigkeiten auftreten gilt 
das gleiche, meldet euch bei mir.

Das gilt uebrigens auch allgemein. sollte irgendetwas nicht so 
funktionieren wie es soll, oder ihr habt den Eindruck, dass etwas voellig 
unangemessen schwer ist, dann gebt mir bescheid. Als Gildenmagier ist es 
naemlich meine Aufgabe mich um sowas zu kuemmern. Wenn ihr einfach 
beleidigt austretet und euch dann, Tage spaeter, auf irgendwelchen anderen 
Ebenen darueber beschwert, dass bei den Chaoten doch alles doof ist, dann 
besteht nicht nur die Gefahr, dass ich das nicht mitkriege und auch andere 
Leute darunter leiden muessen, es nervt mich auch extrem an.

Das musste aus aktuellem Anlass grade mal erwaehnt werden.

BF

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



Aenderungen im Raum-Zeit-Gefuege (Bugfix, 20. Nov 2012, 12:29:26):
Moin Chaoten

In letzter Zeit gab es einige Verschiebungen im Raum-Zeit-Gefuege. Daher 
fand Kruuolq es angemessen, die Anforderungen fuer die Gildenlevel zu 
verschieben. Insbesondere fuer GL1-GL8 werdet ihr jetzt wohl erheblich 
hoehere Anforderungen erfuellen muessen.

Ausserdem ist es nicht mehr jedem Chaoten moeglich, einen beliebigen 
Chaosschaden zu waehlen. Mit steigender Macht sollte sich das jedoch 
normalisieren.

Als Ausgleich ist es Wuqour gelungen, die Chaosruestung etwas zu 
modifizieren. Es hat sich herausgestellt, dass sie noch einen weiteren 
Angriffszauber beherrscht. Der ist nicht sehr maechtig, aber fuer den 
Anfang sollte er ausreichen. Kruuolq lehrt diesen Spruch jedem Chaoten, der 
in der Lage ist, eine Chaosruestung zu beschwoeren.

BF

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



Re: Aenderungen im Raum-Zeit-Gefuege (Saray, 21. Nov 2012, 23:50:04):
~#! rn=Bugfix rt=1353410966 rg=gilden.chaos
~#! tid=1353410966
Ist es so vorgesehen, dass nach einer erfolgreichen Wolke der Schaden durch
die Waffe und nicht durch die Wolke angegeben wird?
Aehm, war das verstaendlich?
Also, ich meine, wenn ich erfolgreich ne Wolke schiesse, kommt danach, dass
ich zb mit dem Vampirschwert hart getroffen habe.

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



Re: Re: Aenderungen im Raum-Zeit-Gefuege (Bugfix, 22. Nov 2012, 13:47:02):
~#! rn=Saray rt=1353538204 rg=gilden.chaos
~#! tid=1353410966
Das liegt an TF, da hat das MG nix mit zu tun :-D (Ich bastel die Tage mal n
Update...)

BF

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



Re^3: Aenderungen im Raum-Zeit-Gefuege (Saray, 23. Nov 2012, 12:15:18):
~#! rn=Bugfix rt=1353588422 rg=gilden.chaos
~#! tid=1353410966
Oh ja, Updates f|r Tf klingt gut. Weite das doch gleich mal n bisschen aus
:-D.
Aber ja, dachte mir schon, dass das mit dem Client zusammenhaengt, als ich so
drueber nachdachte.

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



Spendensammlung (Bugfix, 21. Okt 2015, 20:49:31):
Hutschat hat gemerkt, dass er und Achtarch einen Kommunikationsfehler
hatten. Wie diese Buerokraten halt sind, hat er nicht gezoegert und die
fehlerhaften Eintraege in den Karteien gewisser Chaoten berichtigt, weshalb
es sein koennte, dass manche von euch die Spendensammlung nachholen muessen.

Bugfix

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



Chaos Chaos Chaos! (Bugfix,  1. Apr 2016, 11:58:34):
Moin,

Er hatte wohl noch nicht genug zu tun oder vielleicht waren seine bisherigen
Posten ihm auch einfach zu Langweilig. Warum 

auch immer, ab heute wird Notstrom sich der einzig wahren Aufgabe witmen, der
Verbreitung des Chaos.

Freut euch auf ueberarrbeitete Gildenquests, neue Komponenten und ganz viel
Chaos.

Viel Spass, Notstrom, mit deiner neuen Aufgabe.

ChaoZ RuleZ!

Bugfix

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



Re: Chaos Chaos Chaos! (Maharet,  9. Apr 2016, 10:47:53):
~#! rn=Bugfix rt=1459504714 rg=gilden.chaos
~#! tid=1459504714
q
w

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



Re: Re: Chaos Chaos Chaos! (Maharet,  9. Apr 2016, 10:48:23):
~#! rn=Maharet rt=1460191673 rg=gilden.chaos
~#! tid=1459504714
hah, das mit der MPA muss ich also auch erst wieder ueben ...
..

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



Ein gewisses untotes Pelztier ... (Bugfix,  5. Mar 2017, 11:44:10):
... hat nicht nur einen Chaosmagier beinahe in Wahnsinn und Suff getrieben,
sondern jetzt komplett neue Eingeweide. Das meiste sollte aber noch so
funktionieren wie bisher, wenn nicht meldet euch bitte.

Bugfix

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



Umfrage zu Ausruestung beim Erzmeisterkampf (Bugfix, 16. Mai 2017, 16:21:57):
Moin,

Frueher(tm) war es mal irgendwann so, dass bei Erzmeisterkaempfen alles
eingesetzt werden durfte, was es so im MG zu holen gab. Irgendwann beschloss
dann Zardoz (nur um hier gewissen Geruechten die ich da gehoert habe den
Boden zu entziehen, es war wirklich Zardoz, also nichts vonwegen "eine der
Aenderungen der letzten 10 Jahre"), dass Chaoten nur mit normalen Waffen und
Ruestungen antreten duerfen, "unfaire" Objekte wie Wurfsterne etc. sollten
draussen bleiben.

Leider ist der Code an der Stelle ... sagen wir mal, unvollstaendig, was dazu
fuehrt, dass die Wurfsterne zwar nicht genutzt werden koennen, andere Dinge
wie die Steine aus dem Minotaurenlabyrinth (wer sie nicht kennt: neumodischer
Schnickschnack) aber schon.

Bevor ich da jetzt viel Zeit rein stecke das zu ueberarbeiten haette ich aber
mal gerne ein Meinungsbild, wie die Chaoten ihren Erzmeisterkampf gerne
haetten.

Moegliche Optionen, die teilweise in der Vergangenheit vorgeschlagen wurden,
sind:
- Man betritt die Arena nur mit der Chaoshaut, ohne Tanken, ohne Ruestungen,
ohne Waffen und ohne alles. (Wenn das gewuenscht ist, muesste ich allerdings
erstmal schauen, ob und wie das realisierbar ist, Objekte die man nicht
weglegen kann, koennten hier ein Problem sein.)
- Man Betritt die Arena nur ohne Artillerie.
- Es gibt keine Einschraenkungen, die Chaoten machen vorher miteinander aus,
was erlaubt ist und was nicht.
- Oder irgendeine Abstufung dazwischen.

Ich habe natuerlich selbst auch eine Meinung, werde mir aber Muehe geben die
nicht staerker einfliessen zu lassen als Eure.

Wenn ihr eure Meinung dazu sagen wollt, dann antwortet doch einfach auf
diesen Artikel oder schreibt mir eine Mail.

Bugfix

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



Re: Umfrage zu Ausruestung beim Erzmeisterkampf (Joshua, 16. Mai 2017, 18:41:54):
~#! rn=Bugfix rt=1494944517 rg=gilden.chaos
~#! tid=1494944517
Moin, moin :)

Und zunaechst mal Danke fuer Deine Muehen! Von der Sache her fand ich die
nackigen Kaempfe (die wir in Absprache frueher paar Mal hatten) eigentlich am
coolsten. Alles andere wird ein zu grosser Wettlauf, bei dem man dann das
ganze MG kennen und wochenlang Heiltraenke farmen muss ;) Und das jeder
irgendwie ne Chance hat, find ich nen geiles Chaos-Konzept. Diese "hoechste
Stufe gewinnt" Wettbewerbe von anderen Gilden sind mir ein absolutes Graeul,
der Kampf mit "allem ist erlaubt" ist fast das gleiche irgendwie. Ob sich das
technisch sinnig machen laesst, weiss ich natuerlich nicht. Die Zaubies haben
sowas bei der Magisterpruefung (habe ich auch prompt Kram bei verloren,
Stichwort Wandlerhandschuhe), vielleicht gibt's da code-technisch was
abzugucken?

Gruessli,
Joshua


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



Re: Re: Umfrage zu Ausruestung beim Erzmeisterkampf (Croft, 16. Mai 2017, 20:49:11):
~#! rn=Joshua rt=1494952914 rg=gilden.chaos
~#! tid=1494944517
Meine nicht-zaehlenden 2-Uncent: ich wuerde dazu neigen keine
technische Loesung einzufuehren und das den Anwaertern komplett als
soziales Problem aufhalsen. Sprich Absprachen wie schon bei den
bisherigen Kaempfen.  Der Rest sollte sich durch andere Mechanismen
selbst regulieren koennen.  Und wenn nicht: kann man immer noch
drueber nachdenken.

Croft

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



Re: Umfrage zu Ausruestung beim Erzmeisterkampf (Zarku, 24. Mai 2017, 00:27:31):
~#! rn=Bugfix rt=1494944517 rg=gilden.chaos
~#! tid=1494944517
Ich faende es gut, wenn auch weiterhin Kaempfe mit Ausruestung und Heilung
moeglich waeren. Damit wird ja nicht ausgeschlossen, dass sich Chaoten zu
Kaempfen ohne Ausruestung verabreden koennen. Ich finde Kaempfe ohne
Ausruestung in erster Linie langweilig, da fehlene Ausruestung die taktischen
Optionen doch sehr einschraenkt. Des Weiteren sind solche Kaempfe auch nicht
balanciert, da sich die Anfaelligkeitsprofile der einzelen Rassen stark
unterscheiden.

Ich habe noch einen weiteren Vorschlag, den ich mal grob vorstellen moechte:

Vor dem eigentlichen Beginn des Erzmeisterkampfes werden die teilnehmenden
Chaoten zuerst, ohne Ausruestung und jeder fuer sich, in einen Laden
teleportiert. In diesem Laden koennen fuer ein festes Punktekontingent Waffen,
Ruestungesteile, Chaoskomponenten, Daemonenausruestung und Heiltraenkge
gekauft werden. Das Punktekontingent und die Preise der Ausruestung sollten
dabei so gewaehlt werden, dass man sich zwar vernuenftig ausruesten kann, aber
auch abwaegen muss, ob man seinen Fokus mehr auf Ruestung, Waffen, Daemon oder
Heilung legt. Nachdem jeder Chaot fertig eingekauft und ggf. einen Daemon
beschworen hat beginnt der Erzmeisterkampf in der Arena dann in der gewohnten
Form.

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



Arbeiten am Spellbook (Bugfix,  7. Jan 2018, 21:29:20):
Moin,

Ich habe soeben eine ... oehm, kleine Aenderung am Spellbook gemacht, weitere
werden folgen.

Sollte etwas nicht mehr funktionieren, sich anders verhalten als frueher oder
aehnliches bitte melden.

Bugfix

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



Re: Arbeiten am Spellbook (Bugfix,  8. Jan 2018, 08:53:30):
~#! rn=Bugfix rt=1515356960 rg=gilden.chaos
~#! tid=1515356960
Moin,

Eine Kleinigkeit ging gestern kaputt, danke an Hedskorcha fuers Melden.

Wer es nicht gemerkt hat um so besser, wer es gemerkt und nicht gemeldet hat
soll sich was schaemen.

Bugfix

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



Peitsche (Bugfix,  5. Mar 2018, 11:59:54):
Tutszt bruellt: BLUUUT BLUUUT BLUUUT!

Wuqour grinst daemonisch.

Wuqour sagt: Sieht aus, als haette das jetzt endlich geklappt.

Du nickst zustimmend.

Tutszt bruellt: BLUUUUUT!

Igor kommt herein und raeumt einige Peitschen und andere Instrumente, ueber
die selbst Chaoten lieber gar nichts wissen wollen, zurueck an ihren Platz.

Tutszt bruellt: MEHR BLUU...

Wuqour wirft Tutszt einen genervten Blick zu, welcher vorsichtshalber
beschliesst, dass er auch woanders feiern kann.

Tutszt bildet einen grossen Blutfleck.

Wuqour sagt: Ich haette nicht gedacht, dass der so viel Spass daran haben
Wuqour sagt: wuerde, so lange musste ich schon lange keinen Daemon mehr
Wuqour sagt: foltern.

Du grinst.

Du sagst: Ja, schon, aber immerhin, er hat auch was davon. Und wenn die
Du sagst: Chaoten wirklich mehr Peitsche benutzen, dann ist seine Chance den
Du sagst: Beschwoerer zu erledigen, wenn dessen Kontrolle bricht, deutlich
Du sagst: groesser. Ich glaube, fuer nichts anderes leb... aeh, existieren
Du sagst: die Daemonen.

Wuqour sagt: Glaubst Du wirklich, diese Ignoranten kapieren den Nutzen?

Du gruebelst: Naja, ich will es hoffen, immerhin geht das jetzt mehr als
Du gruebelst: doppelt so haeufig.

Wuqour nickt.

Wuqour fragt: Lust auf nen Kaempferblut? Ich lad Dich ein.

Du lachst: Als wuerdest Du jemals bezahlen, aber trotzdem danke fuer das
Du lachst: Angebot. Ich fuerchte nur, einer von uns beiden muss jetzt wohl 
Du lachst: diese Aenderung an Humni vorbeischmuggeln.

Wuqour aechzt: Das hatte ich ja komplett vergessen... Hast Du schon einen
Wuqour aechzt: Plan?

Du grinst daemonisch.

Du sagst: Klar, aber der bleibt geheim, nicht, dass die anderen Gildenmagier
Du sagst: den mitkriegen.

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



Morgen ist ein toller Tag! (Vanir, 12. Jan 2023, 21:50:57):
Seid erinnert: Morgen ist unser Glueckstag.
Krozx kaspatar!
V.

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



Es ist so weit! (Vanir,  5. Mar 2024, 15:36:50):
Morgen ist es dann soweit, am 66. Tag des Tages, nach Ablauf der 6. Stunde,
66. Minute und 66. Sekunde wird es passieren, dass ich mich dem Chaos hingebe.
Ich freue mich auf rege Teilnahme.

Zur Feierlichkeit des Jubilaeums lade ich zum Tageswechsel spaetestens aber in
der letzten Stunde des Tages ein . 

V.

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



