Neue Rubrik (Paracelsus, 19. Feb 2000, 20:06:47):
Hi.

Ich habe mal die Rubrik "gilden.tanjian" ins Leben gerufen.

Sinn des ganzen ist zum einen, die Kommunikation unter den Testies
etwas zu verbessern, zum anderen werde ich hier in naechster Zeit
wohl einige Aenderungen bekanntgeben (Ich komme endlich mal dazu,
Nachtwinds Gilden-Balance-Mail durchzuarbeiten, die ist ja nur von
Mitte Oktober letzten Jahres! *SEUFZ*) und einige Ideen zur Diskussion
stellen.

Und da das eine Gilden-Rubrik ist, darf natuerlich auch gejammert
werden ;)

Lese- und Schreibberechtigt sind derzeit btw. nur alle Gildentesties
und natuerlich alle EM+ (sofern die bei eurem Gejammer die Rubrik
nicht gleich wieder abbestellen ;)

Gruss,
  Paracelsus.

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



[Disk#001] Sehergilde? (Paracelsus, 19. Feb 2000, 20:14:21):
Hi.

Gleich ein erstes Diskussionsthema:

ich liess mir sagen, dass man gerade als Spieler mit Stats unter 20 wohl
nicht so gut vorran kommt beim Ueben.
Daher moechte ich hier einfach mal zur Diskussion stellen, die Tanjian-
Gilde zu einer reinen Seher-Gilde oder einer Gilde fuer hochlevelige
Spieler zu machen.

Paracelsus.

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



[Disk#002] tegatana <-> omamori (Paracelsus, 19. Feb 2000, 20:19:35):
Diskussionsthema #2 ;)

Nachtwind meinte in seiner Mail, dass die Verteidigung (in Form von
omamori) doch recht spaet komme. Eine moegliche Aenderung waere, einfach
die Positionen von tegatana (Angriffskonzentration, Level 5) und omamori
(Verteidigungskonzentration, Level 7) einfach zu wechseln, also tegatana
mit 7 und omamori mit 5.

Eure Meinungen?

Paracelsus.

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



Re: [Disk#001] Sehergilde? (Telenos, 20. Feb 2000, 17:59:30):
~#! rn=Paracelsus rt=950987661 rg=gilden.tanjian
~#! tid=950987661
Sicher ist es nicht noetig, max stats zu haben.
Nichtsdestotrotz ist es fuer unter 10. Spielerlevel evt. mehr als
frustrierend, in die Gilde einzutreten.
Wenn man nicht ideal uebt dauert es ewig bis irgendwas steigt, kaminari ist
zwar billig aber man braet sich bis befriedigend mehr selber einen rein als
dem Gegner.
Auf meinem jetzigen Stand (SL 19, GL 3, Stats alle auf 14 mittlerweile)
schaffe ich es, gut ausgeruestet mit Flammen/Vampirpanzer, Ken, Feuerschild,
Beinschienen und aehnlichem Geraffel) gerade mit Mueh und not mit einer
Vorsicht von 40 den Zwergriesen umzuhauen, was eigentlich in erster Linie
durch die Blitzerei des Schwertes passiert. Ich selber bin von 170/170 meist
auf 70/50 unten trotz kokoro und das is dann doch recht frustrierend.
Ich weiss nicht wie es 'weiter oben' aussieht, aber so langsam wie der
Schwertskill steigt (is ja auch nicht als Hauptskill gedacht nehme ich an) ist
Metzeln bisher nicht so die Option.
Und nur Questen ist ja wohl auch nicht das wahre, wer will schon erst mal auf
SL 20 durchquesten nur um dann mal etwas ordentlicher mit seinem Tanjian
spielen zu koennen? Das wird ja dann doch eher eine Zweitie- respektive
Seher-Umschulungs-Gilde, so nett sie auch ist.
Sie liegt fuer nicht vorbelastete Spieler (read: Nicht-Seher und
Nicht-Zweities im niedrigerem Levelbereich ohne sehr gute Ortskenntnis.....die
Bachspringerei und so is etwas heftig...) zu weit ab vom Schuss. 

Stimmungstechnisch finde ich die Gilde Klasse, Konzept gefaellt mir sehr gut,
auch das bisherige Aufsteigen ist sehr nett gemacht, so ist es nicht, und ich
werde mir spaeter wohl auch 'einen halten' aber man muss eben auch daran
denken, dass es Leute gibt die a) keine Standleitung haben und, auch wenn der
Spieler es verkeht macht, 2 Tage lang NUR identifizieren (es hat funktioniert,
deshalb hab ich nicht gedacht, dass ich falsch oder uneffektiv uebe)
und b) erst mit auf Metzeltour gehen wollen wenn sie den vierten oder fuenften
Gildenlevel erreicht haben, was, rein spielzeittechnisch unter nicht
idealbedingungen dann doch etwas dauert.....


Telenos, der erst mal etwas ungeordnet drauf los schreibt.

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



Re: [Disk#002] tegatana <-> omamori (Telenos, 20. Feb 2000, 18:14:18):
~#! rn=Paracelsus rt=950987975 rg=gilden.tanjian
~#! tid=950987975
vom bisherigen Stand wuerde ich es fuer besser halten wenn das so bliebe wie
es ist, allerdings bin ich halt erst GL 3 und weiss von daher net was auf 4
kommt. Nur wieder die alte Litanei dass Tanjian in unteren Leveln offensiv
etwas aufgewertet gehoeren...

Telenos der ja schon fleissig uebt, ruhe :)

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



Re: [Disk#001] Sehergilde? (Thanos, 20. Feb 2000, 18:30:11):
~#! rn=Paracelsus rt=950987661 rg=gilden.tanjian
~#! tid=950987661
ok, ich fang mal an :)
also das faende ich nicht so dolle, es ist zwar von vorteil wenn man alle
stats auf max hat, aber meines erachtens nicht notwendig.
es ist leider eh schon bei den meisten gilden so das man den seherstatus als
(fast sichere) vorraussetzung braucht, daher faende ich es schade  wenn du das
so festlegen wrdest. Hohe stats sind zwar von vorteil, aber nicht unbedingt
notwendig, gerade durch das etwas schwerere ueben bekommt man meiner meinung
nach ne besseres gefuehl fuer die gilde also wuerde ich das mal nicht als
vorraussetzung anstreben.
ich les erst mal weiter und senf bestimmt noch, kennst mich ja 

P.S HEFFEN ABWERTEN ;)

Thanos

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



Re: [Disk#002] tegatana <-> omamori (Thanos, 20. Feb 2000, 18:31:59):
~#! rn=Paracelsus rt=950987975 rg=gilden.tanjian
~#! tid=950987975
dafuer
gerade im zusammenhang mit dem vorrangegangen artikel von mir, passt wie die
faust aufs auge ;)
Kleine spieler kennen sich im mud nicht so aus, oder kommen eben nicht so
schnell an die entsprechenden sachen dran, daher faende ich dies ne sinnvolle
verbesserung :) 

Thanos

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



[Aend#001] kokoro (Paracelsus, 20. Feb 2000, 18:32:29):
Neben einigen internen Aenderungen ist kokoro jetzt nicht mehr ganz
so "launisch" wie frueher (will sagen: die Staerke haengt nicht mehr
ganz so extrem davon ab, wie ihr dabei "wuerfelt").

Ausserdem hab ich die Nachtsichtwirkung an das neue Lichtsystem
angepasst.

Paracelsus

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



[Aend#002] kaminari (Paracelsus, 20. Feb 2000, 18:32:41):
Tja, leider war Nachtwind der Meinung, 5 KP seien fuer diesen Spell
etwas zu wenig, daher betragen die Kosten ab jetzt 8 KP.

Paracelsus

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



[Aend#003] koryoku (Paracelsus, 20. Feb 2000, 18:32:42):
Auch hier waren Nachtwind die KPs zu wenig, daher kostet der Spruch
ab sofort 10 KP.
Dafuer gibts bei einigen Sachen aber auch etwas mehr Infos.

Hat einer von euch (insbesondere die hochleveligen) noch einen
Vorschlag, was man sonst noch an Infos einbauen koennte?

Paracelsus

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



[Aend#004] arashi (Paracelsus, 20. Feb 2000, 18:32:43):
Die Wirkung der bei besonders gut gelungenem und wirksamem Spruch
auftretenden Desorientierung des Gegners war nachtwind zu stark,
daher wurde die Wirkungsdauer verkuerzt.

Paracelsus.

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



[Disk#003] Abbruch (Paracelsus, 20. Feb 2000, 18:32:44):
Hi.

Ein Punkt, den Nachtwind in seiner B-Mail anspricht, ist, dass man
einige Sprueche (tegatana, omamori und hayai) nicht vorzeitig
abbrechen kann. Was ihm recht seltsam erscheint.

Da muss ich ihm auch zustimmen. Doch wenn man diese Sprueche einfach
so abbrechen koennte, waere das Ueben natuerlich viel zu seinfach.
Meine Idee hierzu sieht folgendermassen aus:

Ein neuer "Spruch", der zusammen mit dem ersten der drei oben
genannten Sprueche zusammen gelernt wird. Allerdings handelt es sich
hierbei um einen Spruch, der immer gelingt (und daher auch nicht
durch Ueben verbessert werden kann).
Die Anwendung des Spruches wuerde 10KP kosten wenn man kaempft, 5KP
wenn man nicht kaempft.
Ausserdem kann eine Konzentration erst nach einer gewissen Mindest-
laufzeit abgebrochen werden. Diese Mindestlaufzeit wird natuerlich
mit steigendem Gildenlevel kuerzer.
Die Vorbereitungszeit fuer den Abbruch liegt anfangs bei 2 Sekunden,
sinkt aber mit dem Erlernen des letzten der obigen drei Sprueche
auf 0.

Eure Meinungen hierzu?

Ach ja: Ein Abbrechen von kokoro wird nicht moeglich sein, bei
akshara weiss ich noch nicht.

Paracelsus

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



[Aend#005] kshira/kasai (Paracelsus, 20. Feb 2000, 18:32:45):
Der Offset des Schadens, den man mit kshira anrichten kann wird
jetzt durch die Gegnerzahl geteilt (und bei mehrerern Gegnern somit
kleiner).
Ausserdem ist die Paralyse, die bei sehr gelungenen Spruechen auf
einzelne Gegner auftreten kann, in ihrer Wirkung reduziert worden.

Bei kasai wurde ebenfalls der Schadens-Offset geaendert.

Paracelsus

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



[Aend#006] entsorge (Paracelsus, 20. Feb 2000, 18:34:21):
'entsorge' versteht jetzt alles, was das Kommando 'nimm' auch versteht:

entsorge <bla>
entsorge <bla> in paket in mir
entsorge alles in raum
...

Paracelsus

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



Re: [Disk#003] Abbruch (Thanos, 20. Feb 2000, 18:39:59):
~#! rn=Paracelsus rt=951067964 rg=gilden.tanjian
~#! tid=951067964
jein
ich find es nicht so schlimm das man die sprueche nicht vorzeitig abbrechen
kann, gerade bei akshara spielt es eh keine grosse rolle da dieser eigentlich
nichts blockiert, bei tegatana und omamori kommt es natuerlich manchmal echt
zum Hadern, allerdings kann man damit meine ich leben, es waere natuerlich
toll wenn ich das jederzeit machen koennte, aber ich faend das etwas
uebertrieben, alleine vom gildenfeeling her faende ich diese Aenderung
nachteilig. Schliesslich muss ich mich ja darauf konzentrieren, also wenn
abbuch musst du ne speere einbauen die das sofortige umschalten von diesen
beiden spruechen unterbindet. Man muss sich eben vorher entscheiden was man
nimmt, zumindest bei omamori faellt da die entscheidung nicht so schwer :)
wenn mich ne monster mit kbk begruesst ist eh klar was angeht 
Ansonsten noch der vorschlag das erst ab nen gewissen level ueberhaupt
moeglich zu machen. Wenn du tegatana jetzt auf 7 legen willst, wuerde ich
zumindest GL 8 oder besser 9 vorschlagen, hohe Tanjian sind geuebter und
verstehen ihre sprueche auch besser, damit meine ich jetzt reines roleplaying
und damit die versaendnis der wirkungsweise des spruches

Thanos

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



[Test#001] Gildenquest Titanschwert (Paracelsus, 21. Feb 2000, 18:17:34):
Hi.

Ich hab die Gildenquest "Das Titanschwert" (hoffentlich) so umgebaut, dass
man da nicht mehr mit erschaffenen (Zauberer/Seherbeutel) Objekten
durchkommt.

Falls einer von euch Lust hat, die GQ nochmal zu testen - nur zu ;)

Paracelsus

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



Re: [Aend#002] kaminari (Paracelsus, 22. Feb 2000, 21:23:32):
~#! rn=Paracelsus rt=951067961 rg=gilden.tanjian
~#! tid=951067961
Nachtwind war damit einverstanden, dass ich die Kosten fuer kaminari
von 8 auf 10 KP erhoehe und dafuer den Schaden etwas erhoehe. Dann
ist die KP-Zahl wenigstens wieder etwas "runder" ;)

Paracelsus

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



[Aend#007] tegatana/omamori (Paracelsus, 22. Feb 2000, 21:24:58):
Die Kosten fuer tegatana und omamori sind auf 15KP gestiegen.
Dafuer wirken sie aber auch nicht mehr so lange.

Ausserdem gabs einige interne Umstellungen bei der Berechnung
von tegatana und den Waffenskills.

Paracelsus

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



[Aend#008] hayai (Paracelsus, 22. Feb 2000, 21:25:30):
Der Schnellspruch hayai kostet jetzt nur noch 35KP, wirkt dafuer aber
auch um einiges kuerzer.

Paracelsus

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



[Aend#009] akshara (Paracelsus, 22. Feb 2000, 21:25:54):
Hi.

Akshara wurde in seiner Wirkungsdauer reduziert, die Staerke wurde
dafuer aber etwas "stabilisiert", also weniger Schwankungen.
Und die Pause zwischen zwei akshara ist jetzt auch kuerzer.

Paracelsus

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



Re: [Aend#007] tegatana/omamori (Paracelsus, 22. Feb 2000, 21:54:29):
~#! rn=Paracelsus rt=951251098 rg=gilden.tanjian
~#! tid=951251098
Aeh, vielleicht sollte ich noch erwaehnen, dass wegen der internen
Umstellung fuer die, die tegatana haben, ein "ende" empfehlenswert
waere.

Para*

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



tegatana (Thanos, 24. Feb 2000, 14:05:06):
akshara und hayai
Also hayai hast du meines erachtens etwas zu sehr verkuerzt, und akshara
scheint ne bisschen zu buggen, ich kratze oder treffen jetzt nur noch hart mit
starken aksharam normalerweise kommt dabei mindestens schmettern raus, und ja,
ich hatte viel energie :)

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



akshara (Thanos, 24. Feb 2000, 14:06:26):
nope, ich vefehle jetzt sogar gaenzlich mit viel kokoro und starkem akshara :)
schaus dir bitte mal an

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



waffenskills (Thanos, 24. Feb 2000, 14:38:25):
tegatana
mhh, kann es sein das du die waffenskills ne bisschen stark abgewertet hast ?
ich bekomm nicht mal ne brei hin wo ich im normfall ne pulver bringe 

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



Re: tegatana (Paracelsus, 24. Feb 2000, 16:49:02):
~#! rn=Thanos rt=951397506 rg=gilden.tanjian
~#! tid=951397506
Tja, da war ein kleiner Fehler im Kampfskill. Jetzt sollte es zumindest
etwas besser aussehen als vorher.

Paracelsus

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



Re: [Aend#001] kokoro (Paracelsus, 28. Feb 2000, 21:08:56):
~#! rn=Paracelsus rt=951067949 rg=gilden.tanjian
~#! tid=951067949
Auf wunsch eines einzelnen Testies ;) - aber natuerlich auch, weil das nun
wirklich nicht so gedacht war - zeigt kokoro den Zustand eines Gegners
jetzt nur noch an, wenn kokoro auch erfolgreich war.

Paracelsus.

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



[Disk#003] Clanspell (Paracelsus, 29. Feb 2000, 13:03:37):
Hi.

Einer der sieben Tanjian-Clans ist der shirokuma-Clan (= Eisbaeren). Der
bisherige Clan-Spell ist ein reiner Paralyse-Spell.
Nachtwind und ich sind uns ziemlich einig, dass ein solcher Spell angesichts
der ganzen Paralyse-Tools im MG den Clan relativ uninteressant macht.

Daher suche ich jetzt Idden fuer einen Spell, der diesen ersetzen soll.

Falls also einer von euch eine Idee fuer einen Spell hat, der zu einem
Eisbaeren-Clan passen wuerde, dann nur heraus damit. ;)

Paracelsus

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



Re: [Disk#003] Clanspell (Telenos,  2. Mar 2000, 19:14:05):
~#! rn=Paracelsus rt=951825817 rg=gilden.tanjian
~#! tid=951825817
Nunja, also ich weiss ja net ob das so passt.....zumal Tanjian ja eigentlich
immer die beherrschten, ruhigen, 'make me one with everything' leute sein
sollen...
So ne Art Baerentatzen oder so waeren das passendste was mir da so einfallen
wuerde. Berserkerwut passt vom Konzept her NULL rein. Was is denn noch
'typisch' fuer Baeren ausser eine Vorliebe fuer Lachs und Honig?

Telenos

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



Siamil??? (Telenos,  2. Mar 2000, 19:18:55):
Oeh nur so kurz am Rande....bei Fehlschlaegen wo Siamil auftaucht sind seine
Aeusserungen nicht gerade passend fuer einen Tanjian. Der sollte doch
eigentlich die Ruhe weghaben und nicht rumgrummeln, schimpfen, zetern und
drohen, oder? Geht da nicht eventuell was anderes?

Telenos, etwas verwirrt

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



[Aend#010] tanjianrufe (Paracelsus,  2. Mar 2000, 21:25:02):
Hi.

'tanjianrufe' hat jetzt ein geaendertes Ausgabeformat, dafuer kann man
da jetzt aber auch (g)emoten (-> tanjianhilfe tanjianrufe).

Paracelsus

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



[Disk#005] Startwerte fuer Faehigkeiten (Paracelsus,  2. Mar 2000, 22:08:23):
Hi.

Die neue Formel, nach der die Anfangsfaehigkeit eines Spells berechnet
wird (nicht mehr einfach nur anhand der Intelligenz sondern anhand
mehrerer Parameter) ist bei ihrem ersten "Opfer" nicht gerade auf
Begeisterung gestossen.
Ein interessanter Ansatzpunkt waere wohl, fuer einen Spell einen
Startwert einfach festzulegen, und mit dem muessen halt alle anfangen,
unabhaengig von Attributen, Level, etc.

Meinungen hierzu (insbes. von Nachtwind ;) ?

Paracelsus

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



Re: [Disk#005] Startwerte fuer Faehigkeiten (Telenos,  2. Mar 2000, 22:11:28):
~#! rn=Paracelsus rt=952031303 rg=gilden.tanjian
~#! tid=952031303
Wenn es ein genereller Startwert ist fuer alle waere das meiner Meinung nach
foerderlich fuer die Attraktivitaet einer Gilde. Es is doch oft ein Grund erst
spaeter einzusteigen wenn man die Stats auf nem gewissen Punkt hat, dass man
signifikant besser die Sprueche lernt. Wenn nun aber alle den selben Startwert
haben, egal wie gut oder schlecht er ist, und der lernerfolg dann eben bei
hoeheren Werten in den korrespondierenden Stats eben hoeher ausfaellt ist das
doch dann auch kein Beinbruch, oder?

Wenn ich wie ueblich mal wieder zu viel englisches Deutsch einfliessen lasse
bitte ich das zu entschuldigen, wird in letzter Zeit immer schlimmer.....

Telenos

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



Re: [Disk#005] Startwerte fuer Faehigkeiten (Nachtwind,  4. Mar 2000, 15:36:44):
~#! rn=Paracelsus rt=952031303 rg=gilden.tanjian
~#! tid=952031303
Voll dafuer!
Zum Beispiel koennte man die 0 nehmen, grundsaetzlich! :)
Im Ersnt, welche Werte willst Du da ansetzen? Irgendwie etwas willkuerlich...

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



Re: [Disk#005] Startwerte fuer Faehigkeiten (Thanos,  5. Mar 2000, 02:17:03):
~#! rn=Paracelsus rt=952031303 rg=gilden.tanjian
~#! tid=952031303
dafuer
das macht die gilde nicht zu einer reinen seher-gilde wo ich ja eh gegen bin

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



Re: Re: [Disk#005] Startwerte fuer Faehigkeiten (Paracelsus,  5. Mar 2000, 13:56:42):
~#! rn=Nachtwind rt=952180604 rg=gilden.tanjian
~#! tid=952031303
Natuerlich willkuerlich! Ich bin schliesslich Willkuer... aeh Erzmagier ;)
Aber mal im Ernst:
Natuerlich waeren die Startwerte nicht wirklich willkuerlich. Die Spells,
die man am Anfang lernt, sind einfacher, daher kann Siamil sie einem
auch besser vermitteln -> hoeherer Anfangswert.
Je spaeter der Spell kommt, desto schwieriger ist er natuerlich
(Ausnahme vielleicht omamori, das etwa ebenso schwer sein sollte
wie tegatana) -> kleinere Startwerte.

Fuer kokoro dachte ich an einen Startwert im Bereich von 40% (ein Spieler
mit hohen Stats haette hier nach der alten Formel bei 50% angefangen).
Bei den Spruechen fuer hohe Gildenlevel faengt man dann hingegen nur mit
5% (akshara) bzw 2,5% (kami) an.

Paracelsus.

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



Re^3: [Disk#005] Startwerte fuer Faehigkeiten (Telenos,  6. Mar 2000, 19:31:44):
~#! rn=Paracelsus rt=952261002 rg=gilden.tanjian
~#! tid=952031303
Na fein, damit haeufen sich dann die gefroschten, blinden, tauben, besoffenen
und fake gezappten hochstufigen Tanjian....Das die niederen Raenge was zu
Lachen haben
Panem et circensis!!!

Telenos

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



Re^3: [Disk#005] Startwerte fuer Faehigkeiten (Thanos,  6. Mar 2000, 19:33:12):
~#! rn=Paracelsus rt=952261002 rg=gilden.tanjian
~#! tid=952031303
5 % kami ???? 3wahhhhhhhhhhhhhh, sag mal willst du ueberhaupt das jemand die
sprueche auf max bringt ?????
wie siehts den mit den anfangswerten fer die waffenfaehigkeiten aus ?
da trainiert man sich ja dum und daemlich dran :)

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



hayai (Thanos, 10. Mar 2000, 17:33:21):
Also meiner meinung nach hast du hayai ne bisschen zu sehr verkuerzt, das ist
ziemlich krass jetzt
setzt es wieder ne bisschen hoch bitte :)

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



[Aend#010] Defensive (Paracelsus, 12. Mar 2000, 14:22:03):
Hi.

Um ein bisschen was fuer eure Defensive zu tun habe ich dem Defensivskill
eine Komponente hinzugefuegt, die sich aus den Waffenskills berechnet.
Will sagen: wenn ihr mit einer Waffe kaempft, zu der ihr einen passenden
Skill habt, dann hilft euch diese auch in der Verteidigung. Aber natuerlich
nur gegen physikalische Angriffe und auch nur, wenn ihr ein positives
kokoro laufen habt.

Paracelsus

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



[Aend#011] Waffen (Paracelsus, 16. Mar 2000, 13:50:49):
Hi.

So, die Skills der Nahkampfwaffen werden jetzt wesentlich frueher gelernt.
"Updaten" tut ihr euch durch eine Runde Meditation.
Ab Level 6 gibts jetzt auch Skills fuer Fernkampfwaffen.

Paracelsus

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



Aus gegebenem Anlass (Paracelsus, 30. Mar 2000, 22:07:17):
Hi.

Neues "feature" in der Gilde (noch undokumentiert ;):
'tanjianfluch <spielername>'

Verpasst einem Spieler, der bei euch im Raum steht, einen Sprachfluch.
Jedenfalls wenn er/sie noch keinen hat.
Kosten: naja, 10 Objekte solltet ihr vorher entsorgt haben ;)

Nur fuer den Fall, dass mal wieder einer von euch von nem Zauberer
verfroscht wird ;)

Have fun,
  Paracelsus.

P.S.: Steht natuerlich erst nach einer Meditation zur Verfuegung.

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



[Aend#012] (Paracelsus,  8. Apr 2000, 21:07:12):
Ich hab mal bei den Waffenskills ein wenig an Lernwerten und -bedingungen
gedreht.

Para*

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



Gildenquest (Paracelsus,  8. Apr 2000, 21:12:47):
Hi.

Ich wuerde gerne eine der hoeheren Gildenquests durch eine Art
Metzelgildenquest ersetzen, entweder fuer GL 8 oder 9.
Dazu braeuchte ich aber natuerlich einige NPCs, die folgende Bedingungen
erfuellen:
a) Sie sollten nicht ganz eingfach zu metzeln sein
b) Sie sollten entweder ziemlich boese oder ziemlich heilig sein.
c) Sie sollten nicht an allzu haeufig im MG auftauchen, damit
   eine einigermassen sinnvolle Ortsbeschreibung gegeben werden
   kann.

Vorschlaege bitte an mich ;)

Paracelsus.

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



Bugfix (Paracelsus,  8. Sep 2000, 22:15:01):
Hi.

Also der Bug in der Gildenquest 'Waage der Gerechtigkeit' ist jetzt
(hoffentlich) beseitigt.
Und es gibt eine kleine Aenderung bei 'tanjianrufe' -> Hilfeseite.

Paracelsus - sucht jetzt den sch*** History-Bug.

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



Re: Bugfix (Paracelsus,  8. Sep 2000, 22:16:50):
~#! rn=Paracelsus rt=968444101 rg=gilden.tanjian
~#! tid=968444101
Tss, jetzt haette ich es fast vergessen: Da hat mich doch einer auf ne
dumme Idee gebracht ... aber das merken nur die, die es schon bis zum/zur
MeisteranwaerterIn gebracht haben.

Paracelsus.

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



Kleine Aenderungen (Paracelsus, 26. Okt 2000, 10:37:32):
Denen, die nicht antitemporal den Einfluesterungen des Universums und den
Stimmen ihrer Brueder und Schwestern lauschen sei gesagt, dass es Absicht
ist, dass ihr euch jetzt viel intensiver auf die Anwendung eurer
Faehigkeiten konzentriert - was natuerlich ein Unterbleiben von Angriffen
zur Folge hat.
Desweiteren sei erwaehnt, dass Siamil nun bei den unteren Stufen nicht
mehr so sehr auf das Ueben mit den materiellen Hilfsmitteln schaut.
Und der gute in Port Vain residierende Buerger Owen Braddon geht nun auch
auf eure anderswo erworbene Faehigkeit der Neutralisation des Giftes
ein.

Paracelsus.

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



Re: Kleine Aenderungen (Paracelsus,  2. Nov 2000, 13:24:11):
~#! rn=Paracelsus rt=972549452 rg=gilden.tanjian
~#! tid=972549452
Es sei noch hinzugefuegt, dass erfahrene Tanjian natuerlich sehr wohl
in der Lage sind, zumindest bei einfacheren Dingen das Kampfgeschehen
weiter aktiv zu verfolgen - meditative Ausgeglichenheit vorausgesetzt.

Apropos Meditation ... aber ihr werdet schon selbst feststellen, auf
was fuer eine Idee mich einer meiner Ex-Testies da schon wieder
(unfreiwillig) gebracht hat.

Paracelsus.

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



Re: Offener Brief an Paracelsus (Paracelsus,  2. Feb 2001, 10:12:21):
~#! rn=Orktoeter rt=978957414 rg=entwicklung
~#! tid=978957414
Tach!

Es war ja klar, dass frueher oder spaeter das Geschrei losgeht, die Tanjian
seien zu stark. Eine Meinung, der ich mich eigentlich nicht anschliessen kann,
denn in Sachen physikalischem Schaden kommen sie bei weitem nicht an die
Kaempfer heran (sie haben ja nicht einmal physikalische Sonderattacken), und
was magischen Schaden angeht (Schaden-KP-Relation und Flexibilitaet) liegen
sie gegenueber den Zauberern ebenfalls im Hintertreffen. Aber das merken
natuerlich nur die Zauberer, deren Repertoire ueber "hand <xy> + extrahand +
schnell + schutz" hinausgeht.
Aber sie haben halt zugriff auf beide Bereiche von Schadensarten, so dass
sie - durchaus gewollt! - in ihrer Gesamtstaerke mit den Trets und den
Zauberern vergleichbar sind. Andererseits haben Tanjian durch den einfachen
Aufbau der Gilde wahrscheinlich einfach mehr Spass, weil sie sich nicht
naechtelang Gedanken ueber hochkomplizierte Waffenaustausch-Sonderattacken-
Keybindings oder Permutationen von Spellkombinationen in zehn verschiedenen
Staerken machen muessen. Spass == Staerke? Ok, dann sind sie wohl doch zu
stark.

Anyway, das laute Gejammer hatte natuerlich wieder Erfolg und so hat unser
lieber Nachtwind bestimmt, dass die Tanjian abgewertet werden sollen. Dies
wird voraussichtlich in zwei Stufen erfolgen, von denen die Erste jetzt
aktiv wird.

Paracelsus.

P.S.: Flames an Nachtwind, der steht drauf! :)

P.P.S.: Bierschuettler aufwerten!


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



Re: Re: Offener Brief an Paracelsus (Gor,  2. Feb 2001, 12:24:53):
~#! rn=Paracelsus rt=981105141 rg=gilden.tanjian
~#! tid=978957414
Was mach ich blos, was mach ich blos? Jetzt koennen die armen
Zaubererbussybaeren ja gar nimmer jammern. Ebenso wie die eitlen Trves. 
Man, man, man. Erschiesst euch wenn irgendwer bestimmte Monster besser toeten
kann als ihr!!!!!!!

Gor stinksauer!

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



kein flame... (Karis,  2. Feb 2001, 13:15:18):
ICh faende es schon interessant, warum Nachtwind diese Abwertung
festgelegt hat. Nur wegen Gejammere von ZAubis und Kaempfern
sollte das ja nun nicht sein.
Aber egal. Die naechste Abwertung kommt bestimmt auch noch.
Ich hoffe ja nur, dass es irgendwann mal auch die Trves trifft.
Nur wegen der Optik. Schliesslich sind die ja nun ueberhaupt nicht
zu stark. Gar nie nicht. 

Es lebe der Einheitsbrei! Am besten werden alle gilden wieder
abgeschafft, und dank der schwachen Abenteurergilde
wird die Hydra dann vielleicht wieder eine Herausforderung
fuer ein groesseres Team.


Nur weiter so ! :((

Karis

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



Re: kein flame... (Morgoth,  2. Feb 2001, 13:18:01):
~#! rn=Karis rt=981116118 rg=gilden.tanjian
~#! tid=981116118
Haette ich kein Problem mit ;-)
Abenteurer sind immer noch die Besten !!!

M*

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



Re: kein flame... (Nonne,  2. Feb 2001, 13:20:41):
~#! rn=Karis rt=981116118 rg=gilden.tanjian
~#! tid=981116118
Wie meckert ihr eigentlich gleich so? Auf den Zauberern rumhacken weil sie
Jammern aber selbst nicht besser sein... Ich wuerde das ganze als Chance
betrachen, jetzt wo die Tanjian ueberarbeitet werden und die Zauberer
wahrscheinlich ein neues Konzept erhalten, koennte die Gilden ja mal anfangen,
Staerken und Schwaechen zu haben. Und man nicht jedes Monster alleine killen
kann, sondern die Staerken der Gildne kombinieren _muss_. Wenn die Kaempfer
noch Einschraenkungen beim magischen Schaden hinnehmen muessen, sind wir schon
fast soweit.

Man sollte einfach aufhoeren 'ich will auch' zu rufen, sondern sich einen
Mitstreiter der Gilde suchen, die das benoetigte Koennen aufweist. Das wuerde
dem Einheitsbrei entgegentreten, wuerde den Teamkampf foerdern und es wuerde
vielleicht mal wieder an Rollenspiel erinnern.

Just my 2 cents
Nonne.

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



Re: Re: kein flame... (Rikus,  2. Feb 2001, 13:34:40):
~#! rn=Nonne rt=981116441 rg=gilden.tanjian
~#! tid=981116118
Zauberer jammen doch per Definition, also nicht dran stoeren :)

Rikus

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



Re: Re: Offener Brief an Paracelsus (Grellgen,  2. Feb 2001, 13:43:44):
~#! rn=Paracelsus rt=981105141 rg=gilden.tanjian
~#! tid=978957414

Hiho,

zur Abwertung sage ich im Moment noch nichts, das wird sich in der naechsten
Zeit herausstellen inwieweit sich die aeussert und auswirkt.
Ich finds nur zum Kotzen, dass hier immer die Leute sich das Maul ueber die
"uebermaechtigen Tanjian" zerreissen, die am allerwenigsten Ahnung von der
Gilde haben. Im uebrigen gibt es erst eine Handvoll Erzmeister, und wenn ich
monatelang uebe wie ein Depp, wird ein Erzmeister auch ein bisschen stark sein
duerfen.
Aber solange diejenigen, die hier ueber Abwertung o.ae. entscheiden, sich von
Leuten, die die Gilde zwar nicht kennen aber kraeftig ihren Senf dazu
ablassen, beeinflussen lassen, wirds auch so bleiben.

Bravo.

Grellgen

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



Re: Re: kein flame... (Matis,  2. Feb 2001, 13:43:58):
~#! rn=Nonne rt=981116441 rg=gilden.tanjian
~#! tid=981116118
Tanjian haben "ziemlich gute" Waffenskills.
Tanjian haben "tolle" Schutzzauber.
Tanjian haben "nette" Angriffszauber.
...
Ergo, Tanjian sind  sehr vielseitig. Das sei ihnen absolut gegoennt, das ist 
ihre Bestimmung. Doch Vielseitigkeit hat einen Preis: man kann viel, aber 
nichts wirklich ueberragend. 

Dass das Potential einer Gilde nicht durch eine paar Testspieler genau 
abzuschaetzen ist, duerfte jedem klar sein. Insofern ist es der Gilden-
balance erlaubt, ja es ist sogar ihre Aufgabe, auf neue Erkenntnisse
aus dem grossen Praxistest einer neuen Gilde zu reagieren. Natuerlich
angemessen. Nichts weiter ist hier passiert.

Die Zauberer wurden und werden in ihre Ecke zurueckgestossen, und dies zT
nicht gerade sanft. Selbiges steht sicherlich auch in dieser oder jener
Form den Trves bevor (bitte etwas liebevoller, Boing ;o). Insofern ist
die Vielseitigkeit der Tanjian ein nicht zu unterschaetzender Vorteil.
Man moege dies bitte stets im Hinterkopf behalten.


Matis

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



Re^3: Offener Brief an Paracelsus (Paracelsus,  2. Feb 2001, 13:49:30):
~#! rn=Grellgen rt=981117824 rg=gilden.tanjian
~#! tid=978957414
Naja, Nachtwind hat schon einen eigenen Tanjian-Testi, soviel wollen
wir hier mal festhalten. Und mit dem testet er auch durchaus herum.
Und das, was in der zweiten Abwertungsstufe betroffen sein wird, werden
wir vorher genau betrachten, bevor wir daran herumschrauben.

Nur so zur Info,
   Paracelsus.

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



Re^3: Offener Brief an Paracelsus (Golas,  2. Feb 2001, 14:17:05):
~#! rn=Grellgen rt=981117824 rg=gilden.tanjian
~#! tid=978957414
bislang habe ich mich mit aeusserungen zum thema zurueckgehalten, eben weil
ich keinen tanjian hab.
dennoch bekomme ich einen guten einblick in die gilde, wenn ich die ohren ein
wenig aufsperre ...
ich habe mitbekommen, dass das ueben aehnlich schwer wie bei den trves ist.
ich habe mitbekommen, dass sie sehr vielseitig sind
ich habe mitbekommen, wie schnell sie zb in den katas metzeln und nebenher
noch gut quatschen koennen ...

soweit so gut
wenn ich dann aber von besitzern von kaempfern und zauberern hoere, dass ihr
tanjian die unabgeschwaechte kombination aus beidem sei, dann fange ich an zu
glauben, dass sie zu stark sind.

wohl gemerkt, dies alles beruht auf hoeren-sagen. aber es kommt mittlerweile
von so vielen leuten, dass sich ein meinungsbild formt.

winke winke
golas

ps: das eine mal, als ich mit nem tanjian zusammen metzeln war, hab ich
wahrlich grosse augen bekommen ...

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



Re^4: Offener Brief an Paracelsus (Lavinia,  2. Feb 2001, 16:54:25):
~#! rn=Golas rt=981119825 rg=gilden.tanjian
~#! tid=978957414
Haettet ihr das nicht vor vier Wochen sagen koennen? Dann haette ich mir
vielleicht noch mal ueberlegt, ob ich diese Uebetortur auf mich nehmen
soll.
Jetzt bin ich nach scheinbar unendlichem Vor-mich-hin-Metzeln in etwa
wieder so weit, wie ich als Abenteurerin mal war - bis auf den Schutz, der
ist zugegebenermassen bei Tanjians besser - und nun wird abgewertet. Weil
ein paar Zauberer gemeckert haben, die Monster, um die ich noch immer einen
grossen Bogen mache, mit links weghauen. Oder Kaempfer, die in der Zeit,
die ich fuer eine Spruchvorbereitung brauche, den NPC schon 20 mal zu Brei
gehauen haben.
Was mir bei den Tanjian gefaellt, ist die Ausgewogenheit. Und, fuer mich
auch wichtig, dass man nicht nur mit wilden Skripten vorankommt. Wenn ich
neben einem Kaempfer stehe, der mich zuscrollt, wuensche ich mir immer einen
groesseren Bildschirm, um meine Eingaben ueberhaupt sehen zu koennen. Da
sind die Tanjians doch ruhiger, man kann noch alles von Hand eintippen :-)
Was mich aber doch mal interessieren wuerde: Was wird denn jetzt genau
abgewertet? Kann man das schon sagen, oder ist es nur erstmal eine allgemeine
Vorwarnung?

Lavinia (puh, geschafft)

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



Re^5: Offener Brief an Paracelsus (Agony,  2. Feb 2001, 16:59:10):
~#! rn=Lavinia rt=981129265 rg=gilden.tanjian
~#! tid=978957414
und da rege sich noch mal einer ueber die jammerei der zauberer auf...
die haben ein gutes dutzend solcher abwertungen hinter sich:
  viel steigerungspotential lasst ihr nicht mehr ueber, um die zauberer
nicht schon nach der 3. abwertung den rang der jammerbrueder abzulaufen.

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



Re^5: Offener Brief an Paracelsus (Anatol,  2. Feb 2001, 17:03:38):
~#! rn=Lavinia rt=981129265 rg=gilden.tanjian
~#! tid=978957414
Waehle Deine Gilde nach dem Fluestern Deiner inneren Stimme. Waehle die
Gilde, die Dir, ungeachtet der 'Staerke', am besten gefaellt, die Du am
liebsten spielen wuerdest.

Alles andere ist in meinen Augen ein Fehler.

Anatol

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



Re^6: Offener Brief an Paracelsus (Heromcfly,  2. Feb 2001, 17:09:58):
~#! rn=Anatol rt=981129818 rg=gilden.tanjian
~#! tid=978957414

genau so ist es =)


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



Re^6: Offener Brief an Paracelsus (Strohalm,  2. Feb 2001, 17:14:20):
~#! rn=Anatol rt=981129818 rg=gilden.tanjian
~#! tid=978957414

Genau, werdet Zauberer, ist eh die schoenste Gilde, und man kann sogar ohne
3-seitige Keybindings-Scripts metzeln. Und der tolle Nebeneffekt: Die Lizenz
zum Jammern gibts gratis dazu ;)

Haelmchen -> Schmarrn

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



Re^7: Offener Brief an Paracelsus (Agony,  2. Feb 2001, 17:15:12):
~#! rn=Strohalm rt=981130460 rg=gilden.tanjian
~#! tid=978957414
das schlimme ist eigentlich, man kann mit 3 kurzen keybindings metzeln ;)

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



Re^8: Offener Brief an Paracelsus (Strohalm,  2. Feb 2001, 17:18:04):
~#! rn=Agony rt=981130512 rg=gilden.tanjian
~#! tid=978957414

Schliesslich hat noicht jeder ein scriptueberladenes TF oder zMUD, und eine
Gilde sollte auch ohne scriptbare Clients noch spielbar sein... versuch mal
nen Trves mit reinem Telnet zu spielen, ohne dir dabei saemtliche Finger zu
brechen... ;)

Haelmchen, liebt die uebersicht ;)

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



Re^9: Offener Brief an Paracelsus (Boing,  2. Feb 2001, 17:19:14):
~#! rn=Strohalm rt=981130684 rg=gilden.tanjian
~#! tid=978957414
Das geht schon, hab mit meinem 2tie lange Zeit ohne makros gespielt,
man braucht ein paar alis mehr und ist nicht ganz so effektiv, aber
spielen kann man trotzdem gut.
  Boing

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



Re^9: Offener Brief an Paracelsus (Gor,  2. Feb 2001, 17:19:22):
~#! rn=Strohalm rt=981130684 rg=gilden.tanjian
~#! tid=978957414
Ich schaetze einige Zauberer wuerden sich schwer tun, vor jedem entsprechenden
Spell den richtigen Stat-ring mit Telnet anzuziehen. Wir verallgemeiner jetzt
mal und sagen, dass Zauberer alte Scriptmetzler sind. ;)

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



Re^10: Offener Brief an Paracelsus (Kaspar,  2. Feb 2001, 17:20:08):
~#! rn=Gor rt=981130762 rg=gilden.tanjian
~#! tid=978957414
wer als zauberer cast-ringe ueber scripte wechselt hat die gilde sowieso
nicht ganz verstanden.

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



Re^10: Offener Brief an Paracelsus (Strohalm,  2. Feb 2001, 17:24:34):
~#! rn=Gor rt=981130762 rg=gilden.tanjian
~#! tid=978957414

Statring wechseln vor jedem Spell? Naja, bringt nur nix, da die
Unterstuetzungen der Ruestungen nicht sofort nach anziehen wirksam werden...
vor nem groesseren Kampf einmal entsprechend anziehen reicht auch, und dafuer
benoetigt man idR keine Scripte ;)

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



Re: Re: Offener Brief an Paracelsus (Sky,  2. Feb 2001, 20:55:21):
~#! rn=Paracelsus rt=981105141 rg=gilden.tanjian
~#! tid=978957414



>Anyway, das laute Gejammer hatte natuerlich wieder Erfolg und so 
>hat unser lieber Nachtwind bestimmt, dass die Tanjian abgewertet 
>werden sollen....

Bei allem Respekt lieber Para* aber ich halte das Ankreiden und
Aufzeigen von offensichtlichen Missstaenden im MG nicht fuer 
jammern. Das als solches abzutun und auf alle die boesen 'Neider'
zu schimpfen macht es natuerlich einfacher als sich mit den 
wirklichen Problem zu beschaeftigen.

Tanjian reichen naemlich nicht nur, wie du sagst, an die Kampf-
staerke der Zauberer oder Kaempfer heran, sondern uebertreffen
sie deutlich. Das gilt (bzw. hoffentlich galt) sowohl fuer die
Abwehr wie die Angriffspells. Und ich kenne bisher noch keinen
Tanjian der alle zusaetzlichen Moeglichkeiten in Sachen Schutz
und Angriff ausgenutzt hat. Es wird als auch weiterhin mit einer 
Steigerung in dieser Hinsicht zu rechnen sein.

Und wenn ein Darkwing und ein Vector sagen, dass Tanjian zu stark
sind, dann wird man sich da auch in Zukunft noch Gedanken drueber
machen muessen, und es nicht nur als gejammer, oder wie es ein
Spieler sinngemaess ausdrueckte: "Kommentar von Leuten die kein
Einblick in die Gilde haben", als unbedeutende Meinung zu werten.


                              *Sky*

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



Re^3: Offener Brief an Paracelsus (Gor,  2. Feb 2001, 21:02:03):
~#! rn=Sky rt=981143721 rg=gilden.tanjian
~#! tid=978957414
Das ist deine subjektive Meinung. Du kannst nun mal nicht Aepfel mit Birnen
vergleichen. Wenn Objekt Y bei einem Tanjian zu stark ist, so argumentierst
du, muss man Objekt Y anfassen und nicht an der Gilde rumdrehen. Fuer sowas
haben wir eine Objektbalance.
Wenn der Tanjian nen S hat, nen N, nen W, nen V und viele andere Sachen dann
mag das wohl zutreffen. Aber dann ist selbst nen Abenteurer ueberaus maechtig
und vielseitig.

Gor

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



Re^3: Offener Brief an Paracelsus (Karis,  2. Feb 2001, 21:14:04):
~#! rn=Sky rt=981143721 rg=gilden.tanjian
~#! tid=978957414
Ich bin wirklich gespannt, wann/ob da einigermassen objektiv
gemessen wird. Zum Beispiel: man nehme ein paar
wirklich gute Testies, lasse da jemanden, der sein Gilden-
geschaeft beherrscht, ein paar Kampfskripte schreiben.
Dann nehme man ein paar NPCs, gut gemischt,
von leicht bis schwer, von Magieanfaellig bis resistent
und was weiss ich noch alles, lasse dann die Testies
mit den Viechern in die Arena. Dann kann man wunderbar
zugucken, wer wann wie oft tanken muss, wie schnell MPs
und LPs sinken, und was auch immer man da gerne
messen moechte. Und schon hat man eine kleine
Statistik, anhand derer man eine Wertung wahlweise der NPCs
oder eben der Testies vornehmen kann.
Und dann kann man ganz toll die Gilden/NPCs abstimmen.
Und wenns sein muss, dann eben so, dass alle Gilden gleich gut
sind am Ende. (Dann werd ich wieder Abenteurer...)

Nichts gegen Meinungen von genannten Sehern, aber andere Meinungen
sind nun auch nicht ganz von der HAnd zu weisen.
Falls sowas jemand gerne mal bauen moechte - ich helf da gerne mit.
Hat allerdings einen Nachteil... die mpa wird viel leerer.
Vielleicht sollte ich das doch wieder zurueckziehen.

Karis.

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



Re^3: Offener Brief an Paracelsus (Grellgen,  2. Feb 2001, 21:22:40):
~#! rn=Sky rt=981143721 rg=gilden.tanjian
~#! tid=978957414
Da Du mit Deinem letzten Satz wohl auf meine Aeusserung anspielst, muss ich
hier zum letzten Mal nochmal was klarstellen.

Ich hab weder ueber die Abwertung geschimpft oder sie als ungerechtfertig
bezeichnet, sondern zuallererst betont, dass ich die Aenderungen in Ruhe
austesten und dann aber durchaus auch kommentieren will.

Ich habe auch nicht hier pauschal alle, die ihre Meinung zu den Tanjian
abgegeben haben und abgeben, als "Neider" oder "Unwissende" bezeichnet,
sondern mir lediglich in dem Punkt ein bisschen von der Seele geredet, dass es
hier durchaus Spieler gibt, die recht wenig Ahnung haben, aber dennoch in der
Hinsicht grosse Toene spucken. Seltsamerweise haben die von mir gemeinten sich
bisher noch ueberhaupt nicht zu Wort gemeldet...

Was Deine Aeusserung, Tanjian wuerden in punkto Angriffsspells die Kaempfer
uebertreffen, angeht, so kann ich das kaum nachvollziehen. Die Zauberer kenne
ich nicht, aber da ich auch einen Level23-Kaempfer habe, behaupte ich, das
ganz gut vergleichen zu koennen zwischen diesen beiden.

Ich hoffe jetzt nicht, dass es mir die von Dir angesprochenen Darkwing und
Vector persoenlich nehmen, wenn ich abschliessend auch noch sagen will, dass
diese zwei fuer mich nicht _allein_ das Mass der Dinge sind. Mit meinem
Erstspieler - der uebrigens auch schon recht lang und ganz gut dabei ist -
habe ich mich schon laengst daran gewoehnt, dass es eben staerkere Gilden
gibt. Andere Gilden scheinen mit aehnlich starken "Konkurrenzgilden" da
staerkere Probleme zu haben :-)


Nungut, wie Du richtig sagtest wird man die Tanjian auch nach der Abwertung
weiter beobachten (muessen), schliesslich muss sich eine neue Gilde auch erst
"einschleifen".

Gruss,
Grellgen

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



Re^4: Offener Brief an Paracelsus (Darkwing,  2. Feb 2001, 21:22:41):
~#! rn=Gor rt=981144123 rg=gilden.tanjian
~#! tid=978957414
Wieso sollte man an den Objekten drehn ? Ist doch nicht schlecht wenn man noch
etwas rausholen kann mit guter Ausruestung. Dass das kein Tanjian ueberhaupt
auch nur noetig hat, weil man mit genuegend stupidem Metzeln von
Gardewaechtern und Co dermassen stark in der Verteidigung wird, dass die
Betonschutzhuelle, die die Zauberer mal hatten, dagegen blass aussieht... 

Ich glaube gegen die Offensive hat ueberhaupt niemand mal etwas gesagt, die
ist wie Paracelsus sagte fuer sich weniger stark als Zauberer/Kaempfer, deckt
aber beides ab.

Was die minimale Anhebung der Kosten der Angriffszauber angeht habt ihr mein
vollstes Mitleid, wirklich :-) ...geht zwar voellig an der Sache vorbei.

Darkwing, schwer auf Stufe 2 hoffend.

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



Re^5: Offener Brief an Paracelsus (Gor,  2. Feb 2001, 21:29:14):
~#! rn=Darkwing rt=981145361 rg=gilden.tanjian
~#! tid=978957414
Weil die Objekte in Kombination zu stark sind. Nicht nur fuer die
Tanjiangilde. Wenn du ehrlich bist kannst du mir nur zustimmen. Zauberer lasse
ich mal aussen vor, da ich mit dieser Gilde null auskenne. Aber ich traue es
mir einigermassen zu meinen Kaempfer so auszustatten, bzw so an der Taktik zu
drehen, dass er die Defensive des Tanjian sogar uebertrumpft. Bei der
Offensive kann ich nur sagen, dass das Schaden/Runde-Verhaeltnis beim Kaempfer
deutlich hoeher ist als beim Tanjian.

Gor

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



Re^4: Offener Brief an Paracelsus (Matis,  2. Feb 2001, 21:30:00):
~#! rn=Gor rt=981144123 rg=gilden.tanjian
~#! tid=978957414
Objekt Y und Objektbalance: ist in Arbeit ...

Matis

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



Offener Brief an alle, die lesen koennen (Ark,  2. Feb 2001, 21:33:41):
So. Simmer mal wieder beim Herumeiern. Gilde zu stark. Scheisse. Aufschrei.
Gemecker. Zwergenaufstand. Ueben umsonst. Erzmagier sind schuld. Spieler sind
bloed. Objekte sind unkontrollierbar. Alles Bockmist. Loeschen. Flamen.
Juchhe.

Du bist Erstspieler in der Gilde und hast "umsonst" geuebt? Warum? Kannst Du
Satan immer noch nicht allein umhauen? Bedauerlich, aber nicht zu aendern.
Vielleicht musst Du Dich peinlicherweise auch bei "niederen" Monstern Hilfe
holen. Dumm, das. Zukuenftig mag Dich vielleicht auch niemand mehr im Team, da
Du ja abgewertet worden bist. Auch noch soziale Verelendung. Schade
eigentlich. Oder wird jetzt das vielgeruehmte Feeling abgewertet (was
eigentlich tragisch waere)? Nein, es sind ja nur ein paar Nummern, an denen
herumgedreht wird, Du verlierst also nur ein bisschen an Kampfkraft, nicht an
der Seele. Aufatmen also.

Du bist Zweitspieler in der Gilde, weil Du sie mal antesten willst? Na, dann
isses ja nicht so schlimm, denn Du kannst immer noch auf Deinen
Kaempfer/Zauberer/Karateka/Etcetera zurueckgreifen. Bist halt immer noch nur
Du selbst. Du hast nicht mehr gewonnen als das Recht, in einer weiteren Rubrik
zu klagen. Das aber mit Niveau und Wissen. Dafuer hat man Dir aber auch
einiges genommen. War ja ganz schoen zeitraubend, sich so schnell testweise
mal hochzuueben. Gut, jetzt kannst Du der Gilde wieder den Ruecken kehren. Hat
ja nix mehr, das Zeuch. Hau ich eben wieder als
Kaempfer/Zauberer/Karateka/Etcetera druff. Kann Dir doch wurscht sein.

Du ueberlegst gerade, ob die Tanjian was fuer Dich als totaler Neuling sind?
Dann lies diese Artikel nicht mehr, geh hin, uebe, ueberlege, und lass Dich
von dem Geschwaetz hier nicht ablenken. Und zum Schluss kommst Du dann
vielleicht doch auf den Geschmack.

Du bist kein Tanjian, und willst es niemals werden, gerade nicht, nachdem sie
"abgewertet" worden sind? Uns wurscht.

Sind das alle Faelle? Faellt jemandem noch eine Situation ein? Also, insgesamt
mal wieder viel Geschrei, aber nichts wirklich Weltbewegendes dahinter ...
oder? :-)


              *** ARK * the * Magnificent ***


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



Re: Offener Brief an alle, die lesen koennen (Ark,  2. Feb 2001, 21:41:37):
~#! rn=Ark rt=981146021 rg=gilden.tanjian
~#! tid=981146021
Ja klar, es gibt also doch noch etwas.

Du hast durch Hoerensagen oder gar Selbstversuch herausfinden muessen, dass
(D)ein scherzhaft erschaffener Charakter <Sinnloswurstname> besser ist als
Dein Erstcharakter <Heldenhaftklingendertollname>. Entgeistert beteiligst Du
Dich an den Protesten gegen die Abwertung Deiner eigenen Gilde, die sie ja
durchaus durch die Einfuehrung der furchtbaren neuen Gilde erfahren hat.
Gruebelnd sitzt Du an Mord- und Femeplaenen, um die Gildenmitglieder wieder
auf den Boden der Tatsachen zurueckzufuehren. Na, da Du nur ein marginales
Interesse an der Gilde selbst hast, ist das fuer alle anderen eigentlich auch
egal, was Du denkst.

*aehem*


              *** ARK * the * Magnificent ***


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



Re: Re: Offener Brief an alle, die lesen koennen (Anacrion,  2. Feb 2001, 21:46:33):
~#! rn=Ark rt=981146497 rg=gilden.tanjian
~#! tid=981146021
Dass ich auf DIESEN Artikel Antworte, ist reiner Zufall.

Ich musste jedoch grade feststellen, dass mein Jammerskil - den ich auf 100%
waehnte - scheinbar deutlich unter 50% anzusiedeln ist .. wurde jetzt auch der
Jammerskill wegen den Tanjian abgewertet ?

Anac* will wieder jammern :) 

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



Re^4: Offener Brief an Paracelsus (Zook,  2. Feb 2001, 22:13:51):
~#! rn=Karis rt=981144844 rg=gilden.tanjian
~#! tid=978957414
Da faellt mir nen Spruch ein, den ich neulich gelesen habe:
"Streichen Sie das Wort 'objektiv' aus Ihrem Wortschatz - es
sei denn, Sie arbeiten in einem Fotogeschaeft." 

Zook.

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



Re: Re: Offener Brief an Paracelsus (Leibniz,  2. Feb 2001, 22:31:54):
~#! rn=Paracelsus rt=981105141 rg=gilden.tanjian
~#! tid=978957414
 genau: bierschuettler aufwerten!

leibi

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



Re^3: Offener Brief an Paracelsus (Solmyr,  3. Feb 2001, 07:41:55):
~#! rn=Leibniz rt=981149514 rg=gilden.tanjian
~#! tid=978957414
Wie? Noch mehr Rabatt in Kneipen, Leibi? :)

Solmyr

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



Re: kein flame... (Apollonia,  3. Feb 2001, 08:42:16):
~#! rn=Karis rt=981116118 rg=gilden.tanjian
~#! tid=981116118
Also ich bezweifel ja stark, dass Nachtwind allein deswegen eine Abwertung
vorgenommen hat, weil sich einige Leute darueber beschwert haben, die Tanjians
seien zu stark. Tatsache ist, dass selbst einige Tanjians gesagt haben, der
Schutz sei zu gut und die Kosten fuer die Spells zu niedrig. Es kann ja nicht
Sinn der Sache sein, eine Alleskoenner-Gilde zu produzieren, oder? Es lebe der
Teamkampf. Das macht mehr Sinn als ne Gilde, die alles alleine schaffen kann.
Die Zauberer haben doch damals gezeigt, wohin so was fuehrt... naemlich dazu,
dass Magier dazu uebergehen, Anti-Tanjians-NPC zu proggen. Und eine solche
Entwicklung wuerde mir persoenlich wesentlich mehr missfallen, als eine
Abwertung der Gilde.

Apo*

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



Re^6: Offener Brief an Paracelsus (Apollonia,  3. Feb 2001, 08:55:04):
~#! rn=Anatol rt=981129818 rg=gilden.tanjian
~#! tid=978957414
Anatol, Du sprichst mir aus der Seele :o)

Apo* (Anatol die Hand schuettelnd)

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



Re^7: Offener Brief an Paracelsus (Gloinson,  3. Feb 2001, 09:58:02):
~#! rn=Apollonia rt=981186904 rg=gilden.tanjian
~#! tid=978957414
Ja, das koennte man mal auf die man-page schreiben :)

Gloin(son)

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



An Alle (an einige mehr, an andere weniger) (Jasmin,  3. Feb 2001, 14:49:04):
Ich versuch mich mal kurz zu fassen, damit nicht der Spass am lesen durch
'reines Gejammer' verdorben wird.
Wenn ich das hier alles so lese und auch die Stimmen und Meinungen von
gewissen Leuten so hoere, dann frage ich mich wirklich manchmal was hier
eigentlich der Sinn am Spiel ist.
Es darf doch nicht wahr sein, dass (entschuldigt bitte den Ausdruck) wegen ein
paar Neidhammeln, wer sich auch immer angesprochen fuehlt, hier so ein Chaos
ausbricht.
Ich weiss selber, dass es natuerlich nicht nur an diesen Leuten liegt, aber
trotzdem fuehren sich manche fuer meinen Geschmack unmoeglich auf.
Wenn da gewisse Spieler ein soooooo grosses Problem damit haben anzusehen, wie
eine neue Gilde heranwaechst, die vielleicht gleichstark (oder auch staerker -
ich habe leider keinen Vergleich zu anderen Gilden, das sei mir hier
verziehen) ist, dann sollen sie doch bitte Magier werden und auf diesem Wege
versuchen die Sache hinzubiegen (jetzt krieg ich wahrscheinlich gleich wieder
eine auf den Deckel, weil ich von Magierfaehigkeiten usw. ja eh keine Ahnung
hab, aber egal) und nicht durch destruktive Kritik.
Ich mein ich kann es ja bis zu einem gewissen Mass auch verstehen, aber
irgendwo reisst mir dann auch mal der Geduldsfaden.
Wenn es auf diesem Wege ablaeuft, dass ein paar 'hohe' Seher hier das sagen
haben und die Stimmung kaputtmachen, dann ist es wohl an der Zeit sich
Wenn es auf diesem Wege ablaeuft, dass ein paar 'hohe' Seher hier das sagen
haben und die Stimmung kaputtmachen, dann ist es wohl an der Zeit sich
ernsthaft Gedanken ueber die Zukunft des MG zu machen.
Und bedenkt bitte auch mal die Spieler, die vielleicht keinen Erstie haben und
die Gilde einfach sympatisch finden. Die sind doch die Leidtragenden bei der
ganzen Sache hier, und das find ich mehr als bedauerlich.
Auch wenn die Tanjian in der Abwehr UND im Angriff abgewertet wuerden, waeren
immer noch Spieler hier die was auszusetzen haben.
Man kann es eben niemand recht machen.
Abschliessend moechte ich noch sagen, dass wenn es sich in dieser Weise
fortsetzt, ich keine Lust mehr habe als Tanjian weiterzuspielen und mir bloede
Kommentare anhoeren zu muessen.
Mir geht es dabei nicht um die Abwertung ansich, sondern um das Feeling das
total kaputtgemacht wird.
So...das musste einfach mal gesagt sein
MfG Jasmin

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



Re: An Alle (an einige mehr, an andere weniger) (Ark,  3. Feb 2001, 15:18:07):
~#! rn=Jasmin rt=981208144 rg=gilden.tanjian
~#! tid=981208144
Chaos bricht hier aus? Da lacht ja Kruuolq drueber. Nein, das hier erinnert
eher an empoertes Gemurmel und lautes Schreien nach einer Wahl, nachher fuehlt
sich jeder vereiert und schwoert, nie mehr wieder <Partei> zu waehlen. Nach
einem Jahr oder schneller hat sich wieder alles gelegt, und so wird es hier
auch sein. Wenige Menschen denken immer dynamisch, und je schneller die
Geschehnisse sich aendern, desto weniger sind wir in der Lage, uns an etwas
Bestimmtes zu erinnern oder gar noch die Kraft aufzubringen, staendig wuetend
zu sein und zu agieren. Das Wenigste rechtfertigt es auch wirklich. Also,
hummmmmmm, hummmmmm, wir finden zu uns selbst, hummmmmmm, hummmmmm ... (so
stelle ich mir jetzt die wahren Tanjian vor ;^) ).


              *** ARK * the * Magnificent ***


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



Re: Re: An Alle (an einige mehr, an andere weniger) (Elendil,  3. Feb 2001, 16:20:08):
~#! rn=Ark rt=981209887 rg=gilden.tanjian
~#! tid=981208144
Hi zusammen,

ich denke die Tanjian sind nicht in einer bestimmten Sache zu gut.
Die Tanjian haben nur keine Schwaeche :)
Kaempfer koennen keinen (nur unter Umstand) magischen Schaden verursachen.
Zauberer haben Schwierigkeiten mit Mischschaden und koennen keinen
(nur unter Umstaenden) mech. Schaden verursachen.
Tanjian koennen waffenlos angreifen, koennen ihren Schutz oder
ihren Angriff verstaerken (Tegatana oder Omamori) zus, zu anderen
Spells und Skills, koennen mit kami auch bedeutenden magischen Schaden
in mehr Schadensarten als die Zauberer verursachen.
Mir persoehnlich fehlt eben eine Schwaeche, der ANgriff oder die Abwehr
ansich sind nicht zu stark. Es gibt genuegend stellen an denen
ein Kaempfer oder Zauberer staerker sind als ein Tanjian aber der Tanjian
hat keine Stelle an der er versagt wie Zauberer oder Kaempfer.

Abwertungen verschlechtern immer die momentane Stimmung, keine Frage.
Aber das abstimmen bis ins Detail ist im Vorfeld nicht moeglich und es
gibt kaum (wenn ueberhaupt) eine Gilde die nicht nachtraeglich
modifiziert wurde.

Vielleicht kann man die Werte aehnlich der bisherigen lassen und eine
kleine weitere Spezialisierung einfuehren oder die Clanwahl
als Multiplikator auf die Spells wirken lassen ?

CU, Elendil

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



heul (Jakscha,  3. Feb 2001, 18:48:07):
nun denn, wo die abwertung endlich ins haus steht (habe sie ja schon immer
erwartet):
vorweg ja ich habe mich mit den tanjian auseinandergesetzt
und ja ich habe auch ahnung von chaoten und zaubis und trves (bedingt)
ich will auch gar nicht gross jammern und heulen, da ich momentan zu wenig
spiele um die aenderungen naeher unter die lupe zu nehmen.
nur um eines moechte ich bitten: bevor ihr aendert denkt drueber nach was ihr
macht und nicht erst aendern ohne konsequenzen zu bedenken (wie aus meiner
sicht oft bei den zaubis geschehen)
wenn ihr aendert, benutzt die fakten (zahlen) der spells und angriffsarten,
und legt keinen wert auf subjektive eindruecke von leuten die tanjians beim
kaempfen zusehen oder selber kaempfen. nur der code dahinter wird euch
verraten wie stark/schwach wir wirklich sind.
wenn ihr aendert, bedenkt bitte, dass tanjians als gilde sehr zufallsabhaengig
sind. ich weiss selber dass wir sehr stark sind, wenn alle spells gut gelingen
und man die entsprechende ausruestung hat (staerker als trves?? ich glaube
nicht), allerdings gebe ich zu bedenken, dass
meditation+kokoro+tegatana/omamori+... viele zufallsfaktoren sind  und selten
alle wirklich gut gelingen (wahrscheinlichkeitsrechnung kann wohl jeder hier n
bissl)
wenn ihr aendert, gebe ich zu bedenken, dass die oben genannten
wahrscheinlichkeiten momentan noch nicht beeinflusst werden durch faktoren wie
amulette..... die zB dafuer sorgen koennten dass kokoro immer gut gelingt.
sorgt lieber dafuer (hallo balanceteam) dass es sowas nicht gibt bzw. nur
schwer zu h olen/in eingeschraenktem masse
bedenkt bitte (und das meine ich ernst) dass max tanjian zu werden um einiges
schwieriger ist als max zaubi zu werden (ja ich kann das beurteilen)

so mehr kann/will ich aufgrund meiner momentan haeufigen abwesenheit nicht
dazu sagen. nur noch einmal betonen, dass ich es traurig finden wuerde wenn
hier "abwertungsschnellschuesse" abgeschossen wuerden (was ja schon oft genug
im mg passiert ist) nur weil gewisse leute jammern--liebe magier macht eure
arbeit gewissenhaft und ueberlegt.

danke Jakscha (erster der tanjianerzies)

ps wegen diesem rumgejammer, was im mg ja eigentlich zum running gag geworden
ist, nein ich jammere hiermit nicht und eigentlich (wenn ich mir diesen thread
mal genauer anschaue) hat kein tanjian hier wirklich gejammert. es wird uns
nur unterstellt. immerhin ist es von ganz oben (huhu papapara) von anfang an
verboten worden zu jammern und diejenigen die sich mit der gilde verbunden
fuehlen (wie ich) und nicht unbedint ihren 2tie hier haben weil die gilde
stark ist, werden sich (so hoffe ich doch) sich auch daran halten.

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



Re: An Alle (an einige mehr, an andere weniger) (Agony,  3. Feb 2001, 18:48:21):
~#! rn=Jasmin rt=981208144 rg=gilden.tanjian
~#! tid=981208144
ein superartikel...solltest zeuge jehove werden.
o-ton: wenn ihr es mir/uns nicht recht macht, dann geht die welt unter,
       und ihr kommt nicht in unser privates himmels-derivat :)
lies dir noch mal aeltere artikel zum thema durch, zb apo*,
lieber jetzt abwerten und nicht den daraus resultierenden aerger am hals
haben wie die zauberer jetzt, dass eben viele magier auf eigene faust
was unternommen haben, als spaeter doch den aerger haben und trotzdem
abgewertet zu werden ;)

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



Re^3: An Alle (an einige mehr, an andere weniger) (Gor,  3. Feb 2001, 19:30:10):
~#! rn=Elendil rt=981213608 rg=gilden.tanjian
~#! tid=981208144
Du sprichst mir aus der Seele, Suesser. Danke Elendil!

Nein, dieser Artikel ist weder sarkastisch noch ironisch.

Gor

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



Re: heul (Golas,  3. Feb 2001, 19:43:52):
~#! rn=Jakscha rt=981222487 rg=gilden.tanjian
~#! tid=981222487
gestern von nem tanjian erstie gehoert:
nen tanjian auf max ist in 2 monaten mit viel ueben machbar ...

noch fragen?
spiel mal nen kaempfer in zwei monaten soweit du kommst ...

golas kopfschuetelnd

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



Re: An Alle (an einige mehr, an andere weniger) (Apollonia,  3. Feb 2001, 20:26:24):
~#! rn=Jasmin rt=981208144 rg=gilden.tanjian
~#! tid=981208144
Du fragst Dich also, was der eigentliche Sinn des Spiels ist??? Schon mal was
von Interaktion gehoert? Und fuer meine Begriffe schliesst das ein, dass man
_nicht_ jedes Monster alleine killen kann, weil man ein Allrounder ist. Es
geht hier um eine gewissen Ausgeglichenheit unter den Gilden, nicht darum, ob
nun die eine Gilde staerker ist als die andere. Ausserdem ist Gildenfeeling
wohl nicht von Abwertungen abhaengig und wenn doch, dann bist Du hier so oder
so falsch.
Ich persoenlich hab selbst nen Tanjian-2tie und finde, dass Paracelsus gute
Arbeit geleistet hat. Nur weil jetzt Abwertungen erfolgen, ist die Gilde
deshalb in meinen Augen nicht weniger attraktiv. Abgesehen davon ist bisher
wohl schon jede Gilde abgewertet worden, Geschrei gab's da immer, aber wer
sich mit der Gilde identifiziert, wird wohl nicht aufgrund einer Abwertung
austreten.
Apo* (definitiv fuer eine Spezialisierung der Gilden im MG und pro
Interaktion)

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



Re: Re: An Alle (an einige mehr, an andere weniger) (Jasmin,  3. Feb 2001, 21:35:09):
~#! rn=Apollonia rt=981228384 rg=gilden.tanjian
~#! tid=981208144
Also zunaechst einmal will ich anmerken, dass du total an der Aussage meines
Artikels vorbeiredest.
Falls es dir nicht aufgefallen sein sollte meinte ich mit 'Sinn des Spiels'
nicht die Staerke der Gilden usw. sondern die Stimmung im MG und wie das ganz
ablaeuft !!
Es war von meiner Seite aus nie die Rede von einer Gilde die alles kann und
ohne die es keinen Spass mehr machen wuerde.
In meinem Artikel sollte zum Ausdruck kommen, dass ich an einer Abwertung der
Tanjian in gewisser Hinsicht nichts einzuwenden habe.
Was ich allerdings bedauerlich finde sind die z.T. mehr als unueberlegten
Aussagen von diversen Spielern...und DARUM ging es mir hauptsaechlich in
meinem Artikel.
Desweiteren war von GILDEN-feeling nie die rede...sondern 1. um die allgemeine
Stimmung und 2. um die Freude des einzelnen an der Gilde (besonders auch von
kleineren) die eben durch die oben genannten Gruende meiner Meinung nach
kaputtgemacht wird.

Vielleicht haltet ihr mich ja jetzt alle fuer total hysterisch und daneben,
aber ich denke, dass ich als Tanjian selbst die Situation ganz gut
einschaetzen und beurteilen kann.
Auf jeden Fall hoffe ich, dass sich alles zum Guten wendet und moeglichst alle
Beteiligten zufrieden sind. (Falls das ueberhaupt noch moeglich ist)

MfG Jasmin

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



Re^3: An Alle (an einige mehr, an andere weniger) (Anatol,  3. Feb 2001, 22:08:36):
~#! rn=Jasmin rt=981232509 rg=gilden.tanjian
~#! tid=981208144
[Nachfolgender Artikel hat Flame-Charakter, ~q ist ein gutgemeinter Rat.]


Oh. Apollonia redet an Deinem Artikel vorbei. Waere es Dir lieber, sie
wuerde es nicht tun? Was koennte sie auf Deine (An-)Klagen bezueglich
den paar "Neidhammeln" und dem Deiner Meinung nach durch sie ausbrechenden 
Chaos sagen? Was koennte sie zu dem sogenannten "unmoeglichen Benehmen"
jener Leute (Du meinst doch die selben, oder?) schreiben?  Und bleibt
zu Deinem Kommentar (sinngemaess:) "Sollen sich die Magier um die 
Gildenbalance kuemmern und die Spieler sich komplett 'raushalten!"
sagen?

Du hast recht, Apollonia kann nicht angemessen antworten, denn Deine
Aussagen sind an Weitsicht kaum zu unterbieten, fuerchte ich. Bitte,
Du moechtest, dass es des Magiers Aufgabe ist, sich um die Gilden-
ausgeglichenheit zu kuemmern. Dass die Spieler die Klappe halten. Du
beauftragst ausgerechnet diejenigen, die die wenigste Spielerfahrung
haben, mit der schweren Aufgabe, in einem dynamischen System etwas im
Gleichgewicht zu behalten, was nur mit Spielerfahrung moeglich ist - 
Nachtwind ist zwar Erzmagier fuer Gildenbalance und konnte, wenn man
den Testies Glauben schenken darf, schon viel zurecht ruecken, aber
er hat nur EINEN Testie und ist bezueglich wirklichem Ausreizens eines
Charakters nicht mehr der Fitteste (sorry, Nachtwind ;)). Er hat getan, 
was er als Magier konnte, nachgeregelt werden musste bisher IMMER und
ebenso IMMER in groesserem Umfang. Sei es denn "schutzhuelle", sei es 
"finte" oder sei es "heiligenschein". Warum? Weil erst die wirklichen
Spieler waehrend des Spiels merken, wenn etwas nicht passt - weil es
'zu gut' oder 'zu schlecht' ist. Faehige Spieler/Seher bemerken in der
Tat beides - und unterstuetzen ihren Gildenmagier bei der Korrektur.
Und mehr noch, Du verbietest den Leuten, die *WIRKLICH* Ahnung haben,
die Zeit und Gruebelei ohne Ende in das MorgenGrauen investiert haben
(und sich nicht einfach nur von anderen Leuten haben mitschleifen
lassen) den Mund. Die haben ja alle keine Ahnung, nicht wahr? Sie 
sind ja Kaempfer, ihr Tanjian ist - wie ihr Zauberer Stufe >70 - nur
ein dummer Zweitie, richtig? Und Zweities haben doch ueberhaupt keine
Ahnung... Es sind DIESE Leute, in deren Verantwortung (sic) es liegt,
dass eben jene Magier den fuer sie notwendigen Einblick bekommen -
wenn Spieler und Magier nicht zur Kooperation faehig sind, geht ein 
Mud dieser Groesse einfach den Bach 'runter - und nicht Leute, die 
weder Kaempfer noch Zauberer aus eigener Erfahrung kennen und sich zu 
sagen trauen: "...ich denke, dass ich als Tanjian selbst die Situation 
ganz gut einschaetzen und beurteilen kann.".

Stattdessen versorgen "Top-Tanjian" ihren Gildenmagier mit der Info,
dass ja eigentlich nicht abgwertet werden muesste. Es ist ja voellig 
normal, dass nach Reboot der erste Kommandofuehrer/Kristalldrachen/
Balrog/Weghier/Schwertmeister/... unter den Schlaegen eines Tanjian
faellt (endlich weiss ich, was "Running gag" bedeutet...). Es ist 
voellig normal, dass ein Tanjian, der noch nichtmal alle seine Faehig-
keiten ausgereizt hat, mit dem Kram eines Gardewaechters zum Eis-
titan reinschlappt und erst wieder rauskommt, wenn der Eistitan tot
ist (ich hoffe noch immer, dass mein Tanjian da einfach nur gut ge-
wuerfelt hat. Aber Hoffnung... ihr wisst ja, wie das mit Hoffnung so
ist). Dieselben Top-Tanjian wundern sich, wieso ihre Gilde in Verruf
geraet. Es ist nicht der Umstand, dass sie nachgeregelt werden muss,
denn das ist normal. Es ist der Umstand, dass einige Tanjian das ganz 
anders sehen und zu jammern anfangen. 
Dein jetzt nachgeschobenes "in gewisser Weise nichts einzuwenden" 
macht das schon irgendwie deutlich.

Solltest Du wegen dieses Knatsches die Wege des Tau-Tau verlassen, so
sei Dir gesagt: Du warst ihrer dann auch nicht wuerdig.

Anatol


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



Bleibt mal bzw. kommt auf den Boden zurueck (Pertinaxe,  3. Feb 2001, 22:10:47):
Zu dem Artikel von Golas: Max-Tanjian in 2 Monaten.
Theoretisch moeglich, praktisch nur, wenn der Spieler eine grosse Menge
MG-Erfahrung hat.
Das trifft ja nun auch fuer das Gros der hohen Tanjian zu.
Alle -mit einer Ausnahme- hohen Tanjianspieler haben in einer oder mehreren
Gilden hochrangige Charaktere. Die Forderungen der Tanjian sind da nicht
niedrig, zu Gilden-Level 9 wird Spieler-Level 40 gefordert, zu G-Lv 10 Sp-Lv
50.
Das sind Forderungen, die ein normaler Spieler, der von 0 anfaengt, unmoeglich
in 2 Monaten bewaeltigen kann.
Dass es die derzeitig hohen Tanjian in so kurzer Zeit so weit gebracht haben,
hat also seine guten Gruende.
Trotzdem ist es Riesenstueck-Arbeit, ich denke nur daran, dass Grellgen
monatelang  wie eine angeschossene Wildsau durchs MG geduest und geuebt hat.
Der Zeitaufwand war sicher ungeheuer, allerdings auch das know-how.
Dass dies fuer "normale Spieler" micht erreichbar ist liegt auf der Hand.
Problematisch ist, dass die newbies haeufig die Illusion haben, bei Ihnen
muesste es genau so gehen.
Dass dies nicht funktioniert, zeigt der inzwischen eingetretene
"Befoerderungsstau" bei den Tanjian.
Vulgo: des packt halt ned jeder.
Es ist ein alter Hut, dass es nicht mit rechten Dingen zugeht, wenn jemand in
der kurzen Zeit von einigen Monaten einen level ueber 50 erreicht.
So was ist nur moeglich als Zweitie, oder aber mit massivem sponsoring -wie
auch immer man das interpretiert.
Wartet mal ab, wie schwer sich die nicht Gross- und Erzmeister, die noch
rumueben und questen, sich tun werden. Die Luft wird da oben ganz duenn.
Der Suppenkasper Maggi, mein Tanjian, ist mein fuenfter Seher, da ist das
Questen natuerlich kein Problem, aber level 9 war ein Kraftakt
sondersgleichen.
Ich bin mal gespannt, wie die Top-Riege der Tanjian in einem halben Jahr
aussieht, Eine Massengilde wird das mit den Anforderungen bestimmt ned werden,
zudem sind bis Level 9 die Metzelfaehigkeiten zwar gut, aber bestimmt ned
exorbitant.
Es werden einige auf der Strecke bleiben. Facit: Bei den Spielern, die
innerhalb von wenigen Monaten vom Faehrtensucher zum Erzmeister avancieren,
hat das sicher andere Gruende als die Staerke der Tanjian.
Alleine die geforderten Quests kosten ohne sponsoring bestimmt schon 4 Wochen,
freundlich gerechnet, in denen Tanjian nicht uebt, sondern questet.
Perti* mit dem Todesteam Flecktyphus, Schnee, Drareg und Maggi.

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



An alle (Jasmin,  3. Feb 2001, 22:25:54):
Ich seh schon...es versteht mich sowieso keine/r.
Wollte ja auch eigentlich nur meine Sicht der Dinge darlegen
Ab jetzt halt ich mich da einfach raus, ich hab ja anscheinend sowieso keine
Ahnung.

MfG die unfaehige Jasmin

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



Re: Bleibt mal bzw. kommt auf den Boden zurueck (Nonne,  3. Feb 2001, 22:27:02):
~#! rn=Pertinaxe rt=981234647 rg=gilden.tanjian
~#! tid=981234647
Mmm, wenn das alles so verdammt schwierig und Zeitaufwaendig ist, dann erklaer
mal, wie das ein Erstie schafft:

Rasse: Hobbit,  Gilde: Tanjian,  Geschlecht: weiblich
Alter: 46d 15:21:02,   Spielerlevel: 72 (Seherin),   Gildenlevel: 10
Datum des ersten Login: Don,  6. Jul 2000, 12:13:21
E-Mail-Adresse: none
Bisher bereits 13 mal gestorben  

Fragen ueber Fragen
Nonne.

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



Finger mich mal. (Pertinaxe,  3. Feb 2001, 22:32:20):
Viel mehr kann ich dazu ned sagen. Ne totale Pfeife bin ich ned, der
Ueberflieger auch ned, aber ich behaupte einfach mal, das meine Karriere -also
Pertis- recht repraesentativ ist.
Ich weiss es ehrlich ned, wie das geht. Viel mehr kann ich dazu ned sagen. Ne
totale Pfeife bin ich ned, der Ueberflieger auch ned, aber ich behaupte
einfach mal, das meine Karriere -also Pertis- recht repraesentativ ist.
Was ich vergessen habe, aber das andere schon geschrieben: Es stinkt einigen,
dass sich ne andere Gilde in ihre Domaenen einmischt.

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



Re^4: An Alle (an einige mehr, an andere weniger) (Elendil,  3. Feb 2001, 22:32:54):
~#! rn=Anatol rt=981234516 rg=gilden.tanjian
~#! tid=981208144
Hi zusammen,

ich muss Anatol Recht geben, Gildenbalance ist eine Kooperationssache von
Magiern und Spielern. Das wird wohl niemand bestreiten :)

Schlechte Laune durch Abwertung sollte nicht aufkommen, wer sich
dadurch runterziehen laesst ist selber schuld :)

Jeder hat jetzt sicher 4 Geschichten, die die Staerke einer Gilde
beweisen. Nunja, Fakt ist, Allgemeinheit denkt, dass die Tanjian zu
stark bzw. besser zu flexibel sind. Das kann man sich gut an einen
Rechteck vorstllen :) zumindestens mach ich das so. Hoehe ist die
Effizienz in einem Bereich und Breite die Flexibilitaet (Variation
von Abwehr/Angriff, mech./magischer Schaden, Features, usw.)
Da schneiden die Tanjian mit einem sehr breiten und ziemlich hoher Rechteck
in meiner Vorstellung recht gut ab.

Die Chaoten sind in der SPitze einfach nirgendwo so gut und alle
weiteren Gilde nicht so flexibel -> also nochma, es muss eine
Schwaeche her oder eben die SPitze gekappt werden. Interessanter
wird das MG allerdings wenn die Breite verringert wird.

Ich darf darauf hinweisen, dass ein Grossteil der Tanjian noch
ohne "kami" rumlaeuft und gerade dieser Spruch besitzt eine
betraechtliche Durchschlagskraft (Verletze kann sich da verstecken,
und vorallem jede Schadensart ausser Heilig und Boese (soweit ich weiss)
Diese Spell sollten alle mit in Gedanken haben. Dass den erst 3 Spieler (oder
sind inzwischen mehr) haben spielt da keine Rolle, in 3 Monaten sind mehr :)
Ganz sicher :)

Also Zu Schadensarten und Abwehr/Angriff Variation kommen Clanspells,
Handspell, Flaechenangriff, und Schnell

Ich denke eine Spezialisierung loesst das Problem. Jeder Clan
sein Spezialgebiet bzw, Multiplikatoren und die Gilde ansich muss nicht
umgeschrieben oder an den Spells was geaendert werden.

Cu, Elendil

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



Re^3: An Alle (an einige mehr, an andere weniger) (Darkwing,  3. Feb 2001, 22:59:30):
~#! rn=Jasmin rt=981232509 rg=gilden.tanjian
~#! tid=981208144
"aber ich denke, dass ich als Tanjian selbst die Situation ganz gut
einschaetzen und beurteilen kann."

Muaaahhaaah. 
Vorhin noch hast Du geschrieben, dass Du ausser den Tanjian nicht eine Gilde
kennst.
Klar, fuer Dich ist es ganz normal, den Weghier allein, nackt und mit
Glitzerschwert zu machen - anderen Leuten bleibt da der Mund offen stehn und
geht so schnell nicht mehr zu.

Das ist weit jenseits dem, was man in jeder anderen Gilde erreichen kann wenn
man sich dreimal auf den Kopf gestellt hat und das letzte aus der Ausruestung
rausholt :-) 

Nunja, nun darfst Du mir das naechste "Neidhammel" an den Kopf schmeissen :-)

Darkwing

*ironie off, ein wenig jedenfalls*

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



Re^3: An Alle (an einige mehr, an andere weniger) (Heromcfly,  3. Feb 2001, 23:05:22):
~#! rn=Jasmin rt=981232509 rg=gilden.tanjian
~#! tid=981208144

ich find irgendwie bist du voll daneben und total hysterisch ...

sorry couldn't resist :)
-->schmarrn


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



tanjian in 2 monaten (Jakscha,  4. Feb 2001, 01:27:58):
also liebe nonne :)
dieser lvl 72 gildenlvl 10 tanjian *raeusper*
zum einen ist es von lvl 10 zu lvl 11 noch ein riesiger schritt, uebetechnisch
und so
zum anderen, du willst so jemanden doch nicht als standard nehmen oder? also
lvl 72 in der zeit (und 13 mal sterben) bedeutet entweder, dass da ein 2tie
sitzt, jemand der mudverrueckt ist und ein sehr gutes "feeling" fuer das mg
entwickelt hat (und zwar schnell) oder gute helfer hatte. also aus meiner
sicht kein gutes vergleichsobjekt.
ob/wie die tanjian abgewertet werden, da halte ich mich raus da es eh nur
negativ und als gejammer aufgefasst wird hier im mg. ich bin gerne bereit
ueber alternativen, veraenderungen... mitzudiskutieren allerdings habe ich
schonmal erwaehnt, die wahren zahlen kennt man halt nur als magier.
und ich bitte zu bedenken, dass die momentanen erzmeister der tanjian von der
zeit die sie gebraucht haben und vom spieltechnischen kein sonderlich guter
vergleich sind. die ersties die dahinter stecken (dieder, elendil, puk...)
besitzen alle _sehr_ viel mg erfahrung und kennen fast alle oder alle questen
auswendig und koennen auch die gildenquesten vergleichsweise schnell loesen,
da sie das mg nunmal kennen. denn alleine um die ausruestung fuer heffen zu
bekommen (wenn man selber sucht und metzelt)..., da toete ich lieber ein paar
mal im team den drachengott.
ich messe die zauberer ja auch nicht an elendil/spellfire/strohalm..... oder
die trves and sky und darki alleine.

und zu max tanjian in 2 monaten *raeusper* die leute die lvl 11 tanjian in 2
monaten werden, werden auch lvl 23 trves in 2 monaten, das ist eins wo ich mir
sicher bin! 

best greetings und nehmt euch zeit/ueberdenkt und plant die aenderungen
best greetings und nehmt euch zeit/ueberdenkt und plant die aenderungen

jakscha/dotterbart/freolo/....

ps falls es irgendjemanden interessiert, es gibt tatsaechlich schon einige
wenige gegenstaende/items im mg die man als tanjian mit hohem lvl nicht nutzen
kann, da diese anscheinend die selben schnittstellen nutzen wie unser kokoro,
ja sie existieren :)
pps die idee die staerken/schwaechen der tanjian zu verstaerken, indem man die
clans als "multiplikator" fuer gewisse einschraenkungen nutzt finde ich
hervorragend, wenn man schon was aendern will, dann mit hintergrund und stil
:)

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



wie waere es (Jakscha,  4. Feb 2001, 01:32:46):
wie waere es mit einem team bestehend aus nachtwind, elendil, paracelsus,
darkwing und anatol die sich um die veraenderungen in der gilde kuemmern
wuerden. ich denke mit der oder einer aehnlichen konstelation sollten sich
leute finden lassen die das mg kennen, andere gilden kennen und somit auch
eine gute loesung fuer das momentane problem liefern koennten (die nicht nur
aus mehr mp fuer spells und abwerten der spitzen besteht). 
fuehlt euch also nominiert, um mal mit diesem bb gepraegten schwachsinnswort
anzukommen.

so long jakscha (der nominator)

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



Re: Re: Bleibt mal bzw. kommt auf den Boden zurueck (Noki,  4. Feb 2001, 03:05:11):
~#! rn=Nonne rt=981235622 rg=gilden.tanjian
~#! tid=981234647
*polemik an*
Antworten ueber Antworten:

1. unmarkierter Zweitie, vielleicht? (soll es ja geben...)
2.Geschlecht weiblich? (hab mir sagen lassen, dass sei von Vorteil...)

  ...dafuer spricht auch die Todesanzahl/Lvl-Korrelation (nicht wahr? Papi
hat wohl brav aufgepasst...)

Letztendlich kannst Du nicht allen Ernstes,  _DAS_ als Argument bringen. Oder
brauchen wir noch einen zusaetzlich KL- und Sponsoring- und Illegale-Zweities-
und _GOTTVERDAMMT SPILEN WIR UNS EINFACH MAL AUF_- Thread?????

Die Tanjian sind NICHT der schnelle Weg zu toller Kampfkraft. Klar, dass es
einem Top-Trevs so vorkommen muss, weiss er doch schon lange, wie es hier
abgeht. usw.usw.usw.
*polemik aus*

noki,
 ... geht Papacelsus loben, in die Ecke zum kotzen, und arbeitet wieder mehr
an seiner Ausgeglichenheit.

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



Re: tanjian in 2 monaten (Apollonia,  4. Feb 2001, 04:06:33):
~#! rn=Jakscha rt=981246478 rg=gilden.tanjian
~#! tid=981246478
Hallihallo,

da Du selbst keinen Kaempfer hast, wird Dir nicht bekannt sein, dass es fuer
jede hoehere Gildenstufe eine Befoerderungssperre gibt. Ausserdem ist es ohne
Uebescripte kaum moeglich, die Befoerderungskriterien zu erfuellen, von
Spieler-/Seher-Level, AP und Gildenquests mal ganz abgesehen. Zudem trennt vom
Generalsrang (23) immer noch der Hez-Kill und der Bericht. Du kanst mir also
gerne vormachen, wie man in 2 Monaten einen Zalkh'Batar hinbekommt, dann
gratulier ich Dir herzlich, nehm alles zurueck und behaupte das Gegenteil ;o)

Apo*
(uebrigens auch im Auftrag von Una, die heute nen schlechten Tag hatte und um
die Uhrzeit keine Artikel mehr hinkriegt ;o))

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



Re: Re: tanjian in 2 monaten (Agony,  4. Feb 2001, 04:13:29):
~#! rn=Apollonia rt=981255993 rg=gilden.tanjian
~#! tid=981246478
och menno...ich fande die waffenwechsel-kaempferscripts unter _diesem_
artikel ganz putzig :)

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



Re^3: An Alle (an einige mehr, an andere weniger) (Apollonia,  4. Feb 2001, 04:15:45):
~#! rn=Jasmin rt=981232509 rg=gilden.tanjian
~#! tid=981208144
Na, jetzt muss ich ja doch noch was dazu sagen. 

Es kann durchaus sein, dass der Ton der Kommentare alles andere als hoeflich
ist und Dich das zu Deinem Artikel bewegt hat, den ich allerdings - und diese
persoenliche Meinung musst Du mir zugestehen - fuer unqualifiziert halte.
Aussagen von Spielern, die ueber wesentlich mehr Spielerfahrung verfuegen
duerften als Du, als unueberlegt abzutun, ist im uebrigen eine Beleidigung
fuer diese. Hoechstwahrscheinlich werden diese Spieler sich schon so ihre
Gedanken ueber die Tanjians gemacht haben und nicht einfach drauflos
'gejammert' haben, um anderen Leuten den Spass zu verderben. 
Dass der Ton hier oft etwas rauh ist, ist etwas, an das man sich gewoehnen
muss, wenn man mudden will. Ob man das gut findet, ist eine ganz andere Sache.
Ich halte Dich im uebrigen nicht fuer hysterisch, wohl aber fuer etwas
empfindlich. Aber auch Du wirst Dir Deine Gedanken gemacht haben und hast
natuerlich das Recht, diese auch zu aeussern.
Was das 'ich denke, dass ich als Tanjian selbst die Situation ganz gut
einschaetzen und beurteilen kann' angeht... genau das ist doch das Problem...
Das koenntest Du wohl nur dann, wenn Dir auch andere Charaktere zum Vergleich
zur Verfuegung stuenden.
Die meisten Leute, die sich hier 'unueberlegt aeussern', haben mehrere Seher
in verschiedenen Gilden und sind zu einem Vergleich wohl eher in der Lage.
Zudem wollte ich noch loswerden, dass mein Artikel keineswegs dazu gedacht
war, Dich oder einen anderen Tanjian persoenlich anzugreifen. Wenn Du das so
verstehst, ist das aber nicht mein Problem.

Apo* (langsam wieder Uebung im Artikel schreiben kriegend, klappt jedenfalls
besser als bei ihrer Blutsschwester ;o))

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



Re^3: tanjian in 2 monaten (Apollonia,  4. Feb 2001, 04:18:39):
~#! rn=Agony rt=981256409 rg=gilden.tanjian
~#! tid=981246478
Allerdings konntest Du ein Wegescript von einem Uebescript nicht wirklich
unterscheiden, was? :o) Spricht fuer Deine Unschuld *grins*
-->schmarrn
Apo*

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



Re: Re: tanjian in 2 monaten (Humni,  4. Feb 2001, 06:05:29):
~#! rn=Apollonia rt=981255993 rg=gilden.tanjian
~#! tid=981246478
Hmm...wollte mich ja eigentlich nicht mehr dazu aeussern...

aber findest Du wirklich, dass die in der Gilde verankerte definitive Pause
zwischen Befoerderungen ein Masstab sein sollte?
Ich find die eher bescheuert. Fast so daemlich wie damals die Onlinezeit bei
den karaktekas.
Aber nun zum Thema: 1. Hoffe ich, die zweite Abwertung wird durchdacht (traue
ich den Verantwortlichen aber wirklich zu) und 2. ist das Problem doch
wirklich nicht ein zu billiger kaminari oder arashi sondern das Problem liegt
in kokoro und omamori begraben, oder bin ich jetzt total daneben?

CU Humni

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



Re: Re: Bleibt mal bzw. kommt auf den Boden zurueck (Arancia,  4. Feb 2001, 06:51:37):
~#! rn=Nonne rt=981235622 rg=gilden.tanjian
~#! tid=981234647

Ich behaupte jetzt einfach mal ganz frech, dass das durchaus schaffbar ist.
Ich denke wenn ich nicht so himmelschreiend faul waere - was eine
unumstoessliche Tatsache ist - und nicht so viel Zeit in meine Zweities
investiert haette, haette ich dieses Ziel auch ohne Probleme schaffen koennen.
Zumal man als weiblicher Char hier  nunmal ziemlich im Vorteil ist. Von den 63
Tagen Onlinezeit, die mein Charakter sein eigen nennt, habe ich naemlich nur
ca. 30 % wirklich in seine Entwicklung gesteckt.Der Rest sind Idle- und
Gespraechszeiten.

Ich denke, dass sich Jasmin mit ihrem (ich vermute ziemlich missverstandenem
Artikel) schon ganz alleine den Hunden zum Frass vorgeworfen hat. Warum gibst
Du den Hunden nun auch noch Ketchup dazu?

Die Apfelsine, ein wenig verwundert


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



Re^4: An Alle (an einige mehr, an andere weniger) (Solmyr,  4. Feb 2001, 07:35:45):
~#! rn=Heromcfly rt=981237922 rg=gilden.tanjian
~#! tid=981208144
Bitte bitte bitte bitte bitte bitte bitte bitte bitte bitte bitte
Bitte bitte bitte bitte bitte bitte bitte bitte bitte bitte bitte
Bitte bitte bitte bitte bitte bitte bitte bitte bitte bitte bitte
ladet mich zu Eurer Hochzeit ein, HeroMcFly und Darkwing :=)

Solmyr, ->Schmarrn?Gejammer?Muell?

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



Re^3: tanjian in 2 monaten (Solmyr,  4. Feb 2001, 07:47:05):
~#! rn=Humni rt=981263129 rg=gilden.tanjian
~#! tid=981246478
Das die Karatekas zum Aufsteigen eine gewisse OnlineZeit haben
muessen/mussten (?), find ich ehrlich gesagt auch ziemlich komisch.
Ich mein, da sehe selbst ich keinen grossen Sinn hinter. Aber, das
die Befoerderungssperre nicht sinnvoll ist, da kann ich Dir einfach
nicht beipflichten.

Die KaempferGilde ist wohl die Gilde mit der besten Atmosphaere und
auch die umfangreichste. Zur Atmosphaere tragen z.Bsp. nicht nur das
Struv und die Skills, sondern auch die Pflicht, niedere Raenge aus-
zubilden. Ich glaube kaum, dass man das in einer anderen Gilde er-
fuellen muss.
Daraus ergeben sich fuer Kaempfer halt 4 verschiedene Gruppen von
Anforderungen fuer den Aufstieg. Zum einen muss man gewisse Gilden-
quests absolvieren, Niedere Trves ausbilden und sich selbst ausbilden
lassen, die verschiedenen Skills ueben und da gibt es nun ab den
hoeheren Levels diese Befoerderungssperre.

Also Arbeit=Lohn und Erfolg. Hohe Kaempfer hauen sicherlich gut zu,
aber die Arbeit, die da drin steckt ist auch wirklich immens. Bis
zum Level 23 werden einem massig Leich...Steine in den Weg gelegt.

Solmyr, ->hoffentlich nicht Gejammer
und das war keine Werbung :).

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



Re^4: tanjian in 2 monaten (Dieder,  4. Feb 2001, 11:36:17):
~#! rn=Solmyr rt=981269225 rg=gilden.tanjian
~#! tid=981246478
Einspruch!

Die Gilde mit der besten Atmosphaere ist eindeutig die Chaosgilde!

So, das musste mal gesagt sein :-)

Dieder, Chaot aus Ueberzeugung >:)

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



Re: Re: heul (Gor,  4. Feb 2001, 12:13:07):
~#! rn=Golas rt=981225832 rg=gilden.tanjian
~#! tid=981222487
Och, wenn die Zeitsperre bei der Befoerderung nicht waere, dann packste das
sogar noch schneller. Dazu gibts sogar enige Beispiele :)

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



Re: Re: Bleibt mal bzw. kommt auf den Boden zurueck (Gor,  4. Feb 2001, 12:15:17):
~#! rn=Nonne rt=981235622 rg=gilden.tanjian
~#! tid=981234647
Das mit mit der Gilde nicht das mindeste zu tiun. Das geht auf die Kappe
unserer Hormongesteuerter Vollzeitmudder.

Sorry Jasmin

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



Re^4: An Alle (an einige mehr, an andere weniger) (Gor,  4. Feb 2001, 12:17:36):
~#! rn=Darkwing rt=981237570 rg=gilden.tanjian
~#! tid=981208144
Ich zitiere: Ironie ist Luege, also luegst du? ;))

-> schmarrn

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



Re: Re: tanjian in 2 monaten (Gor,  4. Feb 2001, 12:20:30):
~#! rn=Apollonia rt=981255993 rg=gilden.tanjian
~#! tid=981246478
Sorry Appo,
Level 23 ist mho nur ein Prollo-Rang., den man nicht wirklich braucht.
Uebescripte??? was sollen die bewirken? Wenn man sich die entsprechenden Stats
zulegt, dann kann man das sehr einfach machen. Die Skills sind in Max 3 WOchen
fuer Level 22 fertig.


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



Re^3: tanjian in 2 monaten (Arancia,  4. Feb 2001, 12:22:00):
~#! rn=Gor rt=981285630 rg=gilden.tanjian
~#! tid=981246478
Nimm gefaelligst das eine p aus dem Namen meiner Frau ! :o)

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



hmm (Jakscha,  4. Feb 2001, 12:38:50):
so damit haetten wir jetzt ca 10 sinnlose flame mails, die sich damit
beschaffen, dass ich aber schneller lvl 23 bin als du und du nicht, aetsch.
ich mache hiermit offiziell den vorschlag, dass die leute die keine ahnung von
den tanjian haben bitte ruhig sind oder konstruktive vorschlaege bringen.
nicht nur was ist moeglich was nicht. ja ich gebe zu ich habe gesagt derjenige
der lvl 11 t in 2 monaten wird wird auch lvl 23 trves und ich stehe immernoch
dazu (hez, pffft, koestliche herausforderung). ich kann nur sagen ich war 3
monate nicht mehr im mg und neue t-g-lvl11 sind glaub nur kamui wenn ich mich
nicht irre und jemanden uebergehe. -- also meine bitte: lasst das dumme
geflame, wie man wohl schon merkt wird es aenderungen geben. jetzt macht
lieber vorschlaege welche aenderungen angemessen sind, um die gilde zu dem zu
machen was sie im mg-gefuege sein soll. leute die dies nicht koennen, bitte
ich freundlicherweise den mund zu halten. dazu gehoeren die neidhammel genau
wie die, ich hab von nem freund gehoert das... leutchen. und bevor noch flames
hierrauf kommen, ja ich werde mich heute hinsetzen und ueberlegen was sich tun
laesst. 

jakscha

ps wieso sind es wohl die tanjian die als erstes nach einem reboot alles
einsammeln? ganz einfach, weil sie "gegenstandsunabhaengiger" sind als die
trves und zaubis. damals als die zaubis noch keine kompos brauchten waren sie
auch schneller in den ersten metzelreien.
pps *flames on* 

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



korrektur (Jakscha,  4. Feb 2001, 12:43:17):
man koennte auch weniger kompos sagen statt keine.. 

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



Re^3: An Alle (an einige mehr, an andere weniger) (Wurzel,  4. Feb 2001, 12:46:25):
~#! rn=Jasmin rt=981232509 rg=gilden.tanjian
~#! tid=981208144
ist wahrscheinlich nicht moeglich. ein grossteil der leute hier ist aus
prinzip mit nichts zufrieden (ausser vielleicht sich selbst, aber auch
da bin ich mir bei manchen leuten nicht sicher).
diese leute neigen dann natuerlich dazu, sich selbst zu beteiligten zu
machen, indem sie ihre tiraden in der zeitung abladen. wozu das fuehrt,
weiss man ja zur genuege.

wurzel liest jetzt erstmal den thread fertig

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



Re: korrektur (Nonne,  4. Feb 2001, 12:52:14):
~#! rn=Jakscha rt=981286997 rg=gilden.tanjian
~#! tid=981286997
Mal ne andere Frage. Was hat denn der Aufwand, in einer Gilde hochzukommen,
mit der Staerke zu tun? Solange das zu skripen ist, lass ich das laufen und
log einen anderen Charakter ein. Nach zwei Monaten habe ich dann einen
Max-Spieler in der Gilde und gut ist. Ob das jetzt einen oder zwei Tage
laenger dauert, ist doch keinen Rechtfertigung fuer eine staerkere Gilden.
Paracelsus hat sich bemueht, das nicht so einfach skriptbar zu machen, was
aber fehlgeschlagen ist.
Hier geht es einzig und allein um die Ausgewogenheit im MG. Und ich moechte
nicht bei jeder Gilde die Ausgewogenheit meiner Gebiete ueberdenken muessen,
weil es eine neue Ueber-Gilde gibt, die das alles auf den Kopf stellt.
Elendils Vorschlag mit der Spezialisierung finde ich ueberigens nicht
schlecht. Entweder gute Abwehr oder guten Angriff und das jeweils andere
verschlechtern. Damit koennte ich leben (nach einer Testphase, ob das so
klappt)

Nonne.

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



Re^4: tanjian in 2 monaten (Agony,  4. Feb 2001, 12:56:12):
~#! rn=Apollonia rt=981256719 rg=gilden.tanjian
~#! tid=981246478
sofern ich mich erinnere, wurde da zeug weggesteckt, waffentrick gemacht,
zeug gezueckt, noch ein zwei sachen in der richtung, un dann folgte das
wegescript. unschuldig bin ich natuerlich trotz alledem ;)

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



Re^5: An Alle (an einige mehr, an andere weniger) (Wurzel,  4. Feb 2001, 12:58:50):
~#! rn=Elendil rt=981235974 rg=gilden.tanjian
~#! tid=981208144
versteh ich nicht.
warum um alles in der welt soll es nicht eine gilde geben, die allround-
faehigkeiten hat? die spezialisierungen haben wir ja schon zur genuege,
mit der forderung nach einer einschraenkung der allgemeintauglichkeit
sollen wohl nur mal wieder claims abgesteckt werden. ohne jetzt von
den tanjian ahnung zu haben, kenn ich zauberer und trves zur genuege.
und das was sie anrichten koennen, jeder auf seinem gebiet.
die abenteurer waren mal als allroundgilde gedacht, sind derzeit aber
nur totale luschen. wenn es jetzt einen erstz dafuer gibt, find ich
das okay.

wurzel liest jetzt trotzdem fertig

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



Re: hmm (Silvana,  4. Feb 2001, 13:00:12):
~#! rn=Jakscha rt=981286730 rg=gilden.tanjian
~#! tid=981286730
BITTE! Bleibt bei einem Titel! Wie soll man denn bei dem Durcheinander dieses
Gejammer ordnetlich ignorieren? Ist ja grausam!

Silvana (Schmeisst genervt mit ueberfluessigen Satzzeichen um sich.)

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



Re: Re: korrektur (Dieder,  4. Feb 2001, 13:01:54):
~#! rn=Nonne rt=981287534 rg=gilden.tanjian
~#! tid=981286997
wieso nennst Du das "fehlgeschlagen"?

Es ist zum einen kaum zu verhindern, dass gewisse Sachen geskriptet werden
koennen, es ist aber zum anderen erheblich schwerer, sich ein Metzelskript zu
schreiben, das einem 100 Mio EPs metzelt, die man ca. fuer den hoechsten Level
braucht (inkl. der fiesen Fehlschlaege, die ein Skript kaum abfangen koennte
*grins Paracelsus*), als ein Popelskript, das westlich der DSK steht und alle
paar Sekunden rein, warten, <hier uebeskill der wahl eintragen>, raus, tanken
macht.

Das mit der Ausgewogenheit find ich auch wichtig, drum fand ich auch Elendils
Artikel sehr brauchbar. Zu dem Vorschlag von Jakscha mit der Einfuehrung eines
Gremiums, das die Tanjian bewerten etc. soll, kann ich nur sagen, dass dies
meiner Meinung nach nur Spieler enthalten sollte, die auch einen Tanjian von
mind. Level 9 oder 10 haben. Es ist in dieser Gilde nicht nur einfach damit
getan, zu sehen, "was hinten rauskommt", sondern auch die dafuer noetige
Vorbereitung wie kokoro oder meditation (ab 3 Tanjians wird das richtig
nervig) etc. zu sehen.

2 Pfennig auf den Boden werf,
Dieder

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



Re^3: korrektur (Nonne,  4. Feb 2001, 13:04:11):
~#! rn=Dieder rt=981288114 rg=gilden.tanjian
~#! tid=981286997
Wie mir scheint, unterschaetzt Du die Moeglichkeiten von tf und ZMud masslos,
Dieder. Ein findiger Skripter hat mit den Tanjian nicht die geringsten
Probleme. Oder wo, denkst du, kommen die Tanjian Level 11 her? Per Hand
gespielt? Da kann ich nur lachen. 

Nonne.

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



Re^4: korrektur (Dieder,  4. Feb 2001, 13:06:03):
~#! rn=Nonne rt=981288251 rg=gilden.tanjian
~#! tid=981286997
Glaub es oder glaub es nicht - mein 11er Tanjian ist jedenfalls (bis auf einen
Skill, den ich auch stupide geskriptet hab) komplett von Hand hochgespielt.
Insbesondere bei Metzelskripten waere mir das viel zu heikel. Ich skript doch
nicht 10 Level hoch, um dann kurz vor Level 11 vor dem Kadi bzw. Muadib zu
landen und all die reingesteckte Arbeit mitsamt meines Savefiles verpuffen zu
sehn.

Dieder, hat auch TF und nutzt es ausgiebigst, aber nicht fuer alles.

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



Re^5: korrektur (Wurzel,  4. Feb 2001, 13:19:35):
~#! rn=Dieder rt=981288363 rg=gilden.tanjian
~#! tid=981286997
*seufz* endlich durch...
jetzt faellt mir nur noch was zum skripten ein, ein vorschlag der immer mal
wieder kommt, aber bisher wohl wegen der gravierenden konsequenzen immer
wieder abgelehnt wurde. ich moechte ihn trotzdem nochmal zur diskussion
stellen:
eine beschraenkung auf _ein_ kommando pro heartbeat.
sollte sich nicht allzu schwer realisieren lassen, beseitigt neben einem
teil des lags auch viele andere probleme. unter anderem, dass gildenskills
in kuerzester zeit hochgeskriptet werden. natuerlich kann man dann nicht
mehr in einem sekundenbruchteil vom polargebiet in die wueste rennen,
aber das ist ja auch vielleicht etwas arg unrealisitsch... als ausgleich
fuer die langsameren wegeskripte koennte man ja noch ein paar sehertore
zusaetzlich aufstellen.
diskussionen wie diese hier haetten dann wahrscheinlich auch eher
seltenheitswert :)

wurzel

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



nonne nonne nonne (Jakscha,  4. Feb 2001, 13:29:53):
so jetzt faengst du auch noch an sachen zu unterstellen! super toll, genial!
sehr konstruktiv!
- von den 5 lvl 11 tanjians die existieren, kann ich dir versichern dass
mindestens 3 keine skripte sind. mit den anderen 2 habe ich zu wenig zu tun um
das sagen zu koennen. n enn uns doof (oder mich) aber ich find
massenmetzeluebescripte doof. solche charaktere sind doch danach nichts wert,
weil man keinen bezug zu ihnen hat.
- deine argumente sind ja toll, zeig mir eine einzige gilde, die man, wenn man
zmud bzw tf gut kennt nicht total von 0 auf 100 skripten kann. bierschuettler,
chaoten, trves, zauberer, tanjian, abenteurer und katzenkrieger sind total
skriptbar wenn man es wirklich darauf anlegt. 
- ist eigentlich schonmal irgendwem aufgefallen, dass es sogar schon gebiete
gibt, in denen tanjian weniger schaden machen als normal? orkhausen zum
beispiel. hat da schonmal ein tanjian wirklich gejammert? nicht dass ich
wuesste.
- wedelt das "konstruktive kritik und ideen vor faehnchen" zum 3ten mal und
setzt sich wieder hin um seine ideen weiter auszufeilen und auf papier zu
bringen (erst denken)
- ich werde diese ueberigends nicht in der mpa posten, sondern direkt an
paracelsus schicken

jakscha

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



Re: nonne nonne nonne (Nonne,  4. Feb 2001, 13:35:15):
~#! rn=Jakscha rt=981289793 rg=gilden.tanjian
~#! tid=981289793
Aeh, hast Du meinen Artikel gelesen? Ich habe geschrieben, dass ich die
Diskussion, wie schnell man welche Gilde maxen kann, muessig finde, weil man
es skripten kann, und es auch geskriptet wird. Es geht einzig und allein um
die Ausgewogenheit. Ich weiss, dass man jede Gilde scripten kann. Vielleicht
sind einige komplizierter und erfordern mehr handarbeit. Aber darum geht es
nicht. Die Leute fingen an, die Staerke der Tanjian mit den Uebeaufwand zu
rechtfertigen und ich wollte nur sagen, dass das absolut kein Argument ist.
Sollte ich wem auf die Fuesse getreten sein, entschuldige ich mich dafuer.
Trotzdem muss die Gilde ins Gefuege des MG passen und das tut sie imho in der
Form von vor einer Woche nicht. Und wenn die Erhoehung der Kosten alles ist,
tut sie das immer noch nicht.

Alles verstanden? Danke.

Nonne.

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



Re: Re: nonne nonne nonne (Jakscha,  4. Feb 2001, 13:40:03):
~#! rn=Nonne rt=981290115 rg=gilden.tanjian
~#! tid=981289793
ich reagiere nur sehr alergisch wenn man mich einfach mal so mehr oder weniger
als vollskript bezeichnet. und dass was du in diesem artikel geschrieben hast,
hast du so vorher vielleich gemeint aber nicht gesagt. und in dem punkt das
uebeaufwand kein argument fuer staerke ist da gebe ich dir vollkommen recht.
bzw nur bedingt ein argument, denn auch eine gilde in der man in 1nem tag so
stark wird wie ein lvl 11 chaot gehoert verboten :-)

j*

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



Re: Re: nonne nonne nonne (Wurzel,  4. Feb 2001, 13:40:35):
~#! rn=Nonne rt=981290115 rg=gilden.tanjian
~#! tid=981289793
hm, vielleicht hab ich heute meinen schlechten tag.
jedenfalls hab ich noch nicht verstanden, warum diese spezielle gilde
nicht ins gefuege des mg passen sollte. bisher hab ich nichts bemerkt,
was diesen schluss zulassen wuerde, und die tanjian sind mir im
gegensatz zu zauberern und trves auch noch nicht negativ aufgefallen
(ausser vielleicht, dass jemand meine tastatur stunden und tage dafuer
mit beschlag belegt hat).
wuerdest du deine ansicht begruenden? nur eine frage, sonst nichts.

wurzel

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



Re: nonne nonne nonne (Daria,  4. Feb 2001, 13:41:23):
~#! rn=Jakscha rt=981289793 rg=gilden.tanjian
~#! tid=981289793
(Ich antworte einfach auf den letzten Artikel. Dieses "einen neuen Thread
anfangen obwohl es gar nicht noetig ist geht mir maechtig auf den Wecker -
siehe auch Silvanas Artikel)
Wenn ich mal zusammenfassen darf: Es gibt zwei Gruppen, die meinen sich
gegenseitig die Koeppe einschlagen zu muessen:

1. Tanjanikas, die jammern dass sie abgewertet werden und dass sie nie Skripte
benutzt haetten (oder kaum) und das das Hochkommen in der Gilde super
schwierig ist und dass es Monster gibt die sie NIE schaffen werden
(und dass Zaubis sowieso abgewertet gehoeren)

2. Nicht-Tanjanikas, die immer argwoehnisch werden wenn jemand ein Monster
schafft das sie noch nicht geschafft haben und deswegen bei allen anderen
GIlden (ausser der anderen) immer rumweinen dass sie abgewertet gehoeren 
und die eigene Gilde ist die
stimmungsvollste/beste/schoenste/bugfreiste/kommunikationsfoerdernste/dem
Himmel am naechsten stehenste sowieso und alle anderen sind so weit nur
gekommen weil sie skripten und Magier haben eh keine Ahnung was im MG so
abgeht

Ich hab bei beiden bestimmt noch ganz viel vergessen.

Aber sonst seid Ihr gesund, ja?

Daria verteilt Zwangsjacken.

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



Re^4: korrektur (Gor,  4. Feb 2001, 13:41:45):
~#! rn=Nonne rt=981288251 rg=gilden.tanjian
~#! tid=981286997
Was meinste wo eure Hoheprister herkommen? Da brauche ich mich nicht mal
anstrengen und kann bequem auf die funktion repeat in tf zurueckgreifen.
Tanjian ist schwierig zu scripten. Zumindest mittlerweile. Anfangs wars noch
einfacher, dass muss man zugeben. *Jakscha angrins* :)

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



Re: Re: nonne nonne nonne (Daria,  4. Feb 2001, 13:42:37):
~#! rn=Daria rt=981290483 rg=gilden.tanjian
~#! tid=981289793
Ich hab tatsaechlich was vergessen.

Bei beiden muss stehen:
Niemand versteht ihre Artikel.

*augenverdreh*

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



Re^3: nonne nonne nonne (Jakscha,  4. Feb 2001, 13:43:25):
~#! rn=Wurzel rt=981290435 rg=gilden.tanjian
~#! tid=981289793
die frage hat elendil schon ausreichend beantwortet, tanjian haben imho keine
schwaechen. wenn man dann noch geschickt ist und das mg kennt und von mir aus
zusaetzlich zum schutz der tanjian (der wirklich nicht schlecht ist, das gebe
ich offen zu) noch schutzgegenstaende des mg nutzt (zb die kombi
1handsms,knochen,schatten), dann rennt man als tanjian nunmal durch rochus
spinnental und idlet die phasenspinnen einfach so tot.
j*

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



Re^4: nonne nonne nonne (Matis,  4. Feb 2001, 13:48:19):
~#! rn=Jakscha rt=981290605 rg=gilden.tanjian
~#! tid=981289793
Das veranlasst mich doch glatt zu der Ueberlegung, Tropfen und Schatten mal
genauer unter die Lupe nehmen zu lassen ...

Matis

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



Re^5: nonne nonne nonne (Jakscha,  4. Feb 2001, 13:50:41):
~#! rn=Matis rt=981290899 rg=gilden.tanjian
~#! tid=981289793
*ok wer schlaegt mich jetzt zuerst?* :)

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



Re^4: nonne nonne nonne (Wurzel,  4. Feb 2001, 13:51:21):
~#! rn=Jakscha rt=981290605 rg=gilden.tanjian
~#! tid=981289793
ich weiss nicht welche frage elendil ausreichend beantwortet hat.
meine war es jedenfalls nicht.

wurzel

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



Re^4: tanjian in 2 monaten (Elendil,  4. Feb 2001, 14:34:22):
~#! rn=Solmyr rt=981269225 rg=gilden.tanjian
~#! tid=981246478
Hi :)
Also Lvl 23 Kaempfer mit Bericht und Ausbildung ist meiner Meinung nach in der
Zeit nicht drin :)
Gilde mit dem besten Feeling sind uebrigens die zauberer :) Ihr wisst alle nur
nicht wiesehr die zusammenhalten und zusammengeschwiesst worden sind durch
MPA-Diskussionen :) Zauberer sind alle lieb zueinander :)
Elendil :)

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



immer noch kein flame... (Karis,  5. Feb 2001, 00:29:59):
Interessant gewesen bis hierher.
Nein, nicht wirklich.

Liebe Magier, noch einmal ganz heftig die Bitte:
Entweder, ihr schreibt den Grund fuer Euer Handeln (wenn ihr es schon
so oeffentlich macht wie diese Abwertung) und dann auch die Folgen
Euerer Aenderungen.
Oder nicht.
Natuerlich seid Ihr nicht verpflichtet, irgendwas zu tun.
Nur - tut ihr etwas und sagt es nicht, dann wird es zwar sicher
'jemand' merken, aber dann hat sich halt eine der Grundlagen geaendert,
die dem Spieler verborgen bleiben sollen.
Tut ihr etwas und sagt es, gebt Ihr das Thema zum Abschuss (achja..
'Diskussion' haette das heissen sollen) frei. Und alle werden sich
damit beschaeftigen. Natuerlich _kann_ keiner etwas sinnvolles
beitragen, solgange keine Fakten klar sind. 
Also tut doch bitte und sagt nix, oder tut was und sagt, warum
wieso und mit welchen Folgen.
Entscheidet Euch entweder fuer Transparenz (mein Lieblingswort)
oder lasst Euer Tun im Dunkeln. Mir isses egal. Aber so, wie
ihr das im Moment handhabt, naemlich was zu tun und sich dann in
vagen Andeutungen ergehen, das klingt ein klein wenig nach
'Ich bin wichtig'. Und das hat kaum einer von Euch wirklich noetig.

Karis, der hofft, nicht noch der 27. Aenderungsdiskussion ohne
Sinn und Grundlage und Ziel ausgesetzt zu sein.

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



to article 29 (Turbo,  5. Feb 2001, 01:54:57):
~#! rn=Karis rt=981329399 rg=gilden.tanjian
~#! tid=981329399
Hallo Karis

>Interessant gewesen bis hierher.
>Nein, nicht wirklich.

Doch. Jedenfalls fuer mich, ganz egoistisch gesprochen.
Was passiert ist, ist trivial: Eine Gilde ist abgewertet
worden, Gildenmitglieder motzen.

Das ist die eine Seite, wo man geneigt ist, allgemein zu
troesten: Das gibt es ueberall und immer wieder, und wenn
es mal zuviel war (was es auch ueberall und immer wieder
gibt), wird das Pendel der Balance frueher oder spaeter
auch in die andere Richtung ausschlagen, bis dahin sollte
man die ungerechten Nachteile als Handicap sehen, durch
das man nur besser werden kann. Wenn man sich mit seiner
Gilde identifiziert, sollte das zum Trost reichen, wenn
nicht, hat man seine Gilde noch nicht gefunden.

Aber die Diskussion war fuer einen kleinen Felinen, der
noch einen weiten Weg zum Seher hat, ungeheuer lehrreich:
wie anders erfaehrt man ganz nebenher so viel ueber die
Gilden und ihre Vor- und Nachteile, ihre Fremd- und
Selbsteinschaetzung, sogar ihre Tricks und Kniffe, wenn
nicht in einer solchen Diskussion. Vom Unterhaltungswert
rede ich noch gar nicht ..

>Liebe Magier, noch einmal ganz heftig die Bitte:
[.. Transparenz und Fakten vs. Andeutungen und Spekulationen ..]

Gute Idee, im Grunde. Aber andererseits ist ein Brainstorming
der Spieler mit ein paar Andeutungen leichter zu initiieren
als mit ausgearbeiteten Vorschlaegen.

>Karis, der hofft, nicht noch der 27. Aenderungsdiskussion ohne
>Sinn und Grundlage und Ziel ausgesetzt zu sein.

Erst die 27. ? Ich dachte, MG gaebs schon laenger als 2 Jahre ..

Turbo (Kater)

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



Trallalla (Paracelsus,  5. Feb 2001, 11:12:29):
Hach nee, was steht hier nicht wieder fuer ein Schwachsinn in der MPA.

Darum moechte ich an dieser Stelle einfach nochmal etwas zu der ganzen
Diskussion sagen:

a) Die erste Abwertungsstufe bestand in einer (leichten) Erhoehung der
   Kosten fuer die Angriffssprueche. Fuer die betroffenen nicht unbedingt
   toll, aber es aendert letzten Endes wenig.
   Das Verhaeltnis Schaden/Konzentrationspunkte war vorher schon schlechter
   als bei den Zauberern - was ja auch OK ist, DIE sind schliesslich die
   Spellcaster.

b) Die zweite Abwertungsstufe wird in erster Linie die Defensive der
   Tanjian betreffen. Hier moechte ich zur Beruhigung von Jakscha und Co
   feststellen, dass Nachtwind und ich uns sehr genau ansehen werden,
   wie stark die Defensive _wirklich_ ist. Das dauert natuerlich seine
   Zeit, was wiederum der Grund ist, warum die Abwertung in zwei Stufen
   erfolgt.

c) Elendils Punkt, die Tanjian seien zu flexibel, ueberrascht mich dann
   doch etwas. Denn er kommt von einem Zauberer mit Gildenlevel 9, und
   der sollte eigentlich wissen, dass die Sprueche der Zauberer wesentlich
   flexibler sind (Waehlbare Staerkestufen bei Schutzzaubern wie bei
   Angrifffszaubern).
   Und Verletze ist nicht nur ebenso vielseitig wie kami, der dafuer
   notwendige Gildenlevel ist auch schneller zu erreichen.

d) Nonne sagt, die Tanjian haben keine Schwaechen. Es ist also keine
   Schwaeche, dass man neutral bleiben muss? Und gerade fuer die hoeheren
   Sprueche SEHR neutral, nicht nur "nicht satanisch/heilig". Was ist
   wohl einfacher, satanisch/heilig zu bleiben oder neutral zu bleiben?
   Und die Meditationen sind natuerlich auch nur ein Gimmick und keine
   Schwaeche. Dem werden die Kleriker, die ja auch dauernd beten muessen,
   sicherlich zustimmen (Welche Schwaeche haben die eigentlich? Beten,
   heilig bleiben und keine Klingenwafffen? Wer wuerde denn bei DEM
   Keulenskill ne Klingenwaffe benutzen wollen?).
   Man entschuldige meinen Sarkasmus.

So, nach diesem kleinen "Anheizer" duerft ihr jetzt weiterflamen.

Paracelsus.

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



Re: Trallalla (Nonne,  5. Feb 2001, 11:25:09):
~#! rn=Paracelsus rt=981367949 rg=gilden.tanjian
~#! tid=981367949
Ich antworte mal nur zu d:
- neutral bleiben ist kein Problem, wenn man sich ein bisschen auskennt im
Mud. Ist man zu boese, sucht man sich einen Kleriker, ist man zu gut geht man
zu... na ihr wisst schon wo.
- Die Meditation ist sicher eine Einschraenkung, die haben die Kleriker auch.
Aber schau dir mal Schaden/KP der Kleriker an. Und was machen Kleriker gehen
nicht-boese Monster? Wieviel bleibt dann vom Schutz? Kleriker haben keinen
guten/universalen Angriffsspell. Nur gegen Untote/Daemonen habe sie was. Die
machen also 80% des Schadens mit der Waffen. Und dann rechne doch mal den
Keulenskill der Kleriker durch. Der ist nicht so furchtbar gut und uebt sich
langsamer als die Waffenskills der Tanjian. Wenn Du alle Boni des keulenskills
nutzen willst, kannst Du genau eine Waffe im MG nutzen, und die ist Unique.
Erzaehl mir bitte nicht, Kleriker seien auch nur annaehernd so stark wie die
Tanjian, dann muss ich Dich leider auslachen. Die Spieler wissen schon, wieso
es so wenige aktive Kleriker gibt und so ein Run auf die Tanjian losging.
Spieler suchen sich die Gilden, mit den sie am haeufigsten Spielen meistens
nach der Kampfkraft aus, leider.

Nonne

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



Re: Trallalla (Thufhir,  5. Feb 2001, 11:29:09):
~#! rn=Paracelsus rt=981367949 rg=gilden.tanjian
~#! tid=981367949
> c) ... Waehlbare Staerkestufen bei Schutzzaubern...

ahja, offensichtlich kennst du die zauberer ausgezeichnet, ich habe sowas noch
nich gesehen, naja, bin dann offensichtlich unwuerdig...

moege das muh mit euch sein!
s'Zauberzwerch

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



Re: Re: Trallalla (Morgoth,  5. Feb 2001, 11:30:15):
~#! rn=Thufhir rt=981368949 rg=gilden.tanjian
~#! tid=981367949
Vielleicht ist das in einem seiner wunderbaren Zauberer-NPCs so...wer weiss. 

M*

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



Re: Trallalla (Matis,  5. Feb 2001, 11:41:29):
~#! rn=Paracelsus rt=981367949 rg=gilden.tanjian
~#! tid=981367949
Leider ist auch bei Dir, lieber Paracelsus, die allgemeine Magierkrankheit
ausgebrochen - Deine Meinung ueber die Spielablaeufe entfernt sich immer
weiter von den wirklichen Gegebenheiten. Zauberer und in der Staereke 
einstellbare Schutzsprueche? Kommt vielleicht mal in der neuen ZGilde.
Neutralitaet ein Problem? Nicht wirklich, hoechstens wenn man in einem
Gebiet "gefangen" ist. Meditieren starker Nachteil? Nachteil ja, aber
Kleriker beten auch oft und ausgiebig ...
Damit sage ich allerdings nichts zur aktuellen Anpassung der Tanjian - dem
eigentlichen Thema -, denn dazu fehlt mir wirklich der noetige tiefe Einblick.

Matis

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



Re: nonne nonne nonne (Golas,  5. Feb 2001, 12:03:41):
~#! rn=Jakscha rt=981289793 rg=gilden.tanjian
~#! tid=981289793
ich war mit dotz und jasmin in porkhausen und ich fand es nicht wirklich
lustig, dass jasmin immer erst rauskam, als dotz und ich vom tanken kamen ...

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



Re: Re: Trallalla (Paracelsus,  5. Feb 2001, 13:30:45):
~#! rn=Thufhir rt=981368949 rg=gilden.tanjian
~#! tid=981367949
Ich vergass ... Schattenkaempfer faellt ja gar nicht unter Schutzzauber,
weil, der schuetzt ja in keinster Weise.

Para*

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



dies und das (Jasmin,  5. Feb 2001, 13:39:57):
Diesmal wirklich ganz kurz, kanns mir doch nicht verkneifen.
1.Bin ich taub oder wieso krieg ich eigentlich kaum was vom 'Motzen' der
Tanjian ueber eine anstehende Abwertung mit?
Ich finde nicht, dass wir rumjammern, das wollte ich nur mal sagen. Und meinen
Standpunkt der Dinge kennt ihr ja (wenn nicht lest ein paar Artikel weiter
vorne nach !)
2.Danke Golas, dachte du waerst ein Freund, aber da hab ich mich wohl leider
getaeuscht.
Mir derart (persoenlich) in den Ruecken zu fallen und dann auch noch so
masslos uebertreiben haette ich dir echt nicht zugetraut !!
Alles weitere dazu gehoert nichtmehr in die MPA !
3.Wieso vergleichen ploetzlich alle die Tanjian mit den Klerikern?? Von der
Kampfkraft usw. war denk ich am Anfang nicht die Rede.
Genausogut kannst du die Kleriker mit den Kaempfern/Zauberern vergleichen, das
ist also Schwachsinn. Entschuldigt.

MfG Jasmin

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



Re: dies und das (Boing,  5. Feb 2001, 13:48:17):
~#! rn=Jasmin rt=981376797 rg=gilden.tanjian
~#! tid=981376797
Und wieder ein neues topic ... 'hilfe mpa' hilft Dir, das in Zukunft
besser zu machen ...
  Boing

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



Re: Trallalla (Jakscha,  5. Feb 2001, 16:40:57):
~#! rn=Paracelsus rt=981367949 rg=gilden.tanjian
~#! tid=981367949
dann wuerd ich doch erstmal sagen, dass ganze ist in guten haenden, abwarten,
teetrinken, fruehestens jammern wenn die aenderungen da sind, den neidern ihre
schadenfreude lassen ;)

jakscha (mit vollstem vertrauen in seinen drogenpapa und nachtwind)

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



Re: Re: Trallalla (Eniro,  5. Feb 2001, 17:47:54):
~#! rn=Nonne rt=981368709 rg=gilden.tanjian
~#! tid=981367949
*raeusper* 
seit langem mal wieder nen kurzer Kommentar von mir: Es gibt durchaus Spieler
die sich Gilden heraussuchen weil sie SPASS machen .. auch wenn sie nicht
unbedingt die allerstaerksten sind .....


Sharia

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



Re: Re: Trallalla (Gloinson,  5. Feb 2001, 18:14:16):
~#! rn=Matis rt=981369689 rg=gilden.tanjian
~#! tid=981367949
> Neutralitaet ein Problem? Nicht wirklich, hoechstens wenn man in einem
Hm. Ich stell mir gerade vor, ich bin in einem Kampfteam, dass sich mit
- irgendwas tief in der Feuerebene
- irgendwas tief in den Katakomben
befasst. Wie bleibe ich da eigentlich neutral? Ich mein, ohne dauerhafte
externe Hilfe?

Gloin(son)

PS: Sorry, ich vergass. Gildenmitglieder kaempfen einzeln und koennen sich
dementsprechend flexibler verhalten.

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



Re^3: Trallalla (Anatol,  5. Feb 2001, 18:14:58):
~#! rn=Gloinson rt=981393256 rg=gilden.tanjian
~#! tid=981367949
Die Neutralitaet der Tanjian ist m.E. definitiv kein Problem.

Anatol

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



Re^3: Trallalla (Matis,  5. Feb 2001, 18:18:35):
~#! rn=Gloinson rt=981393256 rg=gilden.tanjian
~#! tid=981367949
Erstens hast du den 2. Teil des Satzes natuerlich unterschlagen, und zweitens
verlaesst Du zB die Katas oefters, um zu tanken. Da kann man durchaus 'nen
kurzen Abstecher machen ...

Matis

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



Re^4: Trallalla (Agony,  5. Feb 2001, 18:25:21):
~#! rn=Matis rt=981393515 rg=gilden.tanjian
~#! tid=981367949
evtl. liegt das problem nicht bei den tanjian selbst, dass ihr
beabsichtigter grosse nachteil kein richtiger nachteil ist.
zwar hat man sehr viel gegen zu starke alignment-aenderungen unternommen,
aber wie das halt so ist, ein(e) tool/raum/gilde kann diese ganze
muehe zunichte machen.
und seihen wir mal ehrlich, alignment ist nicht weniger makulatur als
frueher auch, wobei ich natuerlich zugebe, dass es damals einfach noch
mehr moeglichkeiten gag, auf das alignment zu schei...aeh pfeifen ;)

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



Re^5: Trallalla (Agony,  5. Feb 2001, 18:35:57):
~#! rn=Agony rt=981393921 rg=gilden.tanjian
~#! tid=981367949
ach ja, und als weiterer vorschlag:
 evtl. sollte man diese zusaetzlichen moeglichkeiten der alignment-aenderung
fuer tanjian einfach grundsaetzlich streichen oder in stark abgewerteter
form eingehen lassen, wenn man es nicht fuer alle spieler aendern will.
aehnliche vorgehensweisen finden sich zuhauf fuer andere gilden,
man denke an zauberer und wurfsterne, oder wurzels schriftrollen,
man denke an andere gilden im zusammenhang mit schriftrollen,
diverse heilwurzeln und so weiter.

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



Re: Re: Trallalla (Gor,  5. Feb 2001, 19:49:56):
~#! rn=Nonne rt=981368709 rg=gilden.tanjian
~#! tid=981367949
Bloedsinn Nonne. Dein Artikel zeigt, dass du die eigene Gilde nicht kennst.

-> schmarrn

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



Re^3: nonne nonne nonne (Ark,  5. Feb 2001, 19:57:43):
~#! rn=Jakscha rt=981290403 rg=gilden.tanjian
~#! tid=981289793
Dass ich in diesem Thread auftauche, ist lediglich Mitleid mit denen, die ihn
ignorieren, und nicht mit einem neuen Thread zum alten Thema beglueckt werden
wollen :-)

Was mich interessiert, ist: warum existiert hier das Problem, die Faehigkeiten
eines Charakters mit seinem "Sein" gleichzusetzen, was wirklich nicht sinnvoll
ist? Die Faehigkeiten sind fuer Skripter/Zweitis/Erstis/Forscher/Metzler
gleich, sie werden nicht fuer die einen 110% betragen und fuer die anderen
90%. Das ist aber nur die eine Seite der Medaille. Aendert man aber an ihr
was, so aendert sich fuer alle was, Lurchis wie Superchefeliteexperten.
Insofern eine wunderbare Sache. Das andere, was einen Charakter ausmacht, ist
seine Kenntnis. So, und da trennt sich eben die Spreu vom Weizen ... aber auch
in jeder Gilde. Jemand mit Kenntnis wird mit aller WS in jeder Gilde besser
metzeln koennen als andere, Fakt. Schliesslich aber zurueck zum Anfang, zu
meiner Frage, warum wird dieses vielbemuehte "Identifizieren" mit seinem
Charakter haeufig nur auf Dinge eingegrenzt, die fuer alle sowieso gleich
sind? Haben zwei Mitglieder 100%, sind sie eben rechnerisch gleich, ob die
Gilde nun abgewertet wurde oder nicht. Einen Vergleich mit anderen Gilden
lasse ich nicht gelten, denn wir waren uns schonmal einig, dass wir keinen
Einheitsbrei wollten, sondern Gilden mit Staerken und Schwaechen. Also bleibt
die Frage, wie stark oder wie schwach sollte diese Gilde sein. Tja, und jetzt
koennt ihr mich gerne verhauen, aber wenn ich so eine Gilde programmiert habe,
dann will ICH ganz stark mitbestimmen, wie ich sie mir vorstelle. Wenn sie mir
kaputtverwaessert wird, wuerde ich ebenso den Bettel hinwerfen, wie wenn sie
zu stark hochgepuscht werden wuerde, von wem auch immer. Deshalb, warum lehnt
ihr euch nicht etwas zurueck, anstatt Zukunftsaengste zu haetscheln? Ein paar
diskrete Mails an Paracelsus haetten es auch tun koennen. Natuerlich ist eine
Diskussion in der MPA sinnvoll, nein, sie koennte sinnvoll sein. Erfahrungen
freilich zeigen, dass es immer in Geblubber ausartet, kann man sich also
schenken.
So, und jetzt bin ich still ;^)


              *** ARK * the * Magnificent ***


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



Re: Re: nonne nonne nonne (Arancia,  5. Feb 2001, 20:45:22):
~#! rn=Golas rt=981371021 rg=gilden.tanjian
~#! tid=981289793

Gentleman, der, Mann von Anstand, Lebensart und ehrenhaftem Charakter....


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



Re^3: nonne nonne nonne (Telenos,  5. Feb 2001, 21:35:49):
~#! rn=Arancia rt=981402322 rg=gilden.tanjian
~#! tid=981289793
Ratloser, der, Person, die etwas nicht versteht
Aufbauscher, der, Person, die aus einer Muecke einen Elefanten macht

toeroe!
Nein, nicht Benjamin Bluemchen, sondern Nevok

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



Re: Trallalla (Elendil,  6. Feb 2001, 12:25:36):
~#! rn=Paracelsus rt=981367949 rg=gilden.tanjian
~#! tid=981367949
Hi zusammen,

also ich ich betrachte als flexibel wenn die Tanjian mit Kami mehr
Schadensarten verursachen koennen als Zauberer, nebenbei noch mech. Waffe
nehmen koenne und darauf einen deftigen Skill haben, der wohl Abwehr und
Angriff erhoeht (wenn ich mich nicht taeusche) und dazu noch weitere
Schutzzauber und Omaori oder Tegatana.

Ein Zauberer hat seine Schadensarten bei Verletze, keine Frage aber die Wahl
der unterschiedlichen Schutzzaber ist eher ein Schwachpunkt der Zauberer,
weniger eine Staerke. Denn Schutzhulle faengt magischen Schaden sehr gut ab
und Schutz mech. Schaden. Stehen in einem Raum ein Spellcaster und ein
Karateka z.B. ist das fuer einen Zauberer eine ganz bittere Kobination, denn
entweder faengt er sich mech. oder magischen Schaden staerker.

CU Elendil


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



Re^3: Trallalla (Elendil,  6. Feb 2001, 12:34:22):
~#! rn=Gloinson rt=981393256 rg=gilden.tanjian
~#! tid=981367949
Hi,

soweit ich informiert bin haelt Dich das Meditieren auf "neutral". Ausserdem
gibts genuegend Moeglichkeiten das zu beeinflussen. Neutral sein hat aber wie
nachteil auch Vorteile, denn es gibt ziemlich gute Gegenstaende die darauf
ausgelegt sind, dass man neutral ist. Neutral zu bleiben haben die tanjian
noch am einfachsten, auch wenn es allgemein (s.o.) nicht aufwendig ist.

Elendil

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



Re^4: Trallalla (Anacrion,  6. Feb 2001, 19:08:02):
~#! rn=Elendil rt=981459262 rg=gilden.tanjian
~#! tid=981367949

Angeblich gibt es auch andere Gilden, bei denen der Charakter auf Neutral
(oder knapp daneben) sein muss, um alle Sprueche zu nutzen. Als Mitglied einer
der solchen denke ich, Neutralitaet ist durchaus machbar.

Anac*

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



Re^5: Trallalla (Ark,  6. Feb 2001, 21:37:51):
~#! rn=Anacrion rt=981482882 rg=gilden.tanjian
~#! tid=981367949
Hm, ihr koennt mich jetzt ja *virtuell* schlagen, aber waren nicht diverse
Tester ueber ein Jahr oder so unterwegs? Wurde schon sehr viel in dieser Zeit
korrigiert oder nicht? Wuerde mich mal interessieren. Wenn nicht, haette man
sich das aufwendige Testen fast schenken koennen. Dass es einen perfekten
Anschlusszeitpunkt nicht gibt, Verbesserungspotential aber immer, das is ja
klar. Ich ueberlege mal nur laut :-)


              *** ARK * the * Magnificent ***


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



Re^4: Trallalla (Paracelsus,  7. Feb 2001, 09:57:22):
~#! rn=Elendil rt=981459262 rg=gilden.tanjian
~#! tid=981367949
Nein, meditieren ist eine verdammt schlechte Art, neutral zu werden.

Paracelsus.

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



Re^6: Trallalla (Paracelsus,  7. Feb 2001, 10:00:23):
~#! rn=Ark rt=981491871 rg=gilden.tanjian
~#! tid=981367949
Tja, es wurde nicht ohne Grund getestet, und ich bin den Testies fuer
ihre Arbeit auch nachwievor sehr dankbar. Und ja, die Gilde wurde bereits
vor ihrem Anschluss "runtergedreht". Den Kommentar, den Nachtwind dazu
abgegeben hat poste ich hier lieber nicht, weil sonst einigen Leuten
die Augen aus dem Kopf fallen wuerden.

Paracelsus.

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



Re^7: Trallalla (Nachtwind,  8. Feb 2001, 04:19:16):
~#! rn=Paracelsus rt=981536423 rg=gilden.tanjian
~#! tid=981367949
Hihi, ich erinnere mich noch, wie ich bei einem ersten Test der
Tanjian im Homemud sehr gut gewuerfelt hab und ein Testmonster
zweieinhalb Minuten lang 4x die Runde mit einem SMS pulverisiert/
zerstaeubt hab *kicher* Ja, mit _einem_ "Hayai" ;)
Viele Werte wurden in der Zeit danach drastisch reduziert, aber
manches offenbar noch nicht genug. Solange die Staerke der Tanjian
aber zum Teil auch noch auf unbalancierte Gegenstaende zurueckgeht,
wird es sicher keine schnellen Aenderungen geben. Aber Paracelsus
und meine Wenigkeit werden das Ganze in Ruhe betrachten und dann
noch einiges nachregeln.

Nachtwind.

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



Re^6: Offener Brief an Paracelsus (Qitess,  9. Feb 2001, 09:18:47):
~#! rn=Anatol rt=981129818 rg=gilden.tanjian
~#! tid=978957414
*Waehle Deine Gilde nach dem Fluestern Deiner inneren Stimme. Waehle die
Gilde, die Dir, ungeachtet der 'Staerke', am besten gefaellt, die Du am
liebsten spielen wuerdest.
*

Deswegen bin und bleibe ich Abenteurer. 

Und wennschon denn haetten wir zu jammern, denn wir koennen am wenigsten.
Zugegebenermassen haben wir auch deutlich weniger sprueche, die man 'ueben'
muesste...

QI** und ihre zwei Kupfermuenzen

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



ein paar gedanken  (Boing,  5. Mar 2001, 11:08:57):
~#! on=Ashan ot=983786561 og=allgemeines
Moin Moin,

also ich lese gerade die MPA durch und bin leicht genervt. Zum einen sollen
die Zaubis von Grund auf erneuert werden, zum anderen sollen die Tanjian (wenn
es nach dem Willen vieler Spieler geht) heftig abgewertet werden
Gut, dass die Zaubis zum leidigen Dauerthema in den letzten Monaten wurden ist
nun mal so, aber was sollen diese ewige Abwertungsforderung bei den Tanjian ?
Nein, ich habe KEINE Figur bei den Tanjian (habe derzeit eh keine Zeit einen
2ti grosszuziehen, bin in den letzten Wochen eher wenig aktiv im MG), aber
wenn ich mal metzle und dabei einen Tanjian im Team habe freue ich mich eher
ueber die Unterstuetzung anstatt gruen vor Neid zu werden und nach Abwertung
zu rufen. Gut, die Tanjian scheinen ein wenig besser als die anderen Gilden zu
sein, na und ?! Sie sind ja nicht so viel besser dass die das MG entvoelkern
oder Monster mit 1 Schlag vernichten. Sie muessen fuer Ihre Sprueche genauso
MP (bzw KP) zahlen, muessen genauso tanken und so weiter. Wenn sie nun ein
wenig mehr durchhalten im Kampf und hin und wieder staerker zuschlagen als man
es selber kann, dann finde ich das voellig ok.
Jeder kann seinen eigenen Tanjian bauen, und wenn es nicht geht (wie bei mir
z.Zt. aus RL Zeitgruenden) dann sollten man sich meiner Meinung nach freuen
mit so einem zusammen auf Metzeltour gehen zu koennen. OK ok, das ist nicht
jedermanns Fall, ich weiss, man darf sich auch als Einzelkaempfer
durchschlagen (ich denke das jetzt an 2 Leute, der eine sagte dass man auf das
M wie Multi im MUD auch verzichten kann und der andere regt sich ueber
'gildenfremde' Hilfe beim Weghiermetzeln auf), aber ich hoffe dass solche
ansichten eher die Ausnahme sind.
Kurzum: Ich sehe die Balance nicht derartig gekippt durch die Tanjian dass
irgendwer Nachteile erleidet (ausser der Stolz einiger Leute die es nicht
ertragen koennen  wenn andere mal ein wenig mehr koennen als sie selber, wo
sie sich doch fuer die Besten halten)
Hm, und warum ich anfangs auf die Zaubis zu sprechen kam .. ich glaube an
deren Misere ist zum Teil eine heftige Abwerterei nicht ganz unschuldig. Ich
erinnere mich noch daran wie viele Leute sich aufregten dass die Zaubis zu
stark seien ...

Ashan


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



Re: ein paar gedanken  (Boing,  5. Mar 2001, 11:11:35):
~#! on=Lurchi ot=983786951 og=allgemeines
~#! rn=Ashan rt=983786561 rg=allgemeines
~#! tid=983786561
auch wenns langsam durchgekaut ist:
abwertungsforderungen kommen vor allem aus den reihen der hohen tanjian, sind
die neidisch auf sich selbst?
und ja, tanjian koennen 'ganze gebiete entvoelkern' (und tun es auch) und das
stoert die balance erheblich.
wenn du das nicht richtig einschaetzen kannst weil du keine ahnung hast, dann
lass solche artikel einfach stecken.

lurchi - weiss grad nicht ob er lachen oder heulen soll

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



Re: Re: ein paar gedanken  (Boing,  5. Mar 2001, 11:19:00):
~#! on=Karis ot=983787394 og=allgemeines
~#! rn=Lurchi rt=983786951 rg=allgemeines
~#! tid=983786561
Kann Ashan das nicht richtig einschaetzen, weil es nicht
Deiner Einschaetzung entspricht, Lurchi?
Oder nur, weil er nur zusammen mit Tanjians metzelt und selber
keinen hochgezogen hat?
Hat er keine Ahnung, nur weil er eine andere Sichtweise als
hat?
Ich kann mich Ashan nur anschliessen. Mag sein, dass Tanjian stark sind,
aber zusammen mit denen metzelt es sich schon recht nett.
Und der Uebeaufwand ... naja... wenn man wirklich spielt und nicht skriptet,
dann ist der Uebeaufwand fuer meine Begriffe mindestens
hoch wie bei den Kaempfern. Wobei es nicht sein kann,
dass man die (unerlaubte) Skripterei als Argument anfuehrt,
dass die Tanjian zu einfach hochzuspielen seien.

Karis

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



Re^3: ein paar gedanken  (Golas,  5. Mar 2001, 11:24:41):
~#! rn=Boing rt=983787540 rg=gilden.tanjian
~#! tid=983786561
es ist doch relativ egal, wie lange man fuer toplevel braucht.
es ist nur eine frage der zeit, bis sich da oben genug versammelt haben, dass
sie die entsprechende auswirkung auf das mg und die balance haben.
wenn immer nur im team gemetzelt wuerde, waere das vermutlich auch nicht
tragisch, aber es gibt halt auch tanjian, die alleine losziehen und dann kann
es andere (auch im team) schon gewaltig stoeren
wir haben bei den kaempfern gesehen, wie schnell es zu dem wasserkopf kommen
kann.
imho lassen sich gilden eben nur an der spitze halbwegs vernuenftig
vergleichen.
wer halt keinen tanjian, kaempfer und zauberer auf hoechstem level hat, der
vergleicht halt unter anderen voraussetzungen. diese reichen (erneut imho)
nicht fuer eine fundierte aussage aus.

golas mal gespannt, ob der magier nach der abwertung der tanjian, den
anti-tanjian wieder ausbaut ...

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



Re^4: ein paar gedanken  (Ashan,  5. Mar 2001, 12:45:17):
~#! rn=Golas rt=983787881 rg=gilden.tanjian
~#! tid=983786561

Ok, da ich keinen Tanjian selber spiele mag es keine fundierte Aussage sein, 
sondern nur eine Meinung. Was die Abwertungsforderungen angeht:  Zum einen
fordern einige Leute die nicht bei den Tanjian sind die Abwertung, und ich
kenne auch ein paar Tanjian die Verstaendnis fuer eine Abwertung haben,
allerdings in einem gewissen Rahmen. 
Beim Thema Abwertung sehe ich immer leicht rot weil ich so was in anderen
Gilden - am schlimmsten aber mit meinem Karateka - erlebt habe. Gut, das ist
jetzt schon ein paar Jahre  her, aber es Schock sitzt immer noch tief.  (die
ausfuehrliche Geschichte spare ich mir hier, aber da gab es krasse Misstaende
zum Nachteil der Karatekas, die spaeter dann wieder zum Glueck korrigiert
wurden) 
Sicher kann man sich ueber eine _ massvolle _ Abwertung unterhalten. Und
sicherlich ist auch zu beachten dass kein Magier jetzt abdrehen sollte in dem
Sinne:  Die Tanjian kloppen meinen NPC zu schnell, also mache ich ihn
staerker,  auch wenn er dann fuer andere Gilden unkillbar wird.  Ebenso falsch
finde ich die Abfrage: Wenn Angreifer = Tanjian dann Angriffswert verdoppeln,
verteidigungswert verdreifachen und Resetzeiten der umliegenden Raeume samt
NPCs drastisch verkuerzen. .  
Mir ist auch klar, dass das Gildenfeeling' mehr zaehlen sollte und fuer viele
auch mehr zaehlt als die Kampfstaerke. Ich habe meine Hauptfiguren z.B. in
Karate und Kaempfer  nicht nur drin weil sie (angeblich!) die staerksten im
ganzen MG sind (was uebrigens fast jeder Gilde nach deren Neuanschluss
nachgesagt wird) sondern weil mir der Nahkampf einfach viel mehr liegt als
irgendwelche Zaubersprueche zu murmeln waehrend mich der Gegner in Stuecke
zerreisst. Folglich ist bei BG mein Hauptcharacter Krieger, und auch bei
anderen Fantasyspielen bevorzuge ich aehnliche Charactere.
Aber zurueck zum Thema: Dass eine zu starke Gilde nun die Ruestungsspirale 
nach oben treibt ist natuerlich nicht erwuenscht und - ich wiederhole mich  -
dann ein Grund fuer eine massvolle Abwertung. Was das Entvoelkern  von
Gebieten angeht:  Ich halte das MG fuer so gross, dass es immer irgendwo was
zum Metzeln gibt. Eine Person allein - egal von welcher Gilde - wird es nicht
schaffen saemtliche NPCs wegzuhauen (Sonst stimmt mit der Balance wirklich was
nicht).
Mir stellt sich die Lage trotzdem so dar dass es viele Leute gibt die nicht
Tanjian sind und dringendst eine Abwertung fordern. Dass einige Tanjian damit
einverstanden sind zeigt fuer mich nur ein verantwortungsvollen Umgang mit dem
MorgenGrauen im Sinne der Balance, und sicherlich wird da auch noch was
passieren, so wie es Paracelsus und Nachtwind ja auch schreiben. Nur goenne
ich keiner Gilde eine _ zu krasse _ Abwertung (weil ich den damit
verbundenenden Frust erlebt habe), und die endlose Ruferei nach Abwertung geht
mir gehoerig auf den Keks (wie damals auch bei den anderen Gilden nachdem sie
neu angeschlossen waren), was mich heute mal motivierte auch meinen Senf
dazuzugeben

Ashan


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



Re^5: ein paar gedanken  (Kuroyi,  5. Mar 2001, 13:05:58):
~#! rn=Ashan rt=983792717 rg=gilden.tanjian
~#! tid=983786561
Ist ja vielleicht etwas dreist von sich auf andere zu schliessen. Es sollte
aber doch jedem der bisher in die Tanjian-Gilde eingetreten ist klar sein,
dass er sowas wie ein unmarkierter Testie ist. Eine Gilde mit 5 Testies
balancetechnisch abzustimmen halte ich fuer absolut unmoeglich. Dass
irgendwann die Anpassung kommt war doch von Anfang an klar. Besser frueher
als spaeter.
In einem Punkt muss ich Ashan aber zustimmen: Augenmass auf Magierseite
(oder ist das zu naiv?) Was passiert wenn man staendig an irgendwelchen
Werten schraubt oder NPC schreibt die den Schaden gewisser Gilden einfach
von sich aus runterregeln sollte doch an den Zauberern klargeworden sein.
Eine unspielbare Gilde aus der die Spieler massenweise austreten.
Fuer so ein Schicksal sind die Tanjian aber IMO eine zu gute Gilde. Gilden
hat das MG reichlich, Gilden mit "Feeling" kaum.

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



Re^6: ein paar gedanken  (Noki,  5. Mar 2001, 13:29:05):
~#! rn=Kuroyi rt=983793958 rg=gilden.tanjian
~#! tid=983786561

Also, wenn hier jeder Tanjian ein "unmarkierter Testie" sei, dann moechte ich
bitte auch nach meiner Meinung gefragt werden. Und nicht zuschauen muessen wie
saemtliche Diskussionen nahezu ausschliesslich von Top-Level-Playern gefuehrt
werden. Oder faengt eine Gilde wie die Tanjian erst bei Level 9 an?
Letztenedlich habe ich denn Eindruck, dass das MG sich in weitesten Teilen nur
mehr fuer eben genannte Spieler entwickelt, Kritik meistens eben jene
Regionen, Gildenbereiche und NPC's betrifft, die fuer den "spielenden
Mittelbau" noch uninteressant sind. Und Meinungen eben dieser Spieler werden
ebenfalls zu gern geflammt.
Doch das nur als Beiseite.
Bezueglich einer Abwertung der Tanjian habe ich mich geaeussert, und nach wie
vor bin ich ihr gegenueber offen. Dennoch denke ich, dass eine mehr oder
weniger empfindliche Beschraenkung der Faehigkeiten auch mit einer etwas
steileren Lernkurve belohnt werden sollte. Es ist sonst einfach ein wenig
frustrierend, in dem herkoemmlichen, legalen Sinne Zeit ins Ueben gehabt zu
haben und in den oberen Raengen die Reste aufsammeln zu muessen.
Sprich
 :Abwertung ja, aber dann etwas frueher etwas mehr Spielspass (als das ewige
Ueben Ueben Ueben).

Noki - freut sich ueber etwas mehr MPA, als MegaSchmarrnThreads

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



Re: Re: ein paar gedanken  (Panic,  5. Mar 2001, 14:16:06):
~#! rn=Boing rt=983787095 rg=gilden.tanjian
~#! tid=983786561
> und ja, tanjian koennen 'ganze gebiete entvoelkern' (und tun es auch) und 
> das stoert die balance erheblich.

Tjo... mach das Ueben aufwendig und Du wirst aufwendige Skripte haben. Dann
werden auch ganze Gebiete entvoelkert.

Das hat mit den Tanjian ueberhaupt nichts zu tun, von der Kampfkraft her kann
ein Kaempfer sicherlich auch Gebiete entvoelkern.


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



Re^5: ein paar gedanken  (Agony,  5. Mar 2001, 19:19:57):
~#! rn=Ashan rt=983792717 rg=gilden.tanjian
~#! tid=983786561
dieses ganze heuchlerische "ich fuehl mich toll und geniesse die
atmosphaere weil ich eh keine zeit habe zum spielen und deshalb muessen
alle anderen auch..." geht mir maechtig auf den keks.
das hier ist ein spiel...und um wieder meinen heiss geliebten vergleich
zum mensch-aerger-dich-nicht vorzukramen: wenn du es gut findest,
dass alle mitspieler jede runde einen bonus-wurf erhalten,
dann muessen das alle anderen noch lange nicht gut finden.


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



Re^6: ein paar gedanken  (Jakscha,  5. Mar 2001, 19:22:38):
~#! rn=Agony rt=983816397 rg=gilden.tanjian
~#! tid=983786561
oh mir faellt da was ein, wenn die tanjian geaendert werden, dann ist das doch
ein grund, dass manch(e)r magier mal seine gebiete/monster etwas
tanjianunfeindlicher macht oder? }.-) die monsterbalance (wenn das nicht nur
nen fakeposten ist) ignoriert das ja eh.

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



Re: ein paar gedanken  (Solmyr,  5. Mar 2001, 19:39:01):
~#! rn=Boing rt=983786937 rg=gilden.tanjian
~#! tid=983786937
Das die Zaubis damals an der Abwertung kaputt gingen, ist klar. Die einzigen
Zaubis, die hier im Moment rumrennen, sind TopLevelZauberer, demnach ist die
Gilde nicht wirklich bevoelkert.
Deswegen denke ich auch, sollte man ganz besonders darauf achten, in welcher
Weise man die Tanjian abwertet, wenn man sie ueberhaupt abwerten muss. Ich
fuer meinen Teil habe da in etwa die gleiche Meinung wie Boing. Wenn jemand
einen Tanjian unbedingt spielen muss, weil er der Staerkste sein will, dann
ist das in Ordnung, er tut mir aber dennoch leid.
Ich bin Kaempfer, und auch erst Lv14, aber ich kann sagen, dass ich die
wichtigen
Skills, die man bis dahin erlernt hat, schon mindestens auf 85% hab. Demnach
hau ich auch schon ganz gut zu. Das heisst, wenn wir von 'entvoelkerbaren
Gegenden' reden, dann rede ich zuerst mal von der SSP, den Katas, etc. und
beileibe, die SSP krieg ich auch zum grossen Teil (ausser halt die neue FE)
platt und wenn ich danach leer bin, aber Jasmin immer noch weiter rennen
kann, soll sie doch machen. Ein hochleveliger Kaempfer mit guter Ausruestung
wohlgemerkt (wir sind ja immerhin von solcher abhaengig), kann also auch
ohne Probleme ganze Gebiete entvoelkern.

Sol*

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



Re: Re: ein paar gedanken  (Jakscha,  5. Mar 2001, 19:55:53):
~#! rn=Solmyr rt=983817541 rg=gilden.tanjian
~#! tid=983786937
hmm koennen wir die diskussion nicht mal lassen? abwertung kommt, ist bei
nachtwind+paracelsus+? in guten haenden, alles andere ist verlorene
zeit/vergebene muehe.
solangsam genervt :)

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



Re^3: ein paar gedanken  (Anatol,  5. Mar 2001, 20:32:15):
~#! rn=Jakscha rt=983818553 rg=gilden.tanjian
~#! tid=983786937
[Antwort auf letzten Artikel im Thread]


Wer mit der Addition kleiner ganzer Zahlen schon Schwierigkeiten hat,
sollte sich vorerst nicht am kleinen Einmaleins versuchen. Zu eigenen
Wohle und zum Wohle derer, die diese Artikel hier noch lesen und sich
auch noch darueber Gedanken machen.

1 + 1 = ?

Die verschiedenen Gilden im MorgenGrauen haben verschiedene Staerken
und Schwaechen. Man kann sie, wenn man sich feste Rahmenbedingungen
setzt, diese Gilden nach "Kampfstaerke" sortieren. Zu diesen Rahmen-
bedingungen gehoert Ausruestungsverfuegbarkeit, Tankvermoegen, Art der
Gegner, Anzahl der Gegner, Team- oder Einzelkampf, Dauer der Gefechte
und so weiter. Gesetzt den Fall, dass man mit diesen Laborbedingungen
das reale Mud nachstellt, koennte man zum Schluss kommen, dass manche
Gilden in vielen - oder gar in den meisten - Situationen besser ab-
schneiden als andere. Diese Gilden bezeichnet man gemeinhin wohl
vereinfachend als "staerker". Das heisst, obwohl ein Trves in einer
bestimmten Situation gegen einen Bierschuettler keine Chance hat -
zum Beispiel, weil man Schaden mit Zaubern machen muss - ist die
Kaempfergilde dennoch als die staerkere Gilde anzusehen. Soweit klar?
Ok, damit: 1 + 1 = 2.

1 + 2 = ?

Womit kann man diese differierenden Staerken rechtfertigen? Naja, es
duerfte jedem klar sein, dass man den Schaden, den man mit der Waffe
verursacht kaum direkt mit dem eines Zaubers vergleichen kann und es
mit Zaubern wie "schmerzen" oder Techniken wie "finte" noch viel,
schwerer ist. "Unvergleichlich" mag ein zutreffendes Wort sein. Man
(in diesem Fall ist "man" die Gildenbalance) muss also abwaegen. Das
ist natuerlich sehr subjektiv, aber irgendwer muss es tun. Mit ins
Gewicht fallen koennen z.B. der Aufwand, der noetig ist, um diese
Kampfkraft verfuegbar zu machen. Gesetzt den Fall, es gaebe irgendwo
eine Gilde "Trves-Zwo", die exakt die selben Faehigkeiten wie die
bekannte Trves-Gilde besitzt, aber die Skills sofort auf 100% setzt,
waere da kaum die beruehmte 'ausgleichende Gerechtigkeit' gegeben.
Egal wie sehr der eine oder andere Magier oder Spieler mit "Aufwand
zaehlt nicht, den kann man ja scripten!" argumentieren moechte. Also
Skillanzahl, -anforderungen, Gildenquests, Gildenstufenbeschraenkugen
etc. bestimmen mit die Grenzen, innerhalb der sich die Gildenstaerke
bewegen darf - auch wenn zumindest hier u.a. die goldene Regel der
Balance ebenfalls greifen kann: "Nicht jede Staerke ist mit Aufwand
zu rechtfertigen.".
Ebenso massgeblich daran beteiligt ist die mutmassliche Komplexitaet
der Gilde. Schaut man zwei Trvesgeneraele an, kann man das Glueck
haben und zwei Charaktere erwischen, die in ihrer Kampfkraft auch
bei absolut identischen Gildenfaehigkeiten stark differieren - weil
der eine gelernt hat, mit diesen Faehigkeiten umzugehen, und der
andere nicht. In einer anderen Gilde - beispielsweise den Tanjians
- gibt es solche "Mudlib-Generaele" nicht, selbst Tower koennte mit
einem kleinen bisschen Uebung einen Tanjian 100% der verfuegbaren
Kampfkraft (na gut, sagen wir: 90%) entlocken.
Eine mindestens ebensowichtige Sprosse in der Leiter der Gildenkraft
sind die Schwaechen der Gilde. Die Trves muessen damit leben, dass
sie mit Spells nicht wirklich etwas am Hut haben und fuer sowas nur
auf Kampfobjekte zugreifen koennen, die Zauberer - egal ob in neuer
oder alter Form, da bin ich mir sicher - werden kaum ein Schwert in
die Hand nehmen und wie die Wilden losberzerkern koennen.
Ich hab nicht wirklich einen Ueberblick darueber, was tatsaechlich
alles in die Grosse Waage der Gerechtigkeit geworfen wird. Es ist
aber sicherlich mehr als nur 'Skillueberei'.
1 + 2 = 3.

4 + 1 = ?

Darauf aufbauend stehen genuegend Gruende im Raum, warum es nicht
sein darf, dass ein Tanjian nach Reboot mit Glitzerschwert und der
Gardewaechterstandardkleidung das halbe Mud leerraeumt, diese Gilde
rechtfertigt das - in meinen Augen zumindest - nicht.
War einfach, oder? 4 + 1 = 5. Zumindest bei mir. Vielleicht sieht
Ashan das anders. Kann ja sein. Alles eine Frage der Definition der
Gruppe, nicht wahr.

So, damit waere dem Rechnen mit den Fingern einer Hand Tuer und Tor
geoeffnet.

1 + 3 = Brotkruste ? Hallo?
Da meint doch tatsaechlich einer, dass die Zauberer an der Abwertung
kaputt gingen. Und sagt, dass nur noch "TopLevelZauberer" herumrennen.
Wenn ich jetzt "sowas kann auch nur ein Kaempfer sagen..." schreibe,
werde ich dann geschlagen? Egal, ich riskiere es.
Wenn eine Gilde trotz ausgiebigen Tests nach Anschluss von mehr oder
minder qualifizierten Mitspielern als 'zu stark' empfunden wird, ist
das ein Grund, darueber nachzudenken und entsprechend abzuwerten,
egal wieviel das ist und egal, ob es dafuer irgendeine Art von
Gegenleistung gibt oder nicht. Ich erinnere an die Panzerschutzhuelle
oder die Endlosruesterei der Zauberer, an das Atomisieren-ohne-
Empfindlichkeit des Chaoskontrolle-Chaosballs (Herzlichen Dank
nochmal, Sting, ich werd's nie vergessen ;)),...  Ja, das TUT den
Gildenmitgliedern weh, aber da muessen sie durch, das ist das Risiko
eines dynamischen Systems, eines lebenden Muds. Wer's nicht will,
kann seinen C64 auspacken und Guild of Thieves spielen.
Also, 1 + 3 = Brotkruste... ist FALSCH.

Ein qualifizierter Mitspieler ist in diesem Kompetenzbereich fuer
mich jemand, der mehrere Gilden miteinander vergleichen kann. Er mag
in der einen oder anderen Hinsicht sogar qualifiziertere Urteile ab-
geben koennen als der Erzmagier fuer Gildenbalance, schliesslich ist
es der Spieler, der das Geschehen "in situ" wirklich ausreizt. Und
gerade deshalb (Huhu Noki) werden die Spieler tatsaechlich um ein
moeglichst ehrliches Feedback _gebeten_. Wenn stattdessen nur ein
"He, die Tanjian sind ok so wie sie sind, glaub' mir!" kommt, ist
weder dem Gildenmagier noch dem Erzmagier fuer Balance wirklich ge-
holfen. Ein einfaches "Macht ihr Magier das doch einfach." hilft
uebrigens auch nicht unbedingt sehr viel weiter, Jakscha.

Wenn die Zauberer durch irgendwas Schaden genommen haben, dann wohl
dadurch, dass zu viele Magier meinten, selbst etwas gegen deren
(jeweils sehr subjektive) Staerke tun zu muessen und mit sowas wie
SpellDefend() um sich zu werfen pflegten. Die Ereigniskette "hand
feuer" setze ich zumindest unter den aelteren Zauberern als bekannt
voraus, fuer Solmyr, der von der Zauberei offenbar keine Ahnung hat,
erklaere ich sie gerne in einer ruhigen Stunde. Aber nicht jetzt.
1 + 3 = 4. (FYI)

Ich glaube, ich haette meine Zeitung doch einfach nur verbrennen
sollen...

Anatol

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



Re^4: ein paar gedanken  (Anacrion,  5. Mar 2001, 21:22:03):
~#! rn=Anatol rt=983820735 rg=gilden.tanjian
~#! tid=983786937
Also ich kann mich an verdammt viele Flamewars mit Anatol erinnern (teilweise
aeusserst lebhaft). Aber dieser Artikel koennte (wenn man von gewissen
mathematischen Uebungen der ersten Klasse absieht) durchaus als Standardwerk
archiviert werden, deckt er doch viele Aspekte der Gildenbalance ab.

Einzige Kritik: Ich wuerde die goldene Regel ein klein wenig erweitern:

a) Kein nochsolanges ueben rechtfertigt jede nochso grosse Staerke (vgl.
Anatol)
b) Kein nochsogrosser Nachteil rechtfertigt jeden nochsogrossen Vorteil.

und als kleiner Anhang: Wenn eine Gilde .7 der Zauberstaerke einer
reformierten Zauberergilde hat und .7 der Schwertkampfkraft einer
Kaempfergilde, ist sie imho 1.4 mal so stark wie die existierenden Gilden.

Anac* - stimmt Anatol aus vollem Herzen zu .... (ist mir ja irgendwie
peinlich)

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



Re^7: ein paar gedanken  (Apollonia,  5. Mar 2001, 21:47:36):
~#! rn=Jakscha rt=983816558 rg=gilden.tanjian
~#! tid=983786561
Wie kommst Du dazu, so einfach zu behaupten, dass die NPC-Balance das eh
ignoriert? Soweit ich weiss, werden derzeit so gut wie alle stupsenden NPCs
ueberprueft und das braucht halt nun mal seine Zeit.

Abgesehen davon, wer sagt denn, dass tanjianfeindliche NPCs geproggt werden?
Oder geproggt worden sind? Es mag den ein oder anderen Magier geben, der - wie
damals bei den Zauberern - so seine Probleme mit der Gilde hat, aber je eher
die Abwertungen erfolgen, desto eher verzichten diese Magier auch auf diesen
Programmierstil.

Apo*

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



Re^8: ein paar gedanken  (Jakscha,  5. Mar 2001, 23:43:05):
~#! rn=Apollonia rt=983825256 rg=gilden.tanjian
~#! tid=983786561
oeh, falsch verstanden, ich habe nie gesagt es wurden extra anti tanjian npcs
geproggt. ich komme darauf, dass die npc balance es ignoriert, da ca 1 monat
nach erscheinen der tanjian die ersten mails abgeschickt wurden und nie eine
antwort/reaktion kam. dann muss ich wohl von ausgehen. ich habe nichts!!
dagegen sollte es irgendwann npcs geben die tanjians nicht toeten koennen!!
mich stoert es nur wenn vorhandene npcs (nicht nur einzelne sondern die ganzer
gebiete) bei erscheinen der tanjian (und auch schon bevor allgemein klar war
wie stark wir sind/werden) funktionen eingebaut bekommen wie (so interpretiere
ich das ohne den code zu kennen) die mit schaden eines tanjians =
normschaden/10. allerdings war das auch nur als ein kleiner stupser gemeint
und bestimmt nicht um gejammer/einen riesenthread loszutreten. so long

jakscha

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



Re^9: ein paar gedanken  (Nizzl,  5. Mar 2001, 23:45:33):
~#! rn=Jakscha rt=983832185 rg=gilden.tanjian
~#! tid=983786561
naja irgendwie wuerde nix dagegensprechen in gebieten wie zb dem himmel einen
spruch auszubauen oder abzufangen, der das 'allgegenwaertig boese'
konzentriert und auf potentielle gegener schleudert.....
das man als tanjian sowas als tanjian feindlich ansehen kann bestreitet wohl
keiner :)
das sowas nicht falsch ist koennte man auch anmerken :))

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



Re^9: ein paar gedanken  (Jakscha,  5. Mar 2001, 23:46:01):
~#! rn=Jakscha rt=983832185 rg=gilden.tanjian
~#! tid=983786561
hinzuzufuegen: die mail ging damals noch an wim! sollte mal haeufiger hilfe
balance eingeben. also alles halb so wild ;)
j*

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



Re^10: ein paar gedanken  (Panic,  5. Mar 2001, 23:47:21):
~#! rn=Nizzl rt=983832333 rg=gilden.tanjian
~#! tid=983786561
... und der Bauarbeiterork lernt den Laeutern-Spruch in einer Extremfassung ?
:)

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



Re^9: ein paar gedanken  (Agony,  6. Mar 2001, 00:40:24):
~#! rn=Jakscha rt=983832185 rg=gilden.tanjian
~#! tid=983786561
es gibt ganze gebiete einesw nicht naeher bezeichneten gildenmagiers einer
nicht naeher bezeichneten gilde, die zufaelligerweise thema des tages ist,
die sich diese private gildenbalance schon deslaengeren anmassen.
dort stehen die tanjian gar nicht so schlecht komischerweise... ;)

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



Re: Re: ein paar gedanken  (Boing,  6. Mar 2001, 11:43:06):
~#! rn=Solmyr rt=983817541 rg=gilden.tanjian
~#! tid=983786937
Ich habe mich zu diesem Thread nicht geaeussert, ich habe ihn nur
verlegt. Insofern war das nicht meine Meinung sondern die von Ashan.
  Boing

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



Re^5: ein paar gedanken  (Anacrion,  7. Mar 2001, 05:59:28):
~#! rn=Anacrion rt=983823723 rg=gilden.tanjian
~#! tid=983786937
Verdammt.

Da ist mir nun tatsaechlich ein Trugschluss unterlaufen.

Also nochmal von vorne:

Wenn man die Kampffaehigkeiten der Zauberer und Kaempfer vereinigt, so dass
eine Gilde 70% der KAempferfertigkeiten und 70% der Zaubererfertigkeiten hat,
so hat diese Gilde 140% der Kampfkraft der existierenden Gilden, SOFERN SIE
AUCH 70% der NAchteile der Zauberer und 70% der Nachteile der Kaempfer hat ...


Hmm. Offensichtlich zaehlt es zu den Nachteilen der Zauberer ..

a) Neutral sein zu muessen, um alle Zauber sprechen zu koennen  - wurde
uebernommen

b) b) keinen heiligen oder satanischen sSchaden verursachen zu koennen - wurde
uebernommen

c) Keine Waffen verwenden zu koennen - wurde nicht uebernommen ...

Ich komme bei grozuegister Auslegung auf maximal 66% (da ich die
Einschraenkung des mech. Schadens fuer wesentlich gewichtiger halte als den
Rest)


Bei den Kaempfern ..

a) Koennen nicht Zaubern  - wurde nicht uebernommen

b) Koennen schlechter kaempfen, wenn LP niedrig (wenn nicht schmerzen) ...
auch diese Regelung wurde nicht uebernommen


bleibt fuer mich grob bei 0% ... Aeh. Ueber abwehr und Angriffsfaehigkeiten
gegen nichtphys. Schaden rede ich hier nicht, da durch die exzessive
Programmierarbeit einiger MAgier einige Waffen wesentlich mehr nichtphys.
Schaden machen bei Waffenschlag als z.b. verletze udn es panzer gibt, die die
resistenzen derart hoch treiben, dass man den Effenkt zumindest in Reichweite
einer Schutzhuelle bringt.

Ergo: Ich sehe die Nachteile z.b. Der Tanjiangilde, die ja laut Ihres
Gildenmagiers in der Region 70% /70% gemischt ist nicht die Nachteile der
Kombinierten Gilden zu jew. 70% - wer wollte das auch - Eine Gilde, die Weder
Zauber noch Waffen verwenden kann waere ja ausser zum Bluemchenpfluecken nicht
zu gebrauchen.

Anac* - musste sich bezueglich seiner Formel belehren lassen und wartet
stilltippend auf NAchtwinds einsatz


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



Re^6: ein paar gedanken  (Jakscha,  7. Mar 2001, 12:34:56):
~#! rn=Anacrion rt=983941168 rg=gilden.tanjian
~#! tid=983786937
0.7 von dem einen und 0.7 von dem anderen ist noch lange nicht 1.4 der
kampfkraft, bzw wenn ich .2 von dem bwl wissen meines profs, .4 von dem info
wissen meines anderen und .9 von dem jura wissen des letzten haette waere ich
noch lange nicht der superprof ;)

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



Re^7: ein paar gedanken  (Karis,  7. Mar 2001, 12:56:28):
~#! rn=Jakscha rt=983964896 rg=gilden.tanjian
~#! tid=983786937
Nein, Superprof wirst Du aber auch anders net...
Beachte aber bitte diverse Kombinationen und deren BRauchbarkeit.
Die KOmbination Sport/Musik kannste vielleicht als Lehrer brauchen, sonst aber
wohl recht wenig.
Superverdiener wirste so nicht. Die Kombi Informatik mit
Wirtschaft hingegen wirft wohl etwas mehr ab.
Und jetzt mach Dir noch die Muehe und transferiere das aufs
Metzeln. Ein bisschen hiervon und ein bisschen davon kann
(klar, muss nicht) deutlich mehr sein als nur die Summe
der Einzelteile. Kann aber auch bedeutend weniger sein.
Also bitte keine Lieschen-Mueller-Rechenexempel.

Karis
Karis.
PS und sorry fuers Format... ich hasse Flashtelnet...
und trotzdem.. besser als nix ;)

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



Re^7: ein paar gedanken  (Householder,  7. Mar 2001, 13:13:52):
~#! rn=Jakscha rt=983964896 rg=gilden.tanjian
~#! tid=983786937
0.7 von der einen gilde + 0.7 von der anderen ist 1.4 - (schnittmenge der
beiden gilden) is doch kla
HH (zwergisch grunzend)

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



Re^8: ein paar gedanken  (Grimmborn,  7. Mar 2001, 13:22:49):
~#! rn=Householder rt=983967232 rg=gilden.tanjian
~#! tid=983786937
Ein Glueck dass Herr Cantor schon tot ist...

Grimmborn der Atheist hatte Mengenlehre noch in der Grundschule

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



Re^9: ein paar gedanken  (Humni,  7. Mar 2001, 14:02:15):
~#! rn=Grimmborn rt=983967769 rg=gilden.tanjian
~#! tid=983786937
Ich moechte hiermit anzweifeln, dass 0.7+0.7 in diesem Fall 1.4 ergibt. Warum?
Ganz einfach: Nimm Dir Standard-Regeln eines Pen&Papers deiner Wahl.
Ueblicherweise wird eine Ruestung vom Schaden abgezogen. Nun macht dein
Spieler Schaden 20 und das Monster hat ne Ruestung von 10 -> Du machst 10
Schaden. Machst Du hingegen nur 70% des Schadens, also 14, so kriegt das
Monster Schaden 4.

Das ist nur ein Beispiel, so nicht aufs MG zu uebertragen usw., aber es macht
IMHO deutlich, dass man mit Prozenten nicht rechnen kann, sondern nur mit
Erfahrungen.

CU Humni

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



Re^10: ein paar gedanken  (Anacrion,  7. Mar 2001, 17:01:49):
~#! rn=Humni rt=983970135 rg=gilden.tanjian
~#! tid=983786937
Aehm.

70% der Faehigkeiten ... hoert sich das so an, als ob damit 70% des SCHADENS
gemeint war ? Beileibe nicht. auch wenn einige das so interpretieren. Die
Gildenfertigkeiten sollten ueber das Ma des Schadens pro Spruch doch deutlich
herausgehen. 

Der Unterschied zwischen Kampfkraft/Gildenfertigkeiten und Schaden ... DER ist
meiner Meinung nach durch Erfahrung bestimmt. Man frage ein paar Superseher
(Zweig Metzeln)

anac*

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



Re^4: ein paar gedanken  (Seno,  8. Mar 2001, 01:43:53):
~#! rn=Anatol rt=983820735 rg=gilden.tanjian
~#! tid=983786937
Zum Absatz "1 + 3 = Brotkruste" (aehm, sind Dir keine passenderen
Ueberschriften eingefallen ?)

Also wenn man sich die Zauberergilde die letzten 1 bis 2 Jahre angeschaut hat,
war eigentlich nicht zu uebersehen, dass der Unter- und Mittelbau immer
schmaler geworden ist. Mir selbst ging es so, dass ich in den letzten beiden
Jahren insgesamt 1 Jahr pausiert hab. Abwertungen, die einerseits die maximale
Staerke einer Gilde beschneiden, die es gleichzeitig aber immer schwerer
machen, eine Figur in der Gilde aufzubauen, treffen die Spieler in den unteren
und mittleren Gildenstufen doppelt (mehr Aufwand - weniger "Lohn") und machen
eine Gilde in diesem Bereich wirklich zunehmend schlecht spielbar. Ich hoffe,
dass dieser Fehler bei den Tanjian (und auch sonst) nicht wiederholt wird.

Seno (Zauberer)

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



Re^5: ein paar gedanken  (Anatol,  8. Mar 2001, 01:45:47):
~#! rn=Seno rt=984012233 rg=gilden.tanjian
~#! tid=983786937
Ich wuerde es fuer die natuerliche Entwicklung einer Gilde halten, dass
sie irgendwann kopflastig wird. Es sei denn, man hindert die Spieler mit
Gewalt am Aufsteigen - z.B. in dem man die oberen Raenge zahlenmaessig
rationiert. Eine meines Erachtens nicht so pralle Massnahme...

Anatol

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



Re^6: ein paar gedanken  (Seno,  8. Mar 2001, 02:48:00):
~#! rn=Anatol rt=984012347 rg=gilden.tanjian
~#! tid=983786937
Ich hab damit nicht gemeint, dass der Unter- und Mittelbau im Vergleich zu den
hoeheren Raengen schmaeler geworden ist. Das ist freilich, wie Du schreibst,
eine natuerliche Entwicklung. Ich finde, man konnte beobachten, dass immer
weniger Spieler im Vergleich zu frueher in den unteren und mittleren
Gildenstufen aktiv waren, was sicher auch daran lag, dass man bei den
Zauberern keine so hohe Kampfkraft mehr erreichen konnte, aber meiner Meinung
nach mehr daran, dass die Gilde in diesem Bereich immer schlechter spielbar
wurde. Die staendigen Querelen haben dann sicherlich noch dazu beigetragen,
dass die Gilde an Attraktivitaet verlor.

Auch mir geht es so, dass ich dieses Abwertungsgeschrei schon lange nicht mehr
hoeren kann. Soweit ich das mitkriege kommt das groesstenteils von Kaempfern
und Metzelfreaks anderer Gilden. Berechtigte, massvolle Korrekturen halte ich
allerdings auch fuer noetig.

Seno

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



Re^7: ein paar gedanken  (Solmyr,  8. Mar 2001, 02:53:05):
~#! rn=Seno rt=984016080 rg=gilden.tanjian
~#! tid=983786937
Ich muss nochmal betonen, dass auch hohe Tanjian eine Abwertung angesprochen
haben und nicht immer nur wir Kaempfer nach Abwertung schreien. Das ist
ein Vorurteil, vielleicht damit endschuldbar, dass die Kaempfer wohl die
meisten aktiven Mitglieder haben. Mir persoenlich zum Beispiel geht die
Abwertung der Tanjian am Arsch vorbei, da ich zur Kaempfergilde aus Ueber-
zeugung angehoere.

Sol*

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



Re^5: ein paar gedanken  (Ark,  8. Mar 2001, 21:25:15):
~#! rn=Seno rt=984012233 rg=gilden.tanjian
~#! tid=983786937
Ich hoffe (wahrscheinlich vergebens), dass nicht nach Erscheinen der "neuen"
Zauberergilde ein wilder technischer Vergleich mit der "alten" Gilde beginnt,
sondern eher ein Zuwachs an begeisterten Jungzauberern einsetzt, die die Gilde
nicht als Mittel sieht, Monster XXX von Lieblings-/Hassmagier YYY umzukloppen
oder seinen Namen auf Liste "Subberdollmaetselmeisder" zu sehen.

Leise traeumend in sich hineinblubbernd und hoffend ...


              *** ARK * the * Magnificent ***


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



Re^11: ein paar gedanken  (Boing, 30. Mar 2001, 15:09:23):
~#! rn=Gast1 rt=985957491 rg=gilden.tanjian
~#! tid=983786561
Wenn Du zugeflamed werden willst, dann poste nicht als gast sondern unter
Deinem Namen.
Wech damit.
  Boing

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



Re^12: ein paar gedanken  (Gast1, 30. Mar 2001, 15:12:59):
~#! rn=Boing rt=985957763 rg=gilden.tanjian
~#! tid=983786561
Boing Du bist gemein ;)

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



Re^13: ein paar gedanken  (Anatol, 30. Mar 2001, 15:13:33):
~#! rn=Gast1 rt=985957979 rg=gilden.tanjian
~#! tid=983786561
Er kam nur Grimmborn zuvor. Das ist alles. ;)

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



Re^14: ein paar gedanken  (Gast1, 30. Mar 2001, 15:14:15):
~#! rn=Anatol rt=985958013 rg=gilden.tanjian
~#! tid=983786561
Grimmborn kann ich mit ner schoenen Flasche Lagavulin bestechen ;)

P.S.: Ahh ist das nicht schoen? fast wie frueher =;)

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



Re^15: ein paar gedanken  (Catweazle, 30. Mar 2001, 15:25:45):
~#! rn=Gast1 rt=985958055 rg=gilden.tanjian
~#! tid=983786561
Oh, Hallo Key :-)

Winke winke,
     YTC

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



Re^16: ein paar gedanken  (Gast1, 30. Mar 2001, 15:29:19):
~#! rn=Catweazle rt=985958745 rg=gilden.tanjian
~#! tid=983786561
Boing ich verlange meinen Artikel mit persoenlichen Angriffen wieder, immherin
hat Catty eine Behauptung aufgestellt, die man untermauern muss ;)


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



Tanjian und Ihr Gildenfeeling :) (Solmyr, 11. Apr 2001, 18:15:05):
 [Trves:XXX] bye kaempfers.. war ne schoene zeit mit euch
 [Trves:Solmyr] Haeh?
 [Trves:XXX] ich komm wieder :) ;) muahahah
 XXX teilt Dir mit: werde tanjian.. [17:56]
 Du teilst XXX mit: Dummes Gesocks...
 XXX teilt Dir mit: ;) darueber reden wir mal wenn ich staerker bin als
 XXX teilt Dir mit: du.. [17:56]

Any comments?
Sol*

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



Re: Tanjian und Ihr Gildenfeeling :) (Panic, 11. Apr 2001, 19:47:41):
~#! rn=Solmyr rt=987005705 rg=gilden.tanjian
~#! tid=987005705
Du bist toll.

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



Alles wird gut. (Nachtwind,  8. Mai 2001, 01:02:14):
Hallo ihr Tanjian da draussen,

da sich Paracelsus nach eigenen Angaben noch eine Weile Urlaub nimmt,
und die Probleme mit der Gilde nicht weniger geworden sind, habe ich mich
Euch wohl oder uebel angenommen. Wie Euch allen vermutlich ausgesprochen
klar sein sollte, bedurfte die Gilde der Tanjian einiger signifikanter
Aenderungen in Bezug auf die Balance. 



Alle wieder auf den Fuessen? Ein Glas Wasser getrunken? Gut.

Ja, es gab einige kleinere Aenderungen, und es wird moeglicherweise noch
weitere geben. Ein mud ist nunmal (gluecklicherweise) ein recht
veraenderlicher Ort. Ich kann allerdings sagen, dass ich die groebsten
Probleme fuer behoben halte. Es kann noch das ein oder andere etwas
geschliffen werden, aber die Kampfkraft ist fuer das erste einigermassen
in Ordnung so. Was genau ist alles passiert? Ich versuche das mal 
transparent zu machen...

- Der Angriff.
  Leider deutlich zu hoch. Das Problem war wohl auch ein Missverstaendnis
  in der Implementierung zwischen Paracelsus und mir. So wie der Angriff
  seit dem Anschluss war, war er von mir nie gewollt. Ist merklich
  angepasst worden, und schwankt jetzt auch deutlicher. Eventuell muss man
  noch ueber eine Stabilisierung des Schadens nachdenken, aber das wird
  die Zukunft zeigen.
  Diese Abwertung betrifft den normalen Angriff mit der Waffe ebenso wie
  akshara und die "dogo"-Technik.

- Die Defensive.
  Weniger der Normalfall gegen schwaechere Gegner war das Problem, sondern
  mehr die nach oben nahezu offene Abwehrmoeglichkeit gegen schwere und
  schwerste Angriffe. Wurde deutlich gedeckelt, also Vorsicht bitte beim
  Weghier oder aehnlichen "heavy hitters", der Unterschied ist deutlich.
  Willkommen in der Welt der Sterblichen.

- Die Angriffsspells.
  Nach der Erhoehung der Kosten vor einiger Zeit nicht mehr so furchtbar
  kritisch, allerdings mussten kshira und kami etwas leiden, was die
  Schadenshoehe betrifft. Kokoro wurde einen Hauch (!) gesenkt, was
zusaetzlich
  alle Zaubersprueche ein wenig abschwaecht.
  
Bevor Ihr Euch jetzt hinter einen Zug werft, bitte ich darum, erst einmal
gruendlich zu testen. Und behaltet dabei im Hinterkopf, dass die Tanjian
als Magie UND Kampfgilde und somit als Generalisten in den jeweiligen 
Gebieten schwaecher sein sollen als die Spezialisten wie zum Beispiel
die Trves. Mit dieser Perspektive bitte ich die Kampfkraft zu betrachten,
nicht vor dem Hintergrund der leider viel zu lange viel zu starken 
Gildenfaehigkeiten seit dem Anschluss. Leider hat sich die erste grosse
Anpassung zu lange verzoegert, dafuer moechte ich mich entschuldigen, auch
wenn die Gruende dafuer nicht alle in meiner Verantwortung liegen.

Also nochmal: Die Angelegenheit ist nicht gegessen, sondern es wird 
eventuell in den naechsten Tagen noch Aenderungen geben (in welche 
Richtung auch immer).

Ich bitte Euch, nicht in dieser Rubrik eine Diskussion ueber die Kampfkraft
oder die Abwertung vom Zaun zu brechen, da sowas erfahrungsgemaess zu nichts
fuehrt. Wer HANDFESTE und GUT BEGRUENDETE Kritik an mich richten moechte,
tue das bitte per Mail. Aber bitte versetzt Euch vorher in meine Lage und
fragt Euch ernsthaft, was ich zu Mails a la "DU ABSCHAUM! DAS IST ALLES GAR
NICHT SO UND GANZ ANDERS UND MACH ES WIEDER WIE VORHER!!!" sagen soll. Ich
kann unmoeglich Gildenbalance auf Basis der subjektiven Eindruecke einzelner
Gildenmitglieder machen, die sich ausserdem noch in leicht emotionalem
Aufruhr befinden. Stattdessen richte ich mich nach den harten Zahlen und
nutze meine Kenntnisse ueber alle Gilden. Ich bitte da einfach um Vertrauen,
ich werte sicherlich nichts ab, weil mir danach ist oder weil ich jemanden
aergern will.

Haltet die Membran im Zentrum der Dinge in Schwingung und Eure Herzen
im Gleichgewicht, wie es fuer einen Tanjian angemessen ist.

Nachtwind.


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



Re: Alles wird gut. (Terrorist,  8. Mai 2001, 13:52:01):
~#! rn=Nachtwind rt=989276534 rg=gilden.tanjian
~#! tid=989276534
Hmm also ... Kritik ...

Meiner Meinung nach hat sich der Richtige drangesetzt, und wird das Prob fuer
alle Seiten angenehm loesen :)
War zumindest in der Vergangenheit der Fall.



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



Re: Re: Alles wird gut. (Solmyr,  8. Mai 2001, 18:46:52):
~#! rn=Terrorist rt=989322721 rg=gilden.tanjian
~#! tid=989276534
Da fehlt noch,...

Terrorist sabbert seinen Schleim auf den Boden.

Sol* :)

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



Re^3: Alles wird gut. (Terrorist,  8. Mai 2001, 21:49:36):
~#! rn=Solmyr rt=989340412 rg=gilden.tanjian
~#! tid=989276534
Ich SABBERE nicht!

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



Re^4: Alles wird gut. (Solmyr,  9. Mai 2001, 05:16:25):
~#! rn=Terrorist rt=989351376 rg=gilden.tanjian
~#! tid=989276534
Sry, aber 'schleim','schleime' find ich nirgends in der Mudlib :)

Sol*

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



Nachtrag (Nachtwind, 14. Mai 2001, 19:21:04):
Ich habe beim Waffenskill die Streuung noch etwas verkleinert, der Schaden
sollte ein wenig stabiler sein. Fuer feedback bin ich wie immer dankbar.

Nachtwind.

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



zwei bugfixes (Nachtwind, 16. Mai 2001, 17:12:45):
Zwei kleinere Probleme behoben:

- nach "meditation" wird bei Clanmitgliedern jetzt richtig im "finger"
  der Clan angezeigt.
- Die kleine Aufgabe fuer den Clan kumo ist jetzt erfuellbar,
  somit kann man dem Clan wieder beitreten. Allerdings sollte man neues
  Drachenblut besorgen.

Nachtwind.

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



alles moegliche (Jakscha, 27. Mai 2001, 02:10:12):
soo, also eigentlich gehoert nur 1.) hierher, aber ich bin der gilde ja so
verbunden, dann schreib ich hier alles.
1) wer ist jetzt eigentlich fuer die gilde zustaendig? bsp. in der gilde gibt
es seherhaeuser fuer tanjian, wenn nun ein neuer tanjianmeister sein haus dort
einrichten moechte, an wen muss er sich dann wenden? oder ist mit paras abgang
*danke nochmal fuer die arbeit, geniesse den ruhestand* sowas unmoeglich
geworden?
2) zur balance (falsche rubrik aber ich bin zu faul zu wechseln)
  - wenn man gewisse sachen abwertet, sollte man sich nicht ueberlegen andere
sachen, die wirklich nur von "topsehern" geholt werden koennen aufzuwerten
(neue reize). da faellt mir zB diese drachenruestung von para ein, fuer die
man ja echt genug schwere drachen faellen muss, die aber im allgemeinen als
"den aufwand lange nicht wert" angesehen wird.
 - diese dinge koennte man dann aber auch in der menge beschraenken. ich will
darauf hinaus, dass es evtl. mehr uniques (semi uniques) geben sollte, fuer
die man grossen aufwand betreiben muss (nicht so wie beim mwz zB)
 - die idee gewisse gegenstaende spielerlvl abhaengig zu machen finde ich
persoenlich hervorranged. grund: so hat man doch einen gewissen anreiz
weiterzuforschen / ek's zu sammeln.... ich persoenlich hatte den anreiz zum
ersten mal in der tanjian gilde (lvl 60 zu werden fuer glvl 11) und fand das
eigentlich hervorragend. eine herausforderung. wieso nicht eine
herausforderung der art um das grosse boese feuerschwert nutzen zu koennen?
so long, der momentan immer nur mpa lesende jakscha

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



Re: alles moegliche (Nachtwind, 27. Mai 2001, 09:48:31):
~#! rn=Jakscha rt=990922212 rg=gilden.tanjian
~#! tid=990922212
Gildenmagier der Tanjian ist nach wie vor Paracelsus. "Ruhestand" halte ich
da fuer zuviel gesagt, er tritt halt etwas kuerzer. Solange er nicht formell
zuruecktritt, ist er fuer alles was die Tanjian betrifft zustaendig. Soweit
ich weiss, leitet er seine email auch an seine RL-adresse weiter (?).
Wegen irgendwelchen Seherhaeusern wuerde ich ihm also einfach eine mail
schicken und dann mal auf Antwort warten.

Nachtwind.

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



Re: Re: alles moegliche (Wurzel, 27. Mai 2001, 10:49:08):
~#! rn=Nachtwind rt=990949711 rg=gilden.tanjian
~#! tid=990922212
voellig korrekt.
zum thema seherhaeuser kann man sich prinzipiell auch immer an mich wenden.
fuer den fall, dass der fuer das gebiet, wo das haus stehen soll, zustaendige
magier inaktiv ist z.b., was auf paracelsus aber (noch?) nicht zutrifft, gibt
es da unterstuetzung.

wurzel

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



Freude schoener Goetterfunken! (Nachtwind, 12. Jun 2001, 03:25:37):
Hallo meine lieben lieben Freunde!




Wieso guckt ihr so misstrauisch? Na gut, habt Recht.

Nachdem ich ein bisschen Statistiken ausgewertet und mir die Tanjian-
Defensive ausgiebig in der Praxis angesehen habe, hat Omamori noch
etwas leiden muessen. Zwar waren die Maximalwerte jetzt durchaus in
irdischen Bereichen, aber der durchschnittliche Schutz grade gegen
mechanischen Schaden war noch merklich zu hoch. Das wird besonders
bemerkbar bei vielen kleinen NPCs, die jeder einzeln nur maessig
Schaden verursachen (Ratten, Hydra, etc.). Also da bitte Vorsicht
walten lassen, bei 10 Angriffen die Runde macht das einen deutlichen
Unterschied, ob man 10 mal "gekratzt" oder 10 mal "hart" getroffen
wird ...

Offensive sieht soweit ganz gut aus, da gibt's folglich auch keine
Veraenderungen. (Gut begruendetes) Feedback wie immer per mail an
mich.

Nachtwind.

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



betreuung (Patryn, 19. Sep 2001, 23:39:56):
hi leute,

ich nehme ab sofort mit die betreuung der gilde, will mich aber nicht
als gildenmagier verstandenwissen, der dann zb auch um herztropfen-hol-raus
mit nachtwind um aufwertungen oder gegen abwertungen kaempft.
ich werd hier ein paar erleichterungen einbaun, da ein paar bugs raus,
hauptsaechlich bekommt ihr unsichtbar nen bissel zauberertechnologie
verpasst, die sich aber nicht ins spielgeschehen zauberlastig
durchschlagen wird.
als erstes zb geht ab sofort sowas wie
 koryoku fackel im raum
 koryoku keks in mir
und so weiter halt, die ganze objekterkennung ist umgestellt.
als naechstes koennter mir wuensche mailen, wo denn sowas aehnliches wie
ein up-to-date brett ala zauberer hin soll, da ich aenderungen dann nur
noch dort vermerken werde.
in der mpa zieht das frueher oder spaeter bloede kommentare auf sich,
wenn eine gilde mehr aenderungen als ne andere bekommt, ich kenn das.

-- 
patryn

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



brett (Patryn, 20. Sep 2001, 00:05:28):
oki, neues schwarzes brett nun bei siamil.

-- 
patryn

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



brett (Patryn,  9. Okt 2001, 19:53:07):
einmal brett lesen bitte

-- 
patryn

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



spielerwuensche weil bald weihnachten ist ;) (Patryn,  4. Dez 2001, 19:40:19):
hi leuts,

wer seine spellkosten beobachtet wird je nach gildenlevel bestimmte
veraenderungen bermerken, die sowohl spielervorschlaegen als auch
nachtwinds wunsch entsprechen.
ich war natuerlich auch begeistert dabei das einzubaun und werde aber hier
nicht mehr infos dazu geben, alles andere durch scharfes hinschaun :)

-- 
patryn

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



Bernsteinplatte (Nachtwind,  8. Feb 2002, 14:04:30):
Huhu Tanjian,
wer von Euch noch ein "schwarzes Skelett" auf seiner Bernsteinplatte hat
(Metzelquest), der moege sich ggfs. eine neue Platte holen (durch "ende").
Danach sollte das verschwunden sein, wenn nicht mailt mir eine gesalzene
Flame.

Einen ausgeglichenen Tag noch.
Nachtwind.

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



Re: Bernsteinplatte (Eldaron,  8. Feb 2002, 14:09:19):
~#! rn=Nachtwind rt=1013173470 rg=gilden.tanjian
~#! tid=1013173470
Man braucht die Skelette nicht nur fuer die Waage der Gerechtigkeit, sondern
auch fuer die Aufnahmequests zweier Clans. Wenn Du schon dabei bist ... ;o>

Gruss Eldaron

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



Re: Re: Bernsteinplatte (Silvana,  8. Feb 2002, 14:29:00):
~#! rn=Eldaron rt=1013173759 rg=gilden.tanjian
~#! tid=1013173470
Koennte bitte jemand, der die betroffenen Objekte fuer seinen Clan bereits
besorgt hat, mir einmal genau schildern, welche NPCs die relevanten
Hinweise/Infos dazu haben? Ich wuerde die Objekte gerne umziehen lassen, aber
die Infos scheinen auch programmiertechnisch gut versteckt zu sein. Bitte
_NICHT_ in die MPA setzen, sondern mir per Mail zukommen lassen.

  Silvana

PS: Ich meine _wirklich_ mail, nicht "teile mit". Letztere gehen zu leicht
verlohren.

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



RUMMMS!!!! (Humni, 20. Jan 2003, 11:33:37):
Humni

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



Re: RUMMMS!!!! (Humni, 22. Jan 2003, 13:54:47):
~#! rn=Humni rt=1043058817 rg=gilden.tanjian
~#! tid=1043058817
OK OK .. nein es ist gar nix passiert. Gar nix. Wirklich nicht. OK, alle
zufrieden? Glaubt bloss nicht ich kuendige Aenderungen nicht ordentlich an.

Humni
PS: Ich hatte meinen Spass. Tut mir leid .. naja, eigentlich nicht ;-)

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



clanspells (Patryn, 24. Jan 2003, 23:35:08):
Scheinbar ist es nicht moeglich fuer clanspells Einschaetzungen bei
Siamil zu erhalten. Nun hab ich das Problem der fehlenden Uebergabe der
Gilde...deshalb, ist das Absicht? Sollte Siamil oder die Clanchiefs
diese Info geben wenn es rein sollte.
Wer Siamil nach den Spells fragt, bekommt eine sehr praegnante
Kurzbeschreibung, wobei nichtmitglieder der Gilde nur einen kurzen
Erklaerungstext bekommen, Tanjian in Klammern eingeschlossen etwas mehr
und die Inhaber der Spells dann letztlich die Einschaetzung.
Die 2 ersten Texte wuerde ich bei euch einfordern wollen, da ich die
Gilde eigentlich nur aus technischer Sicht kenne.
Wenn ihr sowas scheibt, waehl ichs beste aus und haeng das mit
Einschaetzung ran, entweder in Siamil oder den Chiefs.
Ansonsten nicht.
Die Empfehlung manPage oder sequence reicht mir nicht, diese
Beschreibungen weichen deutlich ab und sind praegnanter.

-- 
Patryn

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



Re: clanspells (Patryn, 25. Jan 2003, 02:49:39):
~#! rn=Patryn rt=1043447708 rg=gilden.tanjian
~#! tid=1043447708
Kommando zurueck, Eldron meinte, die haben schon solche elementare Infos,
sagen aber nur Info ohne Einstufung.
Wenn man sie nach Faehigkeit fragt sagen sie Grobeinschaetzung des
Clanspells, das ist nun Feineinschaetzung, war wohl nen Fehler.
Macht anders keinen Sinn eigentlich...

-- 
Patryn+

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



Zaubischutz (Humni, 14. Mar 2004, 20:10:21):
Wers nicht liest: Ich verweise auf die Rubrik gilden.zauberer, wenn sich
jemand von denen Schutz(huellen) holen sollte.

Humni

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



Re: Der gute Schutz (Ogo, 14. Mar 2004, 23:35:18):
~#! rn=Humni rt=1079291368 rg=gilden.zauberer
~#! tid=1079291368
Oh, wenn die Magiearten doch nicht so kompatibel sind, wie urspruenglich
gedacht war; kann man davon ausgehen, dass Kiri nun auch auf Zauberer
schwaecher wirkt, richtig?

Ogo

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



Freude schoene Goetterfunken! (Humni, 10. Apr 2004, 18:55:48):
Jaja,

doofer Witz. Musste aber sein. Nein, diesmal gibts unter dm Titel wirklich was
zum freuen: Es gibt nun einen neuen Gildenmagier fuer die Tanjian, naemlich
Nibel. Diesmal also jemand, an den Ihr Euch wegen Aufwertungen und Aenderungen
wenden koennt.

Patryn wird (auf jeden Fall vorerst) noch Gildenmagier bleiben, dann haben wir
da ein Team ;-)

So, dann wuensche ich allen Beteiligten viel Spass mit der Gilde und moege das
Tautau mit Euch sein...

Humni

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



Deine Meinung ist gefragt. (Nibel, 12. Apr 2004, 03:56:49):
Ich habe ein neues Gildenbrett bei Siamil aufgestellt, das es euch 
ermoeglicht, Ideen zur Gilde u.ae. niederzuschreiben. Dies ist auch 
erwuenscht, also wenn ihr zu positiven Veraenderungen an eurer Gilde beitragen
wollt, ueberlegt euch was. Alles weitere (auch Aenderungen) werde ich 
zukuenftig, wie Patryn bis anhin, dort bekannt geben.
  - Nibel
-----------------------------------------------------------------------------



Clan Ryu (Nibel,  8. Jun 2004, 02:59:50):
Damit nachher niemand jammern kommt, er haette nichts davon gehoert, schreib
ich das mal hierher.

Xentopramstra, seines Zeichens Zwergdrache und Oberhaupt des lange 
verschollenen Ryu-Clans, hat dank einer Zauberin namens Bran endlich 
ein Zuhause in einem gemuetlichen Vulkan gefunden. 

Fairerweise (hachja...) wird man, entgegen der normalen Clanregeln, waehrend 
einer Uebergangszeit zum Ryu-Clan wechseln koennen. Wer sich also vor Jahren 
fuer einen anderen Clan entschieden hat, koennte die Gelegenheit nun beim 
Schopf packen. 

Zwei Dinge vorweg: Nein, ein Rueckfahrticket wirds nicht geben, und nein, 
man hat dann auch nicht zwei Clanspells.

Alles weitere wieder wie gehabt und intensiv genutzt, auf dem Gildenbrett
bei Siamil.
  - Nibel
-----------------------------------------------------------------------------



gl 12 - Lehrmeister des Tau-Tau (Nibel,  1. Apr 2006, 16:01:10):
Hallo Tanjian,

lange war es still um den Orden der Neutralitaet. Dafuer steht nun eine umso
groessere Aenderung an, denn Siamil, seines Zeichens 'hoher Lehrmeister des
Tau-Tau', hat sich erbarmt: Vollstaendig ausgilbdete Erzmeister koennen nun
in die Raenge der 'Lehrmeister' aufsteigen, um die letzten Geheimnisse
des Tau-Tau zu erfahren. Zudem wird es im spaeteren Verlauf notwendig, dass
Lehrmeister ihre Schoesslinge (die Adepten) ausbilden, denn Siamil und seine
Kollegen sind es langsam leid. 

Die Anforderungen sind naturgemaess extrem ausgefallen (wer nicht alle
Kuenste perfekt beherrscht, kann anderen auch nichts sinnvolles beibringen),
zudem wird es verschiedene Aufgaben zu bewaeltigen geben. Der Erzmeister
muss sich auf einen weiten Weg begeben, um nicht nur sich selbst zu finden,
und in einer Art verschaerften Waage-Version weiter die Neutralitaet in die
Welt zu bringen, er wird auch die Gilde (deren Fuehrung, worunter auch die 
Clans fallen) in grossen Teilen unterstuetzen muessen. Aber lasst euch 
Naeheres einfach von Siamil erklaeren.

Bugberichte etc. an mich.

  - Nibel
-----------------------------------------------------------------------------



Buff inc! (Nibel,  7. Sep 2007, 22:24:24):
Damit's hier nicht so leer ist: All eure Spells machen nun durchschnittlich
doppelt soviel Schaden wie zuvor und Koryoku identifiziert nun Gegenstaende 
etc. direkt ab dem 3. Gildenlevel statt wie bisher erst ab dem 6. Dies duerfe
bei diversen Lowlevel-Quests hilfreich sein.

Nun gut, etwas davon ist wahr...
  - Nibel
-----------------------------------------------------------------------------



Re: Buff inc! (Eljo,  8. Sep 2007, 08:02:32):
~#! rn=Nibel rt=1189196664 rg=gilden.tanjian
~#! tid=1189196664
Bitte ersteres, bitte bitte bitte. :o)

Wir sind sooo schwach ...

Eljo - knabbert an euren Moehrchen und verschwindet.

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



Re: Re: Buff inc! (Gloinson,  8. Sep 2007, 11:30:35):
~#! rn=Eljo rt=1189231352 rg=gilden.tanjian
~#! tid=1189196664
Hat doch geklappt:

> Damit's hier nicht so leer ist

Fixed. Danke, Nibel! :)


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



GildenNPCs etc. (Chagall,  7. Mar 2008, 19:08:23):
Huhu,

nur so als Info, die Tanjian-NPCs verhalten sich jetzt wieder so, wie sie
sollen. Also aufpassen, sonst tuts weh.

MC

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



Neueste Mudlib-Aenderungen (Humni,  9. Aug 2008, 19:42:20):
Hallo Tanjians,

die Dinge, die in der Mudlib geaendert wurden, koennten ein anderes
Spielverhalten in der Tanjian-Gilde bringen. Namentlich Kokoro- und andere
Modifikationen koennten sich veraendern.

Meines Erachtens nach sollte das jedoch nicht der Fall sein bzw. keine
gravierenden Auswirkungen haben.

Sollte ich hier irren: Meldet Euch!

Gruesse
Humni

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



Angriffe pro Runde (Humni,  8. Apr 2010, 16:02:29):
Auch die Tanjian koennen nun wieder nur einmal pro Runde Kaminieren oder
Arashieren. Tja. Das Leben ist hart. Gewoehnt Euch dran.

Humni


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



Re: Angriffe pro Runde (Mirimadel,  8. Apr 2010, 19:48:46):
~#! rn=Humni rt=1270735349 rg=gilden.tanjian
~#! tid=1270735349
Finde ich voll in Ordnung, einmal in der runde reicht.
Die Tanjian haetten nur ein wenig Nachholbedarf bei Spruechen im allgemeinen.
Es sollte 100% wenigstens fuer 80% stehen nicht nur fuer 50%. Meine die
Sprueche die gemaxt sind sollten oeffters auch erfolgreich sein.
sonst sind die tanjian voll OK.
Gruessel Miri

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



Re: Re: Angriffe pro Runde (Mini,  8. Apr 2010, 23:23:42):
~#! rn=Mirimadel rt=1270748926 rg=gilden.tanjian
~#! tid=1270735349
Hallo 
ja, eine gute Sache, wenn die gut gelernten Sprueche besser kaemen oder auch
(durch Gq's / Mq's) Items wie z.B ein Teleporter erworben werden koennten.
viele Gruesse Mini

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



Re^3: Angriffe pro Runde (Belenus, 10. Apr 2010, 16:49:30):
~#! rn=Mini rt=1270761822 rg=gilden.tanjian
~#! tid=1270735349
Hallo,
ich bin auch der Meinung, dass die Spells etwas angepasst werden sollten. Vor
allem gebe ich Mirimadel Recht, dass Sprueche oft zu schwach kommen, auch wenn
man sie wirklich fast perfekt beherrscht. Das ist keine angemessene Belohnung
fuer die Muehe, die Sprueche so hoch zu trainieren. Aufmerksam machen moechte
ich in diesem Zuge auch darauf, dass Kami mit seiner aktuellen Spellzeit nicht
wirklich besser ist als die Angriffsspells, die ohne Verzoegerung gespellt
werden koennen. Ich wuerde es sehr begruessen, wenn hier nachgebessert werden
wuerde. Kami an sich ist sehr hilfreich und ja auch als staerkster Spell der
Gilde gedacht. Diese Bedeutung geht aber einfach verloren, wenn der Spell so
lange braucht wie 2 oder 3 der schwaecheren Spells. Und wenn hier schon mal
wieder was los ist, habe ich noch einen Vorschlag: Es besteht aktuell noch
eine Luecke zwischen GL11 der Spieler und GL13 der hoechsten NPCs. GL12
koennte hier also eingefuehrt werden. Woran es Tanjians noch sehr mangelt, ist
ein adequater Schutz. Aehnlich wie Kami koennte man hier also als GL-Spell die
Schutzkami einfuehren. Diese sind nicht in Waffen, sondern in Schilden und
wuerden dann kurzzeitig den Schutz des Tanjian entsprechend der
Elementargeister in den Schilden verstaerken. 
Mit der Bitte um und der Hoffnung auf angeregte und angemessene Diskussion
gruesst

Belenus

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



Re^4: Angriffe pro Runde (Mirimadel, 10. Apr 2010, 17:23:18):
~#! rn=Belenus rt=1270910970 rg=gilden.tanjian
~#! tid=1270735349
Da kann ich nur zustimmen Bel, es ist die Muehe fuer den aufstieg in der
Tanjiangilde kaum wert.
Die Kampfkraft sollte schon mit dem Anforderungen angepasst werden.
Balance sollte unparteiisch sein und nicht Gilden aufwerten lassen und andere
abwerten.
Keiner verlangt das zwei Spells pro Runde kommen, aber sie sollten wieder so
stark kommen wie vor Reboot.
Auch sollte wenn es moeglich ist wieder ein GM bei den Tanjian eingesetzt
werden. Vielleicht sollten auch andere gilden Konzentrationszeiten in ihre
grossen Angriffspells bekommen.
Ich kann bis jetzt den Sinn von Omamori immer noch nicht erkennen, wenn man
den Raum mit dem NPC betritt udn Omamori startet ist der Spruch ja noch nicht
einmal aktiv bis die flucht anschlaegt. Es ist besser wenn man auch Omamori
vor dem Kampf starten koennte, wie das mit dem Schutz in anderen gilden ist,
oder die Verzoegerung raus.
Omamori ist nur eine Kampfbehinderung, wenn die Magier sich die waage
ausgedacht haben sollten auch die Voraussetzungen stimmen. Ich verweisse da
auf die Chaoten die haben in gL 8 keine Pflichtgegner in Para und sind in
letzter Zeit nicht abgewertet worden und haben auch keine Verzoegrung beim
Chaosball! 
Lasst die Tanjian leben und stellt alles wieder auf vor reboot ein, da hatten
wir auch keine zwei kaminari in der runde aber die anderen spells gingen
besser.
Wenn man einen Spruch auf 100% hat sollte er von 10 mal mindestens 9 mal
erfolgreich sein.
gruessel Miri

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



Re^5: Angriffe pro Runde (Felix, 10. Apr 2010, 22:48:58):
~#! rn=Mirimadel rt=1270912998 rg=gilden.tanjian
~#! tid=1270735349
1. Ich find die Tanjian gut wie sie sind.
2. Warum der staendige Vergleich mit den Chaoten? Jede Gilde ist halt anders.
3. Siamil sagt nichts von 100%, das ist dein Skript.
4. Wir Tanjian koennen mit allen Waffengattungen bestens umgehen. Wir haben
   einen der effektivsten Schnellsprueche. Warum sollten wir nun auch noch
   (fast) alle Schadensarten per Spell (kami) ohne groesseren Nachteile 
    haben? Balance - Vor- UND Nachteile - ist hier das Stichwort.
5. Wer sagt denn, dass man Omamori erst beim Super-Duper-Monster anmachen
   kann, das geht doch auch schon bei der kleinen Ameise nebenan.
6. Ja, der Schutz der Tanjian koennte besser sein. Aber es gibt ja Clans, die
   sowas anbieten, die Clanwahl muss halt gut ueberlegt sein. Und wie schon
   gesagt, Tanjian koennen einfach nicht alles haben.
7. Ein neuer GM und mehr Atmosphaere sind sicherlich sehr willkommen. :)

Felix

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



Re^4: Angriffe pro Runde (Vardion, 11. Apr 2010, 10:05:50):
~#! rn=Belenus rt=1270910970 rg=gilden.tanjian
~#! tid=1270735349
Kami ist seit der ersten grossen Tanjianabwertung tot, das brauchst Du im
Prinzip nicht mehr zu ueben. Gildenlevel 11 ist trotzdem toll, weil dadurch
z.B. Samusa ein Instant wird. Und ein Tanjian, der mit Akshara an einem Gegner
steht, und jede Runde noch einen Samusa rauswirft, ist ganz sicht nicht
schwach. Natuerlich alles unter der Annahme, dass meditiert wurde und Kokoro +
Omamori an ist. Und was Schutz angeht - Tanjian duerfen zusaetzlich zu Omamori
sogar noch beliebige Ruestungen anziehen. Da gibt es auch einige ganz nette
Exemplare.

Vardion

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



Re^6: Angriffe pro Runde (Mirimadel, 11. Apr 2010, 13:47:03):
~#! rn=Mirimadel rt=1270985173 rg=gilden.tanjian
~#! tid=1270735349
Die Angriffe pro Runde reicht einer voll aus mit Samusa oder Arashi.
Nur Omamori sollte auch vor dem Kampf gestartet werden Koennen.
Bei Gegnern wo das moeglich ist da gehe ich auch erst zum Koch nach PV um
Omamori zu starten, aber es gibt leider bei der Waage auch gegner wo es
schlicht unmoeglich ist und Omamori wichtig waere.
Frage sind damals bei der Abwertung der Tanjian auch die GQ mit abgewertet
worden?
Fuer ein weiteres Gl bin ich nicht, nach Waage und Drachentoeter, Heffen langt
es eigentlich.
Und Entschuldigung habe nicht gewusst das Chaoten nicht alle ruestungen tragen
koennen, Abenteurer koennen das.
Problem dabei ist es nur an die Ruestungen und Items heranzukommen, wenn man
keinen starken Erstie oder Zweitie hat. Fuer Tanjian gl 8, 9 und 10 sehr
schwer.
Wenn Kami tod ist, macht dann Gl 11 noch Sinn, oder kann man sich dann Heffen
sparen?
finde Clan fuer Schutz ist gut aber ich bin Woelfchen udn finde das gut.
Als Abenteurerin hatte ich auch keinen Schutzspruch aber ein Schnell was
zuverlaessig kam, es fehlten nut die Schwertfaehigkeiten.
Gruessel Miri

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



Re^7: Angriffe pro Runde (Chagall, 11. Apr 2010, 13:49:51):
~#! rn=Mirimadel rt=1270986423 rg=gilden.tanjian
~#! tid=1270735349
GL11 macht insofern Sinn, als das z.B. omamori kaum noch Preparezeit hat, d.h.
zu Beginn eines Kampfes anwerfen und es ist fast sofort da. Jedenfalls war das
so, als mein Tanjian noch aktiv war.

MC

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



Re^8: Angriffe pro Runde (Mirimadel, 11. Apr 2010, 14:04:28):
~#! rn=Chagall rt=1270986591 rg=gilden.tanjian
~#! tid=1270735349
Dann ist das mit dem Schutz ja geklaert freu.
Haette ich nur gern schon fuer die Waage gehabt grins.
Haut drauf Tanjians
Miri

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



Re^9: Angriffe pro Runde (Nicolai, 11. Apr 2010, 17:13:37):
~#! rn=Mirimadel rt=1270987468 rg=gilden.tanjian
~#! tid=1270735349
(antwort auf letzten artikel etc)
Problem ist, das einige tf-Pakete die ein oder andere Schadensmeldung
von Spells umtriggern als "Fehler!". Das ist aber kein Gildenproblem
sondern ein client/tf/trigger-Problem, Stichwort hier:
vertraue nur selbergeschriebenen Paketen?!
Ueber den Rest (zu wenig Schutz, zu viel Aufwand und dann zu schwach)
sag ich mal lieber nix :)

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



Re^10: Angriffe pro Runde (Humni, 11. Apr 2010, 19:48:00):
~#! rn=Nicolai rt=1270998817 rg=gilden.tanjian
~#! tid=1270735349
Was mich nun interessiert: Was ist denn seit dem Reboot abgewertet worden? Das
einzige, was ich abgewertet habe, war die Castanzahl (2 pro Runde/1 pro Runde)
- und das war ein Bug, und nie so gedacht. Spells abgewertet habe ich keine.

Ob man ueber einen besseren Kami nachdenken darf? Ja, darf man. Wobei man
bitte auch bedenken sollte, dass das ein Spell mit beliebiger Schadensart ist.
Zusaetlich mit verdammt guten Waffenskills und einem recht ordentlichen Schutz
sehe ich gerade nicht, dass die Tanjian absolut im Hintertreffen sind. Ich
diskutiere das auch gerne mit einem Gildenmagier.

Humni

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



Re^11: Angriffe pro Runde (Humni, 11. Apr 2010, 21:44:11):
~#! rn=Humni rt=1271008080 rg=gilden.tanjian
~#! tid=1270735349
Da mich nun mehrere Leute drauf angesprochen haben:

* Es war nie angedacht, dass die Tanjian mit der (technischen) Umstellung
schneller casten koennen.
* Ich habe nichts an den Werten gedreht, ausser halt der Zeit, bis man einen
neuen Spell casten kann.
* Ein Ueberblick ueber das Spellbook sagt mir, dass da IMHO nix dran geaendert
wurde, ohne jetzt einen direkten Diff gemacht zu haben.
* Tests werde ich gleich mal mit einem Spieler machen. Hab heute aber nicht
mehr viel Zeit.

Humni

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



Re^12: Angriffe pro Runde (Swotl, 11. Apr 2010, 21:51:39):
~#! rn=Humni rt=1271015051 rg=gilden.tanjian
~#! tid=1270735349
Nur kurz zur Info:
Du konzentrierst Dich auf die Kaelte des Universums.
  ...Tanjian/Samusa...... Du........... : Kampfblech... ******** -> zu Brei
  ...Tanjian/Arashi...... Du........... : Trollmops.... ******** ->
Schmettern

IMHO voellig in Ordnung. Kokoro und Meditation sind natuerlich immer
vorausgesetzt.

Das waren natuerlich verschiedene Kaempfe und mit Scrollreduzierer, aber ich
denke, dass alles in Ordnung ist, und das wurde mir auch soeben von jemand
anders bestaetigt.

Wenn ihr nach dem Reboot die entsprechende Ausruestung nicht habt, kann Euch
natuerlich noch Schutz oder auch Waffenpower fehlen. Die Angriffspells sind
IMHO voellig ok.

Swotl / Humni

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



Re^13: Angriffe pro Runde (Humni, 11. Apr 2010, 22:01:00):
~#! rn=Swotl rt=1271015499 rg=gilden.tanjian
~#! tid=1270735349
Ok. Thesen, woran das liegen kann, ich denk gerade mal nach:

* Ihr habt noch nicht dieselben Ruestungen wie vor dem Reboot. Darum wirkt der
Schutz nicht so gut.
* Darum bleibt ihr nicht so lange im Raum
* Wenn ihr nicht so lange im Raum bleibt, gibt es nicht soviel Schaden bei den
Spells.

Ist aber nur eine These.

Des Weiteren hat KEINE Gilde eine Garantie fuer Max-Zauber. Nicht die Chaoten
(die schon gar nicht), nicht die Zauberer, nicht die Kaempfer, nicht die
Abenteurer...

Humni

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



Re^7: Angriffe pro Runde (Vardion, 12. Apr 2010, 18:21:52):
~#! rn=Mirimadel rt=1270986423 rg=gilden.tanjian
~#! tid=1270735349
Chaoten koennen ebenfalls alle Ruestungen tragen, sorry falls ich mich hier
missverstaendlich ausgedrueckt habe. Ich hatte da eine zaubererlastige Sicht.
Chaoten haben aber weder Akshara noch haben sie Waffenskills. Und meines
Wissens haben sie auch keinen Flaechenspell.

Vardion

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



Re^8: Angriffe pro Runde (Chagall, 12. Apr 2010, 18:22:38):
~#! rn=Vardion rt=1271089312 rg=gilden.tanjian
~#! tid=1270735349
Chaoten sollten doch mittlerweile den Standardwaffenskill aus der
Basislib haben, wenn ich mich nicht grad taeusche.

MC

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



Re^8: Angriffe pro Runde (Mirimadel, 12. Apr 2010, 20:30:28):
~#! rn=Vardion rt=1271089312 rg=gilden.tanjian
~#! tid=1270735349
Haben Chaoten nicht den Chaosball mit sehr vielen verschiedenen Schadensarten
und die Finsterung von gegnern?
Und chaoten koennen meiner Beobachtung nach auch ihren Schutz vor dem Kampf
aktivieren.
Chaoten sollten sich nicht beschweren, sind doch viele Chaoten gl 11 ohne
grosse Porb aufgestiegen nur mit ein paar kleinen GQ oder irre ich da.
Den erst nach der letzten ueberarbeitung sind doch GQ richtig eingefuehrt
worden.
Wie gesagt die Chaoten muessen in GL 8 keine Gegner in Para metzeln fuer ihren
Aufstieg, waere doch gut wenn die Chaoten in GL 8 eine GQ die der Waage
gleicht bekommen.
Denn von ihrer Kampfkraft duerften sie nicht schwaecher sein wie wir tanjian,
wir haben keinen Daemon und muessen alleine stehen vor dem Gegner, koennen uns
nicht in einem Tanjianteam in Reihe 2 stellen.
Ich denke doch das alle grossen Gilden in etwa gleich stark sind, jede mit
ihren Vor- und Nachteilen.
Miri

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



Re^13: Angriffe pro Runde (Belenus, 12. Apr 2010, 20:58:17):
~#! rn=Swotl rt=1271015499 rg=gilden.tanjian
~#! tid=1270735349
Hallo,
ja, Du hast Recht: die beanstandete Schwaeche lag an einem schlecht gekommenen
Kokoro. Ich wuerde sehr begruessen, wenn Du mit einem GM ueber die lange
Konzentrationszeit von Kami reden wuerdest, um dieses wieder attraktiver und
nutzbarer zu machen. Und wenn bei Kokoro wirklich auch wenn man es "wirklich
fast perfekt" beherrscht aus balance-Gruenen noch "etwas Energie" durch den
Geist fliessen muss, dann kann man im selben Gespraech ja vielleicht auch
bewirken, dass bei einem so schlecht gekommenen Kokoro die Wirkzeit verkuerzt
wird. Ein Tanjian, der ab dem Meister-Grad nicht mal Kokoro vernuenftig hin
bekommt ist sowieso schon komisch. Wenn er dann wenigstens nicht lange
darunter leiden muss, waere das nur gerecht. Ich bitte also nicht um direkte
Aufwertung bzw. Verstaerkung, sondern lediglich um Anpassung der
Konzentrations- und Wirkungszeiten, damit Tanjian wieder mehr Spass macht und
auch die Gilde wieder mehr Zuwachs erfaehrt trotz der hohen Anforderungen.
Danke und Gruesse

Belenus

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



Re^14: Angriffe pro Runde (Croft, 12. Apr 2010, 21:59:59):
~#! rn=Belenus rt=1271098697 rg=gilden.tanjian
~#! tid=1270735349
So ein Tanjian die Rahmenbedingungen fuer ein gutes Kokoro nicht hinbekommt,
soll es imho auch schlecht sein.

Croft

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



Re^15: Angriffe pro Runde (Belenus, 13. Apr 2010, 19:34:29):
~#! rn=Croft rt=1271102399 rg=gilden.tanjian
~#! tid=1270735349
Was genau meinst Du mit "Rahmenbedingungen"? Kokoro laesst sich doch nicht
durch irgend etwas beeinflussen...

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



Re^16: Angriffe pro Runde (Chagall, 13. Apr 2010, 19:36:36):
~#! rn=Belenus rt=1271180069 rg=gilden.tanjian
~#! tid=1270735349
Doch.

MC

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



Re^16: Angriffe pro Runde (Croft, 13. Apr 2010, 20:26:28):
~#! rn=Belenus rt=1271180069 rg=gilden.tanjian
~#! tid=1270735349
Tja.  Da liegt dein Fehler.

Croft

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



Re^17: Angriffe pro Runde (Belenus, 13. Apr 2010, 21:05:10):
~#! rn=Croft rt=1271183188 rg=gilden.tanjian
~#! tid=1270735349
Gut, wenn dem so ist, will ich nichts gesagt haben. Waere aber schoen, wenn
man darueber etwas von Siamil erfahren wuerde. Das ist mir naemlich neu. 

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



Re^18: Angriffe pro Runde (Mirimadel, 13. Apr 2010, 21:14:16):
~#! rn=Belenus rt=1271185510 rg=gilden.tanjian
~#! tid=1270735349
Wie Kokoro kann man beeinflussen, da bin ich aber gespannt, was kann man mehr
tun als meditieren und neutral sein?
Miri

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



kokoro (Mirimadel, 13. Apr 2010, 21:32:42):
Fuer das Amu was Kokoro verbessern soll!
Muss man ja Heffen und Kia metzeln, dafuer sollte man die tanjian erheblich
aufwerten um das zu schaffen, oder ohne Aufwertung keine Reboots mehr.
Mal im ernst die Trauben haengen ziemlich hoch und in Gl 10 nicht zu machen,
oder gibt es Einen der das kann? Ich schaue gern zu.
Am besten ist der Magier der das verzapft hat fuehrt es einmal vor.

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



Re^19: Angriffe pro Runde (Croft, 14. Apr 2010, 00:45:33):
~#! rn=Mirimadel rt=1271186056 rg=gilden.tanjian
~#! tid=1270735349
Das sind doch schon mal 2 Rahmenbedingungen.  Und meditieren ist nicht
zu unterschaetzen.  Als weiteres Kriterium will ich mal noch den
Alkohol nennen ;-)

Croft

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



Re^20: Angriffe pro Runde (Deepblue, 14. Apr 2010, 10:10:49):
~#! rn=Croft rt=1271198733 rg=gilden.tanjian
~#! tid=1270735349
Zu "in GL 10 nicht zu schaffen." noch mal die Erinnerung, dass dies ein
MULTI-User-Dungeon ist.

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



Re^21: Angriffe pro Runde (Gloinson, 14. Apr 2010, 10:50:14):
~#! rn=Deepblue rt=1271232649 rg=gilden.tanjian
~#! tid=1270735349
Multi steht fuer multiple Angriffe pro Runde, oder? Will ich haben.


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



Re^22: Angriffe pro Runde (Deepblue, 14. Apr 2010, 10:51:19):
~#! rn=Gloinson rt=1271235014 rg=gilden.tanjian
~#! tid=1270735349
Aehm, bei Multi-User bezieht sich das auf Angriffe auf Multiple User - also
quasi Flaechenspells ^^

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



Re^23: Angriffe pro Runde (Mirimadel, 14. Apr 2010, 12:21:23):
~#! rn=Deepblue rt=1271235079 rg=gilden.tanjian
~#! tid=1270735349
Flaechenspells haben doch auch andere gilden nur ohne Konzentrationszeit.
Multi-User-Spiel heisst auch, dass immer viele Spieler anwesend sein sollten.
Ich hatte bis jetzt immer das Glueck noetige Hilfe bei den GQ zu erhalten und
bin dafuer sehr dankbar.
Das Morgengrauen koennte aber bestimmt viel mehr User vertragen.
Gruessel Miri

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



Re^24: Angriffe pro Runde (Xutelius, 14. Apr 2010, 12:21:46):
~#! rn=Mirimadel rt=1271240007 rg=gilden.tanjian
~#! tid=1270735349
Aja, andere Gilden haben Flaechenspels ohne Konzentrationszeit? gucken wir
doch mal, welche das sind:
Da haetten wir einerseits die Kleriker. Aber Donner macht nicht besonders viel
Schaden und die Kleriker haben sonst nichts nennenswertes an Angriffsspells.
Weiterhin haetten wir hier das Erdbeben der Bierschuettler. Aber auch hier
gilt: sie haben sonst nichts nennensertes an Angriffsspells.
Dann gibts noch den Winterhauch der Katzenkrieger. Aber, son Zufall, viel an
Angriffsspells haben die sonst auch nicht :-)
Hab ich was vergessen? Lass mich da auch gerne eines besseren belehren.

Ach und noch n Tipp zum Schluss:
Werd erstmal GL11 und maxe deine Skills, bevor du dich drueber beklagst, dass
deine Gilde zu schwach ist. Ist sie naemlich nicht. Und wenn Leute unterhalb
des Max-Levels sich darueber beklagen wirkt es, grad bei ner so starken Gilde
wie den Tanjian, ziemlich laecherlich.
Xut*

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



Re^25: Angriffe pro Runde (Mirimadel, 14. Apr 2010, 12:26:57):
~#! rn=Xutelius rt=1271240506 rg=gilden.tanjian
~#! tid=1270735349
Die tanjian haben da auch nur Kshira Terror zu bieten und bleib mal auf dem
Teppich Xu, du musstest bei den Chaoten nicht so sehr viel tun um Gl11 zu
werden.
Wer keine schweren GQ und Pflichtquest hatte kann da klug daher reden.
Und wie gesagt habe viele Sprueche auf Max.

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



Re^25: Angriffe pro Runde (Sharia, 14. Apr 2010, 12:32:48):
~#! rn=Xutelius rt=1271240506 rg=gilden.tanjian
~#! tid=1270735349
Danke Xutelius :)

Das Gejammer klingt fast wie das der Zauberer frueher :)

Ich denke, dass jeder in seiner jeweiligen Gilde feststellt, dass er bei
manchen Monstern irgendwie schwaecher ist als Leute aus anderen Gilden.
Klar, dass dem so ist. Wieso sollte ein Kleriker es leicht damit haben einen
Engel zu toeten?

Tanjian. Sind dies nicht die Krieger des Ausgleichs? Das bedeutet sicher
nicht, dass sie all das koennen sollen was andere auch koennen, oder?
Ich denke vielmehr, dass es um die Idee hinter einer Gilde geht. Es gehoert
bei den Tanjian einfach dazu, dass sie eine gewissen Vorbereitungszeit auf
Spells haben und nicht blind und stupide draufknueppeln wie dumme Chaoten oder
Karatekas. Die Gilde bietet so viel und so viel Macht (auch wenn ich selbst
keinen hohen Zweiti in der Gilde habe, habe ich schon viele Tanjian kaempfen
sehen), dass man sich nicht beschweren kann. Ich stehe natuerlich als Kleriker
oft daneben wenn Leute aus anderen Gilden kaempfen und staune, was die so an
Schaden austeilen. Aber dann wiederum kommt irgendwann ein "Ich geh mal
tanken" und ich denke mir "Wieso? ich hab doch noch volle LP"... jeder hat
seine Staerken und mir scheint bei den Tanjian gibt es welche die die
gildenspezifischen Staerken einfach noch nicht gefunden haben.
Uebe uebe uebe und lerne mit deinem Charakter umzugehen. sc


Nur wenn man es wirklich versteht mit seinem Char umzugehen ist dieser auch so
stark wie er sein kann. Ich habe z.b. nen Level 11 Chaoten, aber sicher hole
ich aus dem lange nicht so viel raus wie jemand der wirklich intensiv mit
diesem spielt.

Sharia ... hat lang nichtmehr gesenft

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



Re^26: Angriffe pro Runde (Mirimadel, 14. Apr 2010, 12:38:25):
~#! rn=Mirimadel rt=1271240817 rg=gilden.tanjian
~#! tid=1270735349
Bin voll dafuer, dass Chaoten auch so einen aufstiegsweg wie die Tanjian
haben.
Katzenkrieger sind ja wohl auch eine Anfengergilde wie die Bierschuettler.
Wenn man mal ueber die Anforderungen fuer den Aufstieg nachdenkt, kommt man
auf des Raetsels Loesung.
Die Kampfkraft einer gilde sollte man auch an den Anforderungen fuer den
Aufstieg knuepfen.

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



Re^27: Angriffe pro Runde (Sharia, 14. Apr 2010, 12:39:59):
~#! rn=Mirimadel rt=1271241505 rg=gilden.tanjian
~#! tid=1270735349
Mirimadel, wieso bist du eigentlich so extrem gegen Chaoten eingeschossen?
findest Du nicht, dass andere Gilden auch viel staerker sind als du? sollte
men es denen dann nicht auch schwerer machen?

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



Re^27: Angriffe pro Runde (Xutelius, 14. Apr 2010, 12:42:05):
~#! rn=Mirimadel rt=1271241505 rg=gilden.tanjian
~#! tid=1270735349
Falsch, genau andersrum. Den Aufstiegsweg sollte man an die Kampfkraft
knuepfen. Und wenn du mal bisschen im Archiv der Chaos-Rubrik stoeberst, wir d
dir auffallen, dass genau das grade bei uns passiert. Es gab Anfang 2007 eine
deutliche Aufwertung der Chaosgilde. Und seit dem ist Ennox, unterstuetzt von
einigen anderen Chaoten, dabei, den Aufstieg der Gilde an die Kampfkraft
anzupassen. Das geht nur halt nicht von heute auf morgen.
Xut*

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



Re^28: Angriffe pro Runde (Mirimadel, 14. Apr 2010, 12:52:19):
~#! rn=Xutelius rt=1271241725 rg=gilden.tanjian
~#! tid=1270735349
Genau, genau Xu ich hatte wohl recht, fuer Dich galt das noch nicht, was jetzt
passiert ist gut und macht die gilde besser.
Haette es wohl auch etwas leichter gehabt, wenn ich die GQ alle erst in Gl 11
machen muesste.

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



Re^29: Angriffe pro Runde (Cutter, 14. Apr 2010, 14:30:24):
~#! rn=Mirimadel rt=1271242339 rg=gilden.tanjian
~#! tid=1270735349
Als alter Tanji fasse ich mich mal recht kurz und ausgeglichen:
Die Tanjian sind weder zu stark noch zu schwach. Die Spells sind ausgewogen
und auf GLVL 11 auch angemessen. Die Gegner der GQs sind auch mit unteren
Leveln mit Hilfe zu schaffen.
Und auf GLVL 10 sind sowohl Kia als auch Heffen mit der richtigen Ausruestung
solo zu schaffen. Genau darauf wurden sie auch ausgelegt. Auch das Versagen
der Spells ab und an ist ausgewogen und findet nicht zu oft statt.
Kami hat eine angemessene Dauer und auch eine gut balancierte Power. Klar will
jeder immer mehr, besser, groesser. Aber es darf dabei nicht uebertrieben
werden. Von daher: EM zusammensetzen mit gutem GM und erfahrenen Spielern und
dann testen und vergleichen.
Was die Tanjis vertragen koennten waere eine gesamte Aufpolierung der Gilde
mit aktivem Gildenmagier, neuem Gildenlevel, neuer Faehigkeit (die nicht
unbedingt maechtiger aber interessanter machhen sollte) sowie neuer GQ.
Wenn jemand dafuer Zeit hat  ich trage gern Ideen dazu bei. 
Ich moechte aber mal klarstellen: KEINER, der nicht alle Gilden selbst gemaxt
und bis ins extremste ausgefeilt hat mit Ausruestungstests etc kann irgendeine
Gilde mit der anderen vergleichen.
Ich gebe zu, auch ich bashe gern auf die Feiglinge (andere nennen sie Chaoten)
ein, die sich hinter Daemonen verschanzen muessen und halte es fuer
angemessener, wenn sie NEBEN den Daemonen stehen. Dies jedoch halbwegs
scherzhaft, da ich elst keinen Chaoten spiele. Ausserdem braucht Xut
regelmaessig einen Daempfer.
Dies sollte aber von Gejammer oder unverstaendiger Kritik unterschieden
werden.
Ein ausgewachsener Tanjian mit der richtigen Ausruestung, perfekter Meditation
und maximalem Kokoro an dem richtigen Gegner mit dem richtigen Spell schafft
so einiges.
Verdammt. War doch laenger.
VG
Cutter

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



Re^30: Angriffe pro Runde (Mirimadel, 14. Apr 2010, 14:54:42):
~#! rn=Cutter rt=1271248224 rg=gilden.tanjian
~#! tid=1270735349
stimme ich Dir zu Cutter. Ausruestung ist das A und O.
Mit der Zeit weiss man dann auch wo die zu finden ist.
Neues Gl, da sollte eine GQ geschaffen werden die von mehreren Tanjian
gespielt werden muss und einer erhaelt dieses Gl 12. Damit kommt auch mehr
Zusammengehoerigkeit bei den Tanjian.
Einen neuen Kampfspruch brauchen wir aber doch nicht, denke Kami ist gut.
vielleicht zaubern einer Bombe fuer den Wolpi-club kicher.
Miri

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



Re^25: Angriffe pro Runde (Mini, 14. Apr 2010, 16:43:11):
~#! rn=Xutelius rt=1271240506 rg=gilden.tanjian
~#! tid=1270735349
Hallo Xu
ich glaube Du verwechselst da was, damals als Chaot ging das hochspielen echt
easy, erst mit Tapsi und jetzt hier hab ich gemerkt, was ueben heisst.

Du hast ja auch unter den damaligen Bedingungen Gl 11 erreicht und da waer ich
also etwas ruhiger- oder spiel mal nen Tanji *als Erstie* hoch, wie es Miri
tut / getan hat

Wie gesagt ueber das Ueben jetzt in der Chaosgilde kann ich nix sagen, aber
damals null prob
viele Gruesse 
Mini und Luka

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



Re^14: Angriffe pro Runde (Sync, 14. Apr 2010, 17:01:35):
~#! rn=Belenus rt=1271098697 rg=gilden.tanjian
~#! tid=1270735349
ich bin jetzt bei artikel 19, habe noch NICHT zuende gelesen, aber
mal kurz zum kokoro: ja der gelingt auch schlecht. na und? 
jede gilde hat bei 100% nicht nur ein schlechtes gelingen
sondern sogar fehler (z.b. hauen sich trves auch bei 100%
noch die haende ab, zaubis werden besoffen, oder 100% daemonen
der chaoten werden als aggressive gegner beschworen)

nun gibt es dank nibels aktiven zeiten items (bzw ein item?)
die genau die schlechten kokoros verhindern, wenn die getragen
werden. welche andere gilde hat denn bitte so einen luxus?
ein item das immer maximalen schaden bei chaosball versprechen
wuerde, dem karateka ausschliesslich sehr gut gelungene techniken
dem zaubi gigantisch-brennende haende en masse, oder dem trves
nur toedliches todesstoesse wirst du im mud vergeblich suchen,
hier haben tanjian eine absolute und einzigartige luxus-
situation. wenn man dies dann jedoch nicht ausnutzt/ausnutzen kann
 bzw ausnutzen will ist das ja erstmal kein problem das auf 
schwaeche von gilden zurueckzufuehren waere.
komisch das alle nur am kami rumreden und dann uebersehen
dass man mit hayai quasi ein dauer-schnellkampf hat, zudem
KEINERLEI einschraenkungen was schadensarten bei waffen angeht,
und der ganze schaden noch nichtmal (wie bei chaoten) durch
die no_magic mauer muss....
jammern auf hohem niveau sorry

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



Re^15: Angriffe pro Runde (Sync, 14. Apr 2010, 17:06:46):
~#! rn=Sync rt=1271257295 rg=gilden.tanjian
~#! tid=1270735349
und nun bin ich durch :)
ja bei gelegenheit koennte man auf den chaoten rumreiten und
hinterfragen warum ein EINZELNER chaot mit diesem missgriff
chaosteam nun teamboni abgreifen kann :)

glaubt mir liebe tanjian, das knuepfen an die kampfkraft
wollt ihr nicht haben, sonst faellt noch einem ein, dass
ihr mittlerweile die waffenskills doppelt so schnell
lernt wie "unsereins" frueher. d.h. die heutigen tanjian
werden bei 50% der kampfkraft gecapt?:) nur zu nur zu

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



Re^16: Angriffe pro Runde (Chagall, 14. Apr 2010, 17:18:09):
~#! rn=Sync rt=1271257606 rg=gilden.tanjian
~#! tid=1270735349
Neben dem schon erwaehnten Amulett gibt es auch noch einige andere
Orte, welche einen Bonus auf die Meditation geben. Wo genau die
sind? Tja, viel Spass beim Suchen.

MC

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



Re^17: Angriffe pro Runde (Mirimadel, 14. Apr 2010, 17:35:01):
~#! rn=Chagall rt=1271258289 rg=gilden.tanjian
~#! tid=1270735349
Das klingt gut, nur wo bekommt man da Tipps wo man anfangen kann mit suchen.
Sollten wenigstens Hinweise in der gilde vorhanden sein, was es gibt und wo
ungefaehr.
Waer auf jeden Fall besser.
ein neuer Aktiver GM ist da sicher eine Loesung.
eine richtig gute GQ fuer gl 12 waer auch gut und lernen koennte man ja einen
Spruch mit dem es moeglich NPC zu finden.
Darf auch sein das er nur mit Hilfsmittel funkt.
Miri

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



Re^18: Angriffe pro Runde (Gloinson, 14. Apr 2010, 17:46:23):
~#! rn=Mirimadel rt=1271259301 rg=gilden.tanjian
~#! tid=1270735349
Suchort: MUD
Hilfsmittel: Identifizieren

Nur so eine Idee.


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



Re^19: Angriffe pro Runde (Mirimadel, 14. Apr 2010, 18:06:44):
~#! rn=Gloinson rt=1271259983 rg=gilden.tanjian
~#! tid=1270735349
Scherz
Glo wenn ich alle Dinge des MUD Identifizieren wuerde, da vergeht so viel
Zeit, dass Du dann meine grauen Haare kaemmen darfst. "kicher"
D. h. wir brauchen hier ein Alten-Heim.
Im Ernst eine Aussage ueber das zutreffende Gebiet denke ist besser.
Mehr muss ja gar nicht sein.
Miri

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



Re^20: Angriffe pro Runde (Gloinson, 14. Apr 2010, 18:26:26):
~#! rn=Mirimadel rt=1271261204 rg=gilden.tanjian
~#! tid=1270735349
Kein Scherz. Wenn du nicht alle Dinge des MUDs identifizierst und erprobst,
dann kannst du dich allerdings noch auf die Erfahrungen deines Freundeskreises
verlassen.


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



Re^21: Angriffe pro Runde (Cutter, 14. Apr 2010, 20:34:12):
~#! rn=Gloinson rt=1271262386 rg=gilden.tanjian
~#! tid=1270735349
Richtig. Besonderer Tips bedarf es da nicht. Die Orte findet man beim
kerbholz-forschen frueher oder spaeter. Einziger Tip fuer alle: einfach
erstmal machen...

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



Re^5: Angriffe pro Runde (Ark, 23. Apr 2010, 16:00:41):
~#! rn=Mirimadel rt=1270912998 rg=gilden.tanjian
~#! tid=1270735349
Begruendungen fuer Verbesserungen mit Hinweis auf andere Gilden sind imho
prinzipiell die schlechtestmoeglichen :) Und es gibt keinen Spruch, der ein
Anrecht hat, bei allen Gegnern gleich gut zu funktionieren.


              *** ARK * the * Magnificent ***


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



Re^7: Angriffe pro Runde (Ark, 23. Apr 2010, 16:10:17):
~#! rn=Mirimadel rt=1270986423 rg=gilden.tanjian
~#! tid=1270735349
Also auch auf die Gefahr hin, dass ich mich wiederhole, aber ich finde in den
Regeln keinen Hinweis darauf, dass man mit nur selbst oder mit eigenem
Ersti/Zweiti an irgendwelchen Ausruestungskrams kommen muss. Fuer gute Sachen
muss jede Gilde sich mit anderen mal hier und da verbuenden. Schlimm?


              *** ARK * the * Magnificent ***


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



Re^26: Angriffe pro Runde (Ark, 23. Apr 2010, 16:19:36):
~#! rn=Sharia rt=1271241168 rg=gilden.tanjian
~#! tid=1270735349
Karateka sind nicht dumm. Sie haben nur mehr Zeit fuer einen Kampf und das
Tanken. Sie geben dem Gegner eben noch eine Gelegenheit, sich zu ergeben. Oder
so. Nicht dumm! Jawoll.


              *** ARK * the * Magnificent ***


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



Re^26: Angriffe pro Runde (Ark, 23. Apr 2010, 16:25:11):
~#! rn=Mini rt=1271256191 rg=gilden.tanjian
~#! tid=1270735349
Also das mit der Gnade oder dem Fluch der spaeten/fruehen Geburt ist doch aber
muessig zu diskutieren, nicht wahr? Wenn die Gilde besser werden soll, geht
nunmal Zeit drauf, da sollte man sich freuen, und die Vergangenheit, die halt
so ist, wie sie ist, ruhen lassen.


              *** ARK * the * Magnificent ***


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



Re^20: Angriffe pro Runde (Ark, 23. Apr 2010, 16:30:37):
~#! rn=Mirimadel rt=1271261204 rg=gilden.tanjian
~#! tid=1270735349
Ich sehe durchaus Ernst in Gloinsons Aussage. Wer Dinge nicht identifiziert,
muss sich die rote Nase aufsetzen lassen, sobald er/sie sich beschwert, da
kenn ich ja mal gar nix :)
So ein Skill ist schliesslich nicht nur zum maxen fuer die eigene
"Habichjetzauch" Galerie, sondern hat tatsaechlich praktische Vorteile. Ich
achte meist darauf, dass man Sinn und Vorteile erst beim id-en mit
deutlicheren Worten genannt bekommt. Und jetzt erst recht :-)


              *** ARK * the * Magnificent ***


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



Re^27: Angriffe pro Runde (Mini, 24. Apr 2010, 19:12:04):
~#! rn=Ark rt=1272032711 rg=gilden.tanjian
~#! tid=1270735349
Hallo Ark,

ich bin gerne Tanji und glaube, Du solltest meinen Artikel als Antwort auf
Xu's "Tip" sehen, denn das ueben unterscheidet sich doch ziemlich von damals
bei den Chaoten. So hielt ich den Hinweis von einem der *damals* einen Chaoten
hochgespielt hat fuer unangebracht. Da ich weiss *wie* Miri uebt und sich
bemueht die Stats zu verbessern. 

viele Gruesse 
Mini, der froh ist, jetzt endlich Gl 9 zu sein

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



Re^28: Angriffe pro Runde (Towonda, 24. Apr 2010, 19:20:34):
~#! rn=Mini rt=1272129124 rg=gilden.tanjian
~#! tid=1270735349
Das was ein Tanji an Faehigkeiten bekommt, wenn er sich zu Level 11 
hochgeuebt hat, ist nur mit dem was Chaoten damals am Ende hatten 
nicht zu vergleichen (ich hatte auch mal ne Max-Chaotin).
Nur annaehernd das aus einem Chaoten rauszuholen, was beim Tanji 
muehelos geht, war nur moeglich wenn man noch etliche Stunden, Tage,
Monate darein gesteckt hat, seine Ausruestung und Taktik zu 
optimieren.

Viele Gruesse,
Towonda

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



Kleiner Aenderung beim Arashi (Humni,  8. Feb 2011, 18:12:53):
Huhu,

eine technische Umstellung kann bei der Arashi-Paralyse leichte Veraenderungen
im Verhalten zeigen. Im Endeffekt ist das aber keine Abwertung.

Wenn jemand anderer Meinung ist, melden.

Humni

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



Hoert Hoert! (Humni, 25. Aug 2011, 19:37:11):
So lauscht denn, wenn Siamil es espert und jeder von Euch es erfahren darf:

Chagall hat sich bereiterklaert, die Gilde der Tanjian zu uebernehmen und sich
um ihr Wohlergehen zu sorgen.

Dies beinhaltet, da Chagall schon "hauptberuflich" die Zauberer bearbeitet,
aber keine Verpflichtung zur Weiterentwicklung, sondern dient eher der Pflege
von Bestehendem.

Wenn es also Probleme geben sollte, wendet Euch vertrauensvoll an den grossen
Meister der Zauberer, der nun auch die Neutralen bearbeiten wird!

Humni

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



Re: Hoert Hoert! (Chagall, 25. Aug 2011, 19:52:54):
~#! rn=Humni rt=1314293831 rg=gilden.tanjian
~#! tid=1314293831
Als erste, sogar noch inoffizielle Amtshandlung, kann man nun endlich mit
gereinigten Flaschen etwas abfuellen, was man zum Beitritt fuer den Clan Kumo
benoetigt.

MC

PS: Naechste Amtshandlung -> Heffen zum Gildenchef befoerdern

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



Erzmeisterringe (Chagall, 30. Aug 2011, 20:43:50):
Huhu Tanjian,

beim Aufraeumen der Gilde bin ich ueber eine verschollene Kiste mit
Erzmeisterringen gestolpert. Ich habe sie vertrauensvoll in die Haende von
Siamil gegeben, der nun jedem Erzmeister, dem ueber die Jahre der Ring
abhanden gekommen ist, einen neuen geben wird. Alternativ koennt ihr auch
versuchen, Heffen erneut zu duellieren, wobei das nicht von
Erfolg gekroent sein wird.


MC

PS: Der Erzmeisterring hat einen kleinen Nachteil, er klebt jetzt ziemlich
stark am Tanjian. Lebt einfach damit.

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



Tief im dunklen Wald (Chagall,  4. Sep 2011, 21:12:26):
Huhu Tanjian und solche die es werden wollen,

jahrelang war sie zu simpel, die Waage der Gerechtigkeit. Doch nun ist Schluss
damit. Vor langer Zeit verschwand ein gefuerchteter NPC, der selbst hohen
Sehern das Fuerchten lehrte unter widrigen Umstaenden von der Bernsteinplatte.
Doch nun ist das schwarze Karate-Skelett zurueckgekehrt und wartet tief im
dunklen Wald auf eure jaemmerlichen Versuche, seinen Namen von der
Bernsteinplatte zu streichen.

Fuerchtet Euch, Tanjian, denn nun gibt es kein Entrinnen mehr.

MC

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



Re: Tief im dunklen Wald (Zesstra,  4. Sep 2011, 21:13:49):
~#! rn=Chagall rt=1315163546 rg=gilden.tanjian
~#! tid=1315163546
Ob es jetzt Tanjian gibt, die fluchen, dass Du GM geworden bist...?

Zesstra

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



Re: Re: Tief im dunklen Wald (Chagall,  4. Sep 2011, 21:14:40):
~#! rn=Zesstra rt=1315163629 rg=gilden.tanjian
~#! tid=1315163546
Wahrscheinlich. Genauso wie die Zauberer fluchen, dass ich Demengars
Sammlerguertel durchgewunken hab.

MC

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



Re^3: Tief im dunklen Wald (Mirimadel,  6. Sep 2011, 20:06:30):
~#! rn=Chagall rt=1315163680 rg=gilden.tanjian
~#! tid=1315163546
erst mal Gratulation chagall,
und einen grossen Dankeschoenblumenstrauss.

Hamm fluchen, bau doch eine Jammerecke ein damit Siamil die Ohren abfallen.
Miri huepf und tanz mit Chagall

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



Erschoepfungszeiten (Chagall, 26. Sep 2011, 07:52:09):
Huhu Tanjis,

die Erschopefungszeiten von kaminari, arashi und samusa wurden leicht erhoeht.
Dies hat zur Folge, dass alle Tanjian ab GL9 aufwaerts die Spells nicht mehr
jeweils am Anfang und am Ende einer Kampfrunde sprechen koennen. Alle anderen
Spells bleiben erstmal unberuehrt.

MC, sich dem Universum in Form eines schwarzen (Pluesch)Drachen beugend

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



Glueckwunsch (Mirimadel,  1. Feb 2012, 09:20:04):
Herzlichen Glueckwunsch Talanis zur bestandenen Waage und zu GL 9. Wuensche
froehliches Drachenjagen und viel Spass in GL 9.
Miri

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



Re: Glueckwunsch (Talanis,  1. Feb 2012, 10:17:46):
~#! rn=Mirimadel rt=1328084404 rg=gilden.tanjian
~#! tid=1328084404
Ein riesiges Dankeschoen an Miri, Sparkle, Syron und Tiberian fuer die
Unterstuetzung bei der Wahrung des Gleichgewichts!

Unterwuerfigst,
Talanis, Jungmeister des Tau-Tau.

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



gratulation talanis (Arson,  1. Feb 2012, 18:41:42):
hy, klasse gemacht talanis
fuer die tanjians und die gerechtigkeit
weiter so!
und bleib wie du bist tanjian 4 live *g*

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



Kami (Chagall,  5. Feb 2012, 11:42:37):
Huhu Tanjis,

die Erzmeister werden sich freuen, denn die Kami in Ihren Waffen sind jetzt
ein wenig staerker.

MC

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



Nanamis Katana (Chagall, 25. Aug 2016, 09:07:50):
Huhu,

auf Wunsch eines einzelnen Herrn reagiert jetzt Nanamis Katana auch auf die ID
schwert. Wer das Katana ebenfalls so ansprechen will, muss es neu holen und
das alte entsorgen.

MC

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



Re: Nanamis Katana (Djtom, 25. Aug 2016, 17:21:20):
~#! rn=Chagall rt=1472108870 rg=gilden.tanjian
~#! tid=1472108870
Danke vielmals.

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



Kshira (Arathorn, 25. Nov 2018, 19:26:35):
Moin,

ich habe gerade eine Kleinigkeit an der Technik von Kshira geaendert. Sollte
sich der Zauber nun anders verhalten als vorher, meldet euch. 

Arathorn.

PS: Die Schadenswerte haben sich nicht geaendert, also versucht's gar nicht
    erst. ;-)

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



Typos gefixt (Arathorn, 24. Dez 2020, 13:02:08):
Moin zusammen,

zur Info: Ich habe gerade ein paar Typos beim Einschaetzen von Gegnern
beseitigt. Falls ihr in dem Zusammenhang irgendwie mit Triggern arbeitet,
koennten die durcheinanderkommen.

Gruss, Arathorn.

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



Balancierte Waffen (Humni, 20. Jan 2021, 22:02:34):
Hallo ihr,

urspruenglich hatte die Tanjian-Gilde mal das Konzept der "Balancierten
Waffen". Da damit faktisch nichts passiert, seht ihr das jetzt auch nicht
mehr. Faktisch aendert sich nichts, es wird nur eine Information weniger
angezeigt, die wohl fuer mehr Verwirrung und falsche Schlussfolgerungen
gesorgt hat, als dass sie hilfreich war. So viel Style kann ich darin auch
nicht erkennen, darum ist das nun raus.

Humni

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



