Struvtor 7 - Open Gate (Toeter,  4. Dez 1996, 18:35:19):
'Wie ein zu Stein erstarrtes Ungetuem stand sie vor mir, massig und 
 ohne Aesthetik... das hervorstechendste Merkmal dieser Festung war, 
 dass sie einfach da war. Und es war, als waere sie schon immer da-
 gewesen, als haetten die Berge bereits bei ihrer Erschaffung fuer 
 diese Festung eine Mulde geformt, in der sie nun noch immer lag wie 
 ein haessliches altes Balg, das nie den Schoss der Mutter verlassen 
 hatte. Langsam liess ich meinen Blick an den von zahllosen Schlach-
 ten vernarbten Waenden hochwandern. Jeder Erker, jede Pechnase, die 
 er erklomm, fuegte sich nahtlos ein in das Bild, das die Sturmmauern
 dieser Festung boten. Wahrlich, dies war kein Anblick, der einem 
 Schoengeist das Herz haette huepfen lassen, aber es umgab ein Hauch
 diese Mauern, der etwas in sich trug, was mich auf seltsame Weise 
 beruehrte. "Jungejunge!" entfuhr es Bazakh Breitaxt neben mir. Dies 
 war sicherlich nicht der Zeitpunkt, das Aesthetikempfinden von Zwer-
 gen zu bemitleiden, also ueberging ich seinen plumpen Versuch einer 
 Gefuehlsaeusserung und versuchte, das tiefer zu begreifen, was von 
 diesem Gebaeude ausging. Was ich hier spuerte, war die Aura von Al-
 ter und Bestaendigkeit, deren Ausmass selbst fuer Wesen meiner Her-
 kunft geradezu unheimlich sein musste, und doch fuellte es mich mit 
 einem tiefen Gefuehl der Einkehr und des Sinnens ueber Zeit und Zeit-
 losigkeit. "Willst Du hier versteinern?", brummte es neben mir unwil-
 lig. Diesmal bedachte ich Breitaxt mit einem Blick, der ihm genau die-
 ses Schicksal haette zuteilkommen lassen koennen. "Entschuldige bitte,
 dass es Leute gibt, die sich in einer solchen Umgebung beeindruckt 
 zeigen!", gab ich schnippisch zurueck, "Ihr Steineklopfer koenntet we-
 nigstens versuchen, euch mit dieser Moeglichkeit auseinanderzusetzen". 
 Der Zwerg liess nicht locker: "Alles womit ich mich auseinandersetze, 
 ist, dass es dort drinnen verdammt gute Kaempfer geben soll. Und die 
 will ich jetzt sehen! Vielleicht haben die drei komischen Kerle ja 
 auch gelogen." Ich wollte noch etwas entgegnen, beliess es dann aber 
 bei einem kurzen Seufzen. Langsam glitt mein Blick von den Zinnen der 
 Festung zu Boden, bis er auf Hoehe des geoeffneten Tores zur Ruhe kam. 
 "Dann lass uns hineingehen."'

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



~i ~/texte/dank (Zardoz,  5. Dez 1996, 15:32:37):

Nun laeuft die Kaempfergilde halbwegs und ich finde endlich mal Zeit ne
kleine Danksagung zu schreiben. Ist klar, dass Toeter und Bendeigid
besonders zu erwaehnen sind, denn ohne die haette ich die Gilde schon
laengst aufgegeben. Ich will hier nicht ihre Arbeit zu sehr loben, denn
sonst wuerden sie nur rot werden...
Den Code ueberprueft, viele Verbesserungsvorschlaege und
hilfreiche Tips gaben: Mupfel, Silvana, Rochus und Paracelsus. 
Und dann wuerde ich ja eigentlich noch Anakin, Jurry, Isnogood und Key fuers
ausgiebige Testen danken, aber sie koennen ja gar nicht getestet haben, weil
Spieler nichtangeschlossene Gebiete nicht testen duerfen! 
Weiterhin haben noch viele andere Magier ihre Testies auf die Gilde
losgelassen, denen ich natuerlich auch danken moechte (mir fallen jetzt
bloss nicht alle ein :)) 



Zardoz

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



kwer (Rochus,  5. Dez 1996, 17:26:17):
Statt "kwer gilde kaempfer" funktioniert jetzt
auch zusaetzlich "kwer gilde trves".

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



Lebensgeschichten (Zardoz, 10. Dez 1996, 14:42:21):

Hier mal die besten Lebensgeschichten, die auf das Anmeldeformular der Trves
geschrieben wurden:

KyleValkan:
Ich wurde als Bastard geboren. Erst mit 18 Jahren erfuhr ich meine wahre 
Herkunft und mein Geheimnis. Ich trage den Schluessel zu einer maechtigen 
Waffe in mir. Nun bin ich auf der Suche nach dem "Hammer der Valkans".

Selissa:
Also, am Anfang waren da meine Eltern die es miteinander getrieben hatten. 
Nicht lange darauf schluepfte ich aus meiner Mutter aus. Darauf folgte eine 
fuer mich sehr schwere Zeit, ich musste am laufenden Band Abenteuer bestehen 
und den Maennern willig sein. Doch nun hoff ich all dem ein Ende zu bereiten.

Dakhath:
Schon baertig geboren, entwickelte ich mich bald zu einem Musterzwerg. 
Naja, fast. Ich trinke weniger als die anderen, ich metzel weniger als 
die anderen und ich sterbe weniger als die anderen. Ansonsten bin ich 
aber ein richtiger Zwerg.

Nietzsche:
bin ne ganz arme stulle
(da muss ich ihm recht geben :))

Galdor:
Es hat sich in meinem bisherigen Legen noch nicht sehr viel ereignet, 
dies will ich mit meinem Eintritt in die Gilde der Tves aendern. 
Ich moechte grosse Abenteuer erleben und so gross und stark werden 
wie mein Vorbild, Anakin ;).

Acrimon:
Acrimon hat sehr frueh eine starke Identitaet bekommen. Er war zum Roten 
Ritter geboren und durchstreift seitdem das MorgenGrauen auf der Suche 
nach Unrecht und Unglauben, um diese erbarmungslos auszurotten und Recht 
und Ordnung wiederherzustellen. Mittlerweile fuerchten sich nicht nur 
viele NPCs vor ihm, sondern auch namhafte Seher und Magier 
(insbesondere Zuerileu). Acrimon hat im Gebirge ein sehr verstecktes 
Tal entdeckt und dort eine riesige unterirdische Burg gebaut.

Trunceff:
Ich habe ein zu schlechtes Gedaechtnis, um mich auch nur an ein wichtiges 
Erlebnis hier zu erinnern. Vielleicht hat das auch andere Gruende. Ach 
ja, ich bin erfolgreich aus der Karate-Gilde ausgetreten.


Die Allermeisten Formulare wurden recht einfallslos ausgefuellt, schade
eigentlich, ich haette mehr solche Geschichten erwartet.


Ciao Zardoz

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



Schaetz (Zardoz, 11. Dez 1996, 15:54:44):
Beim Schaetz kann man jetzt auch als Argument eine bestimmte
Technikenkategorie angeben. Schaetz ohne Argument listet wie gewohnt alles
auf. Es geht jetzt aber auch:
schaetz waffentechniken
schaetz kampftaktiken
schaetz angriffe
schaetz sonstiges
schaetz kampftechniken
Oder so aehnlich, ich machs gerade aus dem Gedaechnis :)

Ciao Zardoz

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



Re: Schaetz (Mupfel, 11. Dez 1996, 17:50:57):
~#! rn=Zardoz rt=850316084
~#! tid=850316084

Fein. Ich schreib ein Monster namens 'angriffe' :-)

-mupfel-

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



Re: Lebensgeschichten (Cyradis, 12. Dez 1996, 08:57:08):
~#! rn=Zardoz rt=850225341
~#! tid=850225341
Hallo Zardoz,

ich wuerd Deiner Aufforderung ja gerne nachkommen, aber unter cms mit max. 140
Zeichen (oder so) pro Zeile ist kein Staat zu machen.

schade eigentlich,
Cyradis


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



Re: Schaetz (Zephyr, 12. Dez 1996, 13:53:11):
~#! rn=Zardoz rt=850316084
~#! tid=850316084
Waer das vielleicht erweiterbar, auf zum beispiel die
einzelnen Waffentechniken? "schaetz kzrok" oder so?

Zephyr, auf einen Verwies wegen Faulheit wartend

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



Lebensgeschichte die Zweite... (Lariel, 15. Dez 1996, 16:29:49):
Hallo, Trvesbrueder!
Da es mich dann eigentlich doch ein wenig wurmt, was da ueber meine
Lebensgeschichte auf der Karteikarte steht, wuerde ich das ganz gerne
ueberarbeiten.
Gibt es irgendeine Moeglichkeit, seine Lebensgeschichte im Nachhinein zu
editieren?
Als die Gilde angeschlossen wurde, war ich Feuer und Flamme einzutreten, und
hab mir nicht die Zeit genommen, eine ordentliche, interessante und phanta-
sievolle (Schreibt man das nach der Rechtschreibreform noch so?) Geschichte
zu schreiben.
Also, irgendwas zu machen?

Lariel

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



Ausbilden (Zardoz, 19. Dez 1996, 08:53:58):
Also, das Wechseln des Azubi sollte jetzt problemlos gehen, auch ohne "ende"
zu machen (was vorher, naja, auch nicht unbedingt noetig war, aber passieren
konnte...) Diese Neuerung gilt allerdings auch erst, wenn man "ende" gemacht
hat :)))


Ciao Zardoz

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



Schaetz^10 (Zardoz, 19. Dez 1996, 15:01:36):
schaetz zyn, zaakh, kzrok, kyll und bielkyll geht jetzt auch. Langsam reichts
aber wirklich :)

Ciao Zardoz

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



Re: Lebensgeschichten (Lycar, 24. Dez 1996, 22:58:58):
~#! rn=Zardoz rt=850225341 rg=gilden.kaempfer
~#! tid=850225341
Hehe... ich haette schon gerne mehr unter Lebensgeschichte geschrieben 
aber leider ist man ja 'offline' waehrend man das Formular ausfuellt
und wenn dann jemand unbedingt mit einem kommunizieren moechte ist man
bemueht schnell zum Abschluss zu kommen.
Kann man seine Story denn nachliefern ?

Lycar (wuerde gerne noch was schreiben wenns denn geht ? )

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



Re: Re: Lebensgeschichten (Fyt, 26. Dez 1996, 14:47:13):
~#! rn=Lycar rt=851464738 rg=gilden.kaempfer
~#! tid=850225341

Ich weiss zwar nicht, wie man die Lebengeschichte eingibt, aber wenn
es der 'normle' Editor ist, kann man durchaus waehrend des Tippens
'kommunizieren', inn dem man am Anfang einer neuen Zeile dem
gewuenschten Kommando ein '!' voransetzt...

Fyt,

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



Re^3: Lebensgeschichten (Ringor, 26. Dez 1996, 20:56:30):
~#! rn=Fyt rt=851608033 rg=gilden.kaempfer
~#! tid=850225341
Wenn es der normale Editor waer, dann haette es garantiert von Anfang an mehr
nette Lebenslaeufe gegeben. Aber (noch?) muss man alles in eine Zeile
quetschen - und da ist weder was mit Kommunizieren, noch mit mehr als 140
Zeichen je nach System ...

Ringor

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



Neues (Zardoz, 28. Dez 1996, 17:52:15):
Ich habe ein paar Kleinigkeiten verbessert. Naeheres haengt am schwarzen Brett
:)


Ciao Zardoz

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



Azubis (Zardoz,  2. Jan 1997, 17:23:45):
Azubis lernen jetzt schneller, allerdings erst, nachdem der Ausbilder mal
"ende" gemacht hat... Aber das sind sie ja eh schon gewoehnt :) Diesen Bug
finde ich uebrigens nicht, wenn ich es teste, gehts auch ohne Ende...

ciao Zardoz

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



Wunschzettel (Asmodina,  2. Jan 1997, 23:49:05):
Hmm, an alle Magier, hier ist mein Wunschzettel:

Also, dringend benoetigt werden gute Waffen, und zwar folgende:

Aexte mit Feuer-, Eis-, Magie oder Saeureschaden (je mind. 1)
Keulen mit oben genannten Schaden
Stangenwaffen(Speere, Lanzen...) mit oben genannten Schaden
und zu guter letzt fuer unsere Kleinen (Hobbits) ein paar gute
Messer mit speziellen Schaeden.

Da sich in der Richtung kaum etwas getan hat in letzter Zeit,
also hier der Aufruf, statt schwertern auch waffentypen
beruecksichtigen.

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



Re: Wunschzettel (Wurzel,  2. Jan 1997, 23:51:58):
~#! rn=Asmodina rt=852245345 rg=gilden.kaempfer
~#! tid=852245345
beantrage schonmal die genehmigung bei paracelsus, wenn die da ist fange ich 
an... der rest ist naemlich einfach :)

wurzel

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



Re: Re: Wunschzettel (Bendeigid,  3. Jan 1997, 00:00:05):
~#! rn=Wurzel rt=852245518 rg=gilden.kaempfer
~#! tid=852245345
Bloede Antwort. Gute Ideen werden immer gewuerdigt, aber gewisse Sachen, die
"mal eben schnell" gemacht werden nicht (unbedingt). 

Leicht sauer,
             Bendeigid

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



Re: Wunschzettel (Asmodina,  3. Jan 1997, 13:42:18):
~#! rn=Asmodina rt=852245345 rg=gilden.kaempfer
~#! tid=852245345
Aeh, ihr wollt Ideen ??
Wie waers mit einem schoenen Lab, in dem man ein paar Raetsel loesen
muss und dafuer ne gute Kaempfer-Waffe am Ende bekommt ??
Und kein Lab mit aggressiven monstren, oder solchen, die einem
die Ausruestung wegnehmen.
Also das Friedhof-Lab ist da momentan noch konkurrenzlos,
den Rest kann man wirklich vergessen.

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



Abspaltung ! (Oetti,  6. Jan 1997, 17:07:09):
Hiermit distanziere ich mich oeffentlich von allen weiblichen
Mitgliedern im Struv.
Kaempfen ist und war schon seit jeher Maennersache, Frauen
gehoeren, was weiss ich, jedenfalls duerfen die keine
Waffen tragen, hoechsten CS-Gas und Handtaschen !

Kamepft mit, Leidensgenossen !!!

Bewegung des 6. Januar, Frauenfreier Struv, Roter Stern Patriarchat

In diesem Sinne: Ballt die Faust und aehhh keine Ahnung, macht irgendwas
kaputt oder entfuehrt
wichtige Persoenlichkeiten

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



Re: Re: Wunschzettel (Mupfel,  8. Jan 1997, 15:45:58):
~#! rn=Wurzel rt=852245518 rg=gilden.kaempfer
~#! tid=852245345

Seit wann laesst Du denn Sachen genehmigen, Wurzel? :-)

-mupfel-

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



Ausbilderbug (Zardoz,  9. Jan 1997, 13:18:50):
So, jetzt muesste aber endgueltig der Bug beim Ausbilden behoben sein. Beim
Wechseln des Azubi sollte man jetzt wirklich kein "ende" mehr machen muessen.
Dumme Fehler das... Diese Aenderung wird natuerlich erst nach "ende" oder dem
naechsten Reboot aktiv, was wahrscheinlich eh schneller passiert als man denkt
:)


Ciao Zardoz

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



schmarrn.intern (Zephyr, 13. Jan 1997, 10:05:02):
Eben in der Ausbildung:

...
  Isengrimm schlaegt Dir mit dem Schwertknauf ins Gesicht.
  Isengrimm kitzelt Dich am Bauch.

Zephyr, kichernd und sich fragend, wie man von so nem Ausbilder was lernen
soll :)

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



Re: schmarrn.intern (Bendeigid, 13. Jan 1997, 11:48:12):
~#! rn=Zephyr rt=853146302 rg=gilden.kaempfer
~#! tid=853146302
Der Isengrimm ist so gut, der kaempft auch mit zwei Haenden und Fuessen. Klar,
dass das so WurstseherInnen nicht mitkriegen....

Bendeigid i.A. Ausbilderkorps

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



Re: Re: schmarrn.intern (Dancer, 14. Jan 1997, 02:13:25):
~#! rn=Bendeigid rt=853152492 rg=gilden.kaempfer
~#! tid=853146302
Plumpe Annaeherungsversuche von Ausbildern an ihren Schuetzlingen nenne ich
sowas! SKANDAL! ;-)

Dancer - Aufwiegler. :-)


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



Re: schmarrn.intern (Mupfel, 14. Jan 1997, 18:35:47):
~#! rn=Zephyr rt=853146302 rg=gilden.kaempfer
~#! tid=853146302
Naja er hat halt aufs Gesicht gezielt... 

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



Der ewige Bug Teil 24 (Zardoz, 16. Jan 1997, 08:37:45):
So, ich habe mal wieder versucht den Bug beim Ausbilden zu beheben. Die
Aenderung wird nach Ende oder dem naechsten Reboot aktiv. Sollte man dann
immer noch Ende beim Wechseln des Azubis machen muessen, dann bitte mir sofort
mailen.


Ciao Zardoz

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



Abstufung der Einschaetzung (Zardoz, 16. Jan 1997, 10:31:20):
Auf vielfachen Wunsch kommt hier die Abstufung der Einschaetzung:



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


Diese Abstufung wird jetzt noch feiner unterteilt, naemlich:

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

Ciao Zardoz

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



Re: Abstufung der Einschaetzung (Maso, 16. Jan 1997, 22:06:08):
~#! rn=Zardoz rt=853407080 rg=gilden.kaempfer
~#! tid=853407080
"Absolut perfekt"??? *wuerg*

         Maso.


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



Spieler-Topliste (Zardoz, 17. Jan 1997, 12:08:45):
Macht doch einfach alle mal "ende" :)

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



Re: Spieler-Topliste (Asmodis, 17. Jan 1997, 14:14:39):
~#! rn=Zardoz rt=853499325 rg=gilden.kaempfer
~#! tid=853499325
Wieso ?

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



Weghier (Rochus, 20. Jan 1997, 21:07:15):
Der Weghier hat seine Ausbildung zum Trves jetzt abgeschlossen.

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



Re: Weghier (Bendeigid, 20. Jan 1997, 21:19:46):
~#! rn=Rochus rt=853790835 rg=gilden.kaempfer
~#! tid=853790835
Welcher daemliche Ausbilder hat den DEN Unfug verzapft? SOFORT degradieren!

Bendeigid, Oberaufseher der Ausbilder

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



Re: Weghier (Asmodis, 21. Jan 1997, 00:40:50):
~#! rn=Rochus rt=853790835 rg=gilden.kaempfer
~#! tid=853790835
Soviel zum Thema 'Aufruesten von beliebten NPCs'

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



Re: Re: Weghier (Sharia, 21. Jan 1997, 02:03:00):
~#! rn=Asmodis rt=853803650 rg=gilden.kaempfer
~#! tid=853790835
naja nicht uebel der kleine.... 
waere vielleicht auch als erstes durch Kleriker-Hand gestorben, wenn nicht der
Crash das gute stueck vor dem Tod bewahrt haette....

Sharia, aergert sich ueber einen entgangenen Weghier-Kill bei 20 % :-(

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



Re^3: Weghier (Sharia, 21. Jan 1997, 10:33:37):
~#! rn=Sharia rt=853808580 rg=gilden.kaempfer
~#! tid=853790835
Achja Rochus, bevor ichs vergesse: Der Weghier sollte doch eigentlich ein
Parallelwelt NPC sein, oder ?
Dann sollte er auch nicht so unfaehig sein und 2 Raeume weiter stolpern und in
der Normalwelt bei den Dachsen rumstehen :)))

Aber witzig wars, rechts und links nen Weghier zu haben :-)))

Sharia, kichert immernoch...

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



Re^4: Weghier (Rochus, 21. Jan 1997, 13:59:06):
~#! rn=Sharia rt=853839217 rg=gilden.kaempfer
~#! tid=853790835
Das mit dem weiterstolpern habe ich eben beseitigt, Normalsterblichen
(die Betonung liegt auf "sterblich" :) ist der nicht zuzumuten.
Ausserdem habe ich einige andere Werte, wie z.B. die urspruenglich
wahnsinnig hohe Ruestung, jetzt auf normale Werte gesenkt - als
Kaempfer hat er das nicht mehr noetig.
Aber er wird Kaempfer bleiben, denn er war auch urspruenglich als guter
Kaempfer gedacht. Vielleicht werde ich noch einige andere Anpassungen
nach unten vornehmen.

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



Re^5: Weghier (Rochus, 21. Jan 1997, 14:03:26):
~#! rn=Rochus rt=853851546 rg=gilden.kaempfer
~#! tid=853790835
PS: Ich will den Weghier NICHT unkillbar machen.

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



Re^6: Weghier (Mango, 21. Jan 1997, 14:09:08):
~#! rn=Rochus rt=853851806 rg=gilden.kaempfer
~#! tid=853790835

Eben gerade. 


Jurry verfehlt Weghier TROTTELIG.
Ein Weghier macht eine Finte gegen Jurry.
Ein Weghier schlaegt Jurry ploetzlich und voellig unerwartet mit einem
Vollstrecker.
Weghier schlaegt Jurry
Weghier pulverisiert Jurry mit Vollstrecker.
Der Weghier greift Jurry mit einem lauten ``AIIIIX!''-Schrei an.
Weghier zerschmettert Jurry mit Vollstrecker.
Der Weghier greift Jurry mit einem lauten ``AIIIIX!''-Schrei an.
Der Vollstrecker versucht, Jurry den Todesstoss zu versetzen!
  Der Weghier vernichtet Jurry.
Jurry faellt tot zu Boden.
Du siehst eine dunkle Gestalt, die etwas Dunst einsammelt ... oder vielleicht
bildest du Dir das auch nur ein ...
[Tod:Lars] Ein Weghier hat gerade Jurry umgebracht.
[Tod:Ein Weghier] Gotcha!
Eine Leiche wird von einem Weghier voll Hingebung verspeist.
Der Weghier laechelt.
Der Weghier nagelt Jurrys Totenschaedel an einen Baum.



Mango, echt aengstlich.



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



Re^7: Weghier (Asmodis, 21. Jan 1997, 14:22:16):
~#! rn=Mango rt=853852148 rg=gilden.kaempfer
~#! tid=853790835
Jo, Laurin hat er auch erwischt, als er nicht rechtzeitig raus ist.
Der sah nur noch Angriffe und war ploetzlich tot :(

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



Argl. Wartezeiten. (Lug, 25. Jan 1997, 01:37:15):

Moin,

aehem. Koennten die Wartezeiten nicht etwas (sehr) runtergesetzt werden, in
Bezug auf das Erhoehen ab Level 15? Das ist ziemlich happig, besonders wenn
man nur noch alle paar Wochen mal mudden kann, und dann wieder nicht. Azubis
etc. sind doch schon anstrengend genug.

Achtung: Dies ist ein Wunsch, sonst nix.

Gruss
Lug

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



Re: Argl. Wartezeiten. (Asmodis, 27. Jan 1997, 15:02:48):
~#! rn=Lug rt=854152635 rg=gilden.kaempfer
~#! tid=854152635
Aeh, wieso hast du ein Problem mit den Wartezeiten, wenn du alle paar Wochen
nur
mudden kannst? Dann kannst du beim naechsten mal schon erhoehen :)

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



Re: Re: Argl. Wartezeiten. (Lug, 27. Jan 1997, 23:43:19):
~#! rn=Asmodis rt=854373768 rg=gilden.kaempfer
~#! tid=854152635
Aeh,

nee, brauche die kurzen Anwesenheiten zum Vollgaserhoehen ;)
Lug

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



Formulare (Zardoz,  4. Feb 1997, 10:59:43):
Anmeldungsformular und Aenderungsformular haben jetzt fuer die
Lebensgeschichte einen Editor. Ihr koennt euch also richtig austoben.

ciao zardoz

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



Re: Formulare (Zardoz,  4. Feb 1997, 11:12:36):
~#! rn=Zardoz rt=855050383 rg=gilden.kaempfer
~#! tid=855050383
Einige Lebensgeschichten kann man jetzt auch in der Bibliothek finden.

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



Boing mischt sich ein (Cyradis, 12. Feb 1997, 16:31:26):
Unser allseits geliebter Gott misch sich in Gildeninterne Angelegenheiten, wie
es scheint:

Boing sagt: Naja, ein Kragen mit fuenf weissen Knochen kann ich ja noch
so gerade verstehen, aber mehr darf es auch nicht sein!


*kicher*
Cyradis

P.S. Kann man diese Rubrik nicht in gilden.trves umtaufen? Ich hab 3 Anlaeufe
gebraucht, bis ich sie endlich aufgeschlagen hatte.

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



Hasutiere im Struv... (Shiva, 21. Feb 1997, 13:52:35):
Dass gewisse einflussreiche Trves, die hier im Struv das Sagen ahben, ein
Haustierverbot verhaengt haben, mag ja gerade noch zu ertragen sein.
Dass aber bereits der Besitz eines haustieres, das man nur weit ausserhalb des
Struvs spazierenfuehren will, automatisch 'nen Verweis bedeutet, .ist der
Willkuer zuviel.
Genau das passiert naemlich, wenn man nach 'nem Crash oder Ende bei Illuzida
aufwacht.
Und das Haustier neben einem. Also, Zardoz, sei nicht gar so kleinlich in
dieser Ecke und lass einem wenigstens Zeit, das Haustier wegzuschicken, bevor
der Verweis anfaellt. ;-)
                                                   Shiva, grummelnd....

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



Re: Hasutiere im Struv... (Felagund,  3. Mar 1997, 15:23:16):
~#! rn=Shiva rt=856529555 rg=gilden.kaempfer
~#! tid=856529555
Wenn dein Haustier nach ende/crash den Struv besudelt is das ja wohl
mindestens nen Verweis wert, brauchst ja nicht mit sonem doofen Vieh
rumlaufen. (Im uebrigen musst du dich da wohl eher an Dan^H^Hurian wenden,
damit die Tierchen bei ende und so automatisch verschwinden und erst auf rufen
erscheinen ;)
Fela..heute mal hart

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



Stupse wech (Wargon,  3. Mar 1997, 15:34:35):
  Hi!
Durch einen kleine Bugfix fehlen den Kaempfern jetzt ein paar Stupse.
  Wargon

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



Re: Stupse wech (Acrimon,  3. Mar 1997, 17:40:37):
~#! rn=Wargon rt=857399675 rg=gilden.kaempfer
~#! tid=857399675
Ein paar? Ich hab 300 SP verloren, das ist nicht wenig!

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



Re: Re: Stupse wech (Anakin,  3. Mar 1997, 17:41:24):
~#! rn=Acrimon rt=857407237 rg=gilden.kaempfer
~#! tid=857399675
Du haettest Sie ohne den Bug nie gehabt, also was solls.

Anakin.

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



Re: Re: Stupse wech (Grimmborn,  3. Mar 1997, 17:42:26):
~#! rn=Acrimon rt=857407237 rg=gilden.kaempfer
~#! tid=857399675
Heul doch! ;-)

Grimmborn der Atheist

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



Re^3: Stupse wech (Hardil,  4. Mar 1997, 10:53:33):
~#! rn=Grimmborn rt=857407346 rg=gilden.kaempfer
~#! tid=857399675

Oder kauf Dir 'nen Haarreif. ;-)

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



Aehem. (Lug,  4. Mar 1997, 22:21:07):

Also mir fehlen nicht nur massig Stupse, sondern auch noch die Autoloadobjekte
von Toeters Insel (Stab und Anhaenger). Und mir fehlen mehr Stupse, als vor
dem Eintritt in die Kaempfergilde, wenn ich das richtig sehe. Sonstnochwer mit
aehnlichen Probs?

Dachte es lag am Absturz
Lug

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



Re: Aehem. (Denti,  4. Mar 1997, 22:27:06):
~#! rn=Lug rt=857510467 rg=gilden.kaempfer
~#! tid=857510467
Hmm, mir fehlen auch ne menge stupse, ist bei so kleinen Leveln
sehr aergerlich, dann kommt man noch schwerer vorwaerts...

Denti  (bin kein Zahnarzt!)


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



Re: Re: Aehem. (Mars,  4. Mar 1997, 23:59:02):
~#! rn=Denti rt=857510826 rg=gilden.kaempfer
~#! tid=857510467
Also die Groessenordnung der Stupse, die mir abgezogen worden, scheint
zu stimmen, jedenfalls hab ich nach dem Austritt ca. 300 dazubekommen.

  Mars

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



Re^3: Aehem. (Wargon,  5. Mar 1997, 09:55:18):
~#! rn=Mars rt=857516342 rg=gilden.kaempfer
~#! tid=857510467
  Hi!
Durch den Bugfix sind 2/3 der Stupse, die durch die Gildeneinstufung kommen,
floeten gegangen. An den Verlusten koennt ihr ja schon sehen, wie gravierend
der Bug (vielleicht nicht fuer euch, aber im Vergleich mit anderen Gilden)
war.
Mit fehlenden Autoloadern hat der Bugfix nix zu tun.
  Wargon

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



Re^4: Aehem. (Anatol,  7. Mar 1997, 20:36:56):
~#! rn=Wargon rt=857552118 rg=gilden.kaempfer
~#! tid=857510467

Ach Wargon, schreib' doch einfach, dass das Berechnen des Gildenratings buggy
war und der eine oder andere mit 170% statt 80% (?) rumgelaufen ist :)
Dann erklaert es auch, warum einige weniger Stupse haben, als vor Eintritt in
das Struv.

Koennte sich natuerlich auch mit einem solchen GuildRating anfreunden,
Anatol@Stgt :)


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



Egoisten... (Tunixgut, 26. Mar 1997, 09:08:41):
> toete puppe
Ok
   Du greifst die Holzpuppe mit einem gelungenen Ushiro-empi-uchi an.
Hier sollen eigentlich nur Trves ueben!

Nein, wie egoistisch.....

TuNixGut - steckt Pieseltrim normalerweise eher die Zunge raus, als zu
salutian

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



dingens (Gundur, 20. Apr 1997, 14:39:20):
Die Kurzschwerter im Hobbitdorf koennen ab sofort von Hobbits wie messer
benutzt werden
Das deshalb weil ich finde das ein kurzschwert die ideale Waffe fuer einen
Hobbit ist
Und da keine Waffenklasse Kurzschwerter vorgesehen ist sind halt jetzt messer
fuer Hobbits..
Es ist wohl klar dass die hobbits die nicht freiwillig hergeben :-)
Man munkelt auch dass sie ein bisschen kempfen gelernt haben..
Gruss
Gundur

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



Ausbildungsprobleme (Dolph, 13. Mai 1997, 17:41:28):
Hi Kaempfer und insbesondere Hi Magier.

Ich habe nun voller Stolz Stufe 14 erreicht und habe somit dir
Pflicht auferlegt bekommen auch als Ausbilder taetig zu werden.
Dieser Pflicht wuerde ich gerne nachkommen.... leider finden 
sich wenig andere Kaempfer dazu bereit einen zu unterstuetzen,
zumal es immer mehr Kaempfer  hoehrere Stufen gibt !
Fuer meine Freunde war ich schon unzaehlige Male Azubi und das
hat mir auch Spass gemacht. Leider sind niedrigstufige Azubis
sehr begeehrt und beim Einstieg in die Gilde sagte mir auch keiner
das ich einen Kaempferzweiti brauche um in der Gilde aufzusteigen !

Gaebe es nicht die Moeglichkeit beliebige schwaechere NPC's zu 
proggenn die ( wie z.B. ein Wolpi ) hinter einem herlaufen und 
nur ein wenig mitkaempfen. Den Rest wuerde ich ja dann schon alleine
machen.
Zweitens ist zwar ' kwer gilde kaempfer ' nett aber wofuer besitzen
wir ein Brett. Dort waere doch ein Aushang mit den eingeloggten 
Kaempfern was richtig feines. Und wenn dann zusaetzlich noch der 
Gildenlevel ( aehnlich wie bei den Karatekas ) daneber steht dann
waere das doch eine wunderbare Loesung um gezielt Azubis anzusprechen !
Als Beispiel habe ich schon mall die Liste ungefaehr vorbereitet:

Name des Kaempfers                              Gildenstufe
---------------------------------------------------------------------

Namen von Kaempfern hoeheren Ranges            Rang >= 14

       Dolph                                           14

Namen von Kaempfern niederen Ranges            Rang <= 14

Diese Liste soll keine Diskriminierung sein sondern uns Kaempfern nur
als Hilfe dienen.

Puh jetz aber genug Ideen eingebracht... was ist eure Meinung ?

Dolph ist ganz gespannt auf die Resonanz !



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



Topliste? (Gnome, 14. Mai 1997, 13:35:51):
hi kaempfer,

wie die meisten sicher schon bemerkt haben, ist die Topliste seit geraumer
Zeit weg. mag mir jemand erklaeren warum das so ist, oder wann sie wieder
angehaengt wird? ich finds schade, dass sie weg ist... oder haengt sie
jetze wo anders? wenigstens eine kleine erklaerung von einem mag waere doch
schoen gewesen... oder hab ich da was nicht mitbekommen?

gnOme

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



Re: Topliste? (Grimmborn, 14. Mai 1997, 13:40:40):
~#! rn=Gnome rt=863609751 rg=gilden.kaempfer
~#! tid=863609751
Alles aus Protest abgehaengt. As usual halt. :-)

GdA

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



Re: Re: Topliste? (Orktoeter, 14. Mai 1997, 13:44:24):
~#! rn=Grimmborn rt=863610040 rg=gilden.kaempfer
~#! tid=863609751
Zardoz will die "Levelgeilheit" einschraenken..

OrkT.

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



Wann werdet ihr erwachsen ! (Dolph, 14. Mai 1997, 15:39:16):
Also das die Topliste abgehaengt wurde, ist wieder einmal der groesste
Witz von einem ' Magier '. Sie benehmen sich wieder wie die Kinder.
Sie sind nur beleidigt und versuchen uns das das Leben immer schwerer
zu machen. 
Macht man einen Verbesserungsvorschlag wird er abgewiesen mit einer
lauen Begruendung. Wie gesagt: Mit  KWER GILDE KAEMPFER sehe aufsteigend
sortiert die Anzahl der eingeloggten Kaempfer. Eine Topliste ist nur ein
Verbesserungsvorschlag. Wenn es so weiter geht wird Kwer gestrichen usw.
usw. 
Wie lange dauert es denn noch bis die Magier aus der Pupertaet rauswachsen
und wieder mal etwas fuer uns machen. 
W A N N   W E R D E T   I H R    E R W A C H S E N  ? ? ?

Briefe an Magier ueber Beurteilungen und Verbesserungsvorschlaege ihrer 
Quests schicke ich prinzipiell nur an mir persoenlich bekannte Magier mit
den ich mich auch noch an der Party normal unterhalten kann.

Ich finde es bedauernswert und kleinkariert. 
Dolph 

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



Re^3: Topliste? (Gnome, 14. Mai 1997, 15:50:43):
~#! rn=Orktoeter rt=863610264 rg=gilden.kaempfer
~#! tid=863609751
wenn das so ist, warum werden dann nicht ALLE top-listen abgehaengt...
dann wuerd ich die aktion sogar noch verstehen... aber so... naja...

gnOme, kopfschuettelnd

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



Re: Wann werdet ihr erwachsen ! (Grimmborn, 14. Mai 1997, 15:50:48):
~#! rn=Dolph rt=863617156 rg=gilden.kaempfer
~#! tid=863617156
Wow, ich bewundere Dich fuer Deine Reife. Mensch, ich wuenschte wirklich, ich
waere auch nur halb so erwachsen wie Du, diese sachliche Argumentation, dieses
souveraene Auftreten, diese Zurueckhaltung, nur ueber Dinge zu reden, die man
versteht, dieses sichere Ueber-den-Dingen-Stehen... ehrlich. Und erst diese
Logik "Verbesserungsvorschlaege bringen nur bei bestimmten Magiern was, weil
ich die Argumente der anderen nicht einsehe". Das ist doch mal ganz was
anderes als der uebliche Kindergartenstil hier.

Grimmborn der Atheist hat ein neues Idol gefunden

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



Re: Re: Wann werdet ihr erwachsen ! (Quasimodo, 14. Mai 1997, 17:50:20):
~#! rn=Grimmborn rt=863617848 rg=gilden.kaempfer
~#! tid=863617156
Gut drauf, wa?

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



Hmm (Key, 15. Mai 1997, 04:28:41):
Also zuerst mal, wr brauch denn ne top-liste?
Seid ihr so Listen geil?

Und dann zu Grimm*: Kannst du mal anstaendig argumentieren? Das einzige was
man von Dir in letzter Zeit in der Zeitung liest ist wie Du irgendjemanden
runtermachst. Weiss net ob Dir was ueber die Leber gelaufen ist, aber lass das
doch mal an was anderem aus.

Key

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



Re: Wann werdet ihr erwachsen ! (Zardoz, 15. Mai 1997, 08:54:27):
~#! rn=Dolph rt=863617156 rg=gilden.kaempfer
~#! tid=863617156
Ok, Dolph hat mich ueberzeugt, ich konnte mich seinen Argumenten nicht
verschliessen und habe die Top-Liste wieder aufgehaengt.

Ciao Zardoz

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



Re: Hmm (Hate, 15. Mai 1997, 09:28:23):
~#! rn=Key rt=863663321 rg=gilden.kaempfer
~#! tid=863663321
Grimmborn kopiert doch nur ;-)
Hate.

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



Re: Re: Wann werdet ihr erwachsen ! (Jimdigriz, 16. Mai 1997, 01:15:16):
~#! rn=Zardoz rt=863679267 rg=gilden.kaempfer
~#! tid=863617156
ROTFLBTC!!!!!!!

JdG

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



Top-Liste (Dolph, 16. Mai 1997, 13:35:49):
Ein weiterer Beweis mangelnder Intelligenz ist der Aushang der neuen
Top-Liste von Zardoz. Keine Angst ich bin nicht nachtragend und fand es 
eher lustig als mich meine Freunde drauf ansprachen.

Einige Kaempfer sprachen mich an warum es denn keine Liste fuer unsere Gilde
gaebe. Die einzige Antwort die man darauf geben kann ist SELBSTMITLEID !

Nun dann verzichten wir halt auf eine solche Liste, bekommen wir halt kein
BONBON fuer unsere Gilde. Ist ja auch egal, ich kann nur wiederholen, dass
man mit Kwer Gilde Kaempfer auch noch genuegend Informatonen erhaelt.
Mit einem gescheiten Magier diskutierte ich ueber eine Topliste, welche nur
die eingeloggten Kaempfer zeigen sollte. Er ueberzeugte mich, dass dies ein 
groessere Programmieraufwand und Speicheraufwand waere. 
Endlich mal ne klare Antwort :)

Ich denke es ist wohl alles gesagt !

Dolph


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



Re: Top-Liste (Pampers, 16. Mai 1997, 13:39:14):
~#! rn=Dolph rt=863782549 rg=gilden.kaempfer
~#! tid=863782549
Also ich fand die neue Topliste Klasse.

Woher Du aber meinst, daraus auf ein intellektuelles Defizit von Zardoz
schliessen zu koennen (*schwall*) ist mir ehrlich gesagt verschlossen
geblieben,

Wenn Du unbedingt ne Topliste brauchst, bau Dir doch selber eine.

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



Re: Re: Top-Liste (Zephyr, 16. Mai 1997, 13:56:45):
~#! rn=Pampers rt=863782754 rg=gilden.kaempfer
~#! tid=863782549
So weit ich das jetzt hier richtig verstanden habe, geht es doch gar nicht
um eine Top-Liste als solche. Interessant ist eine "Liste" oder irgendwas
in der Art, wo sich der Rang der eingeloggten Trves einsehen laesst fuer
den Fall, dass man einen Azubi oder Ausbilder sucht. Natuerlich GEHT es
auch mit kwer gilde trves und dem finger-befehl, das kann allerdings auch
ganz schoen nervig werden. Waere es wirklich ein zu grosser Aufwand, 
irgendwo einen Zettel der Art "anwesende Takal'Mor: ...
                               anwesende Gra'Takal: ...
                               anwesende Prolk'Weths/Krakh'Getres: ..."
auszuhaengen?

Gruss, Zephyr, die Liste auch zum Rang-Nachschlagen benutzt habend

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



Re: Hmm (Mupfel, 16. Mai 1997, 14:47:18):
~#! rn=Key rt=863663321 rg=gilden.kaempfer
~#! tid=863663321
Grimmborn macht seit ueber 3 Jahren *jeden* runter, aber bisher hat sich kaum
einer beschwert...

-mupfel-

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



Re: Re: Hmm (Hobo, 16. Mai 1997, 14:50:30):
~#! rn=Mupfel rt=863786838 rg=gilden.kaempfer
~#! tid=863663321
Jeden???

Grimmborn, ich will auch!


     Hobo, meldet Ansprueche an

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



Re^3: Top-Liste (Gnome, 16. Mai 1997, 14:50:38):
~#! rn=Zephyr rt=863783805 rg=gilden.kaempfer
~#! tid=863782549
hi,
also C4s vorschlag ist ja eigentlich sehr gut... aber man koennte doch
die anwesenden kaempfer in der top-liste mit einem "*" oder so kenn-
zeichnen, dann haette man zwei fliegen mit einer klappe geschlagen:
1. die top-liste waere wieder da (hat fuer mich zumindest einen gewissen
   reiz, dort reinzugucken und zu sehen, wo ich plaziert bin)
2. man koennte die leute gezielter ansprechen (zwecks ausbildung oder
   rudel-metzeln etc.)

wie seht ihr das?

gnOme

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



Re^4: Top-Liste (Bendeigid, 16. Mai 1997, 15:32:01):
~#! rn=Gnome rt=863787038 rg=gilden.kaempfer
~#! tid=863782549
Hi Maennerss,

es wird -> keine <- Topliste mehr in der Gilde geben, ausser der jetzt
aushaengenden oder leichten Varianten davon.

Dafuer gibt es diverse Gruende, von denen der mit Abstand fuehrende der ist,
dass unserer Meinung nach grade die Toplisten zu einigen der unschoenen
Ausschweifungen, die vor nicht allzu langer Zeit in der MPA diskutiert wurden,
gefuehrt haben und auch noch fuehren.
Die grundlegende Diskussion ueber Sinn und UNsinn der Levelgeilheit, dem
Listenstreben (einige scripten nach fast jedem toten Monster in die naechste
Kneipe und schauen, ob sie schon einen Platz hoeher sind...) wurde hier in der
MPA schon mehrfach durchdiskutiert, und wird auch mit Sicherheit innerhalb der
naechsten Monate wieder durchgefuehrt werden (hm, OrkT, wie waers mal wieder?
;)) 
Wir Trves haben es doch wohl nicht noetig, unsere Faehigkeiten mit sowas
profanem wie (sowieso nicht allzu aussagekraeftigen) Zahlen unter Bewei zu
stellen. Ich erinnere in diesem Zusammenhang nur mal daran, dass 20 harmlose
Gardewaechter garantiert mehr EP bringen als eine Banshee.... aber letztere
ist sicher kniffliger zu erlegen. (Schweig, Zeph! ;))
Was das Ungemach angeht, dass man nu unter den eingeloggten Kaempfern mal ein
paar (meist unbekanntere namen) fingern muss, um ihre Level auf
Azubi-Tauglichkiet zu bewerten, das ist ja furchtbar aergerlich, aber sicher
nicht so gravierend. 

Z'par Servu,
          Bendeigid

P.S.: Spart euch die Replys...

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



Re^3: Top-Liste (Acrimon, 16. Mai 1997, 16:04:06):
~#! rn=Zephyr rt=863783805 rg=gilden.kaempfer
~#! tid=863782549
Auch ich habe die Top-Liste sehr praktisch, informativ, interessant und
spielfoerdernd gefunden.
1. zum Nachsehen, wer Zalkh'Batar, Takal'Nor, Gra'Takal, Prolk'Weths oder
Krakh'Getres ist.
Zu diesem Punkt musz ich jedoch zugeben, dasz eine Liste aller anwesenden
Zalkh'Batar, Takal'Nor, Gra'Takal, Prolk'Weths und Krakh'Getres (wie von
Zephyr vorgeschlagen) noch wesentlich praktischer ist.
2. Zum Ueberpruefen seines eigenen Fortschritts.
Man kann sehen, ob man sich in etwa so viel Muehe gibt wie die anderen auch.
3. Zum Zielsetzen oder zum Wettbewerb.
4. Zum Beobachten.
Es ist durchaus sehr amuesant zu beobachten, wie sich die Situation
entwickelt, wie sich ein Kampf um die besten Plaetze entspannt, wie die Leute
fortschreiten usw.

Also ich finds schade, dasz die Liste weg ist - ich beobachte so gerne.

Acrimon, der Rote Ritter

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



Re^3: Top-Liste (Morgar, 16. Mai 1997, 16:54:44):
~#! rn=Zephyr rt=863783805 rg=gilden.kaempfer
~#! tid=863782549
Und hier mal wieder was zum neidisch werden von den Zauberern:

Folgende Zauberer sind derzeit eingeloggt:
----------------------------------------------------------------------
Morgar der Magister
Birdy der Meisteranwaerter
Iwo der Meisteranwaerter
Nairolf der Meisteranwaerter
Shorkan der Adept
Gwendula die Adeptin

Also koennte man das doch praktisch mehr oder weniger von dieser Art Liste
uebernehmen, wenn ich Euch da richtig verstanden hab.

Morgar (senfend)

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



gilden.kaempfer (Yunga, 16. Mai 1997, 22:14:34):
~#! on=Yunga ot=863813521 og=hardsoftware
Hi,
nachdem hier ja eine kleine Diskussion entbrannt ist und ich daher weiss, dass
diese Rubrik gelesen wird, will ich auch mal ein paar Vorschlaege bringen.
a) es ist immernoch zu schwer, Azubis zu bekommen. Ich biete meinen Azubis
schon Unmengen von Geld und rueste sie immer optimal aus, trotzdem finden sich
kaum welche. Vielleicht sollte man die Azubis dazu zwingen? So nach der Art Du
musst noch 20 Monster mit einem Ausbilder toeten...
b) Ich bin im Moment Level 17 und brauche 4 Mio EPs mehr um auf 18 zu kommen.
Das finde ich ziemlich uebertrieben. Die restlichen Anforderungen sind ja ok,
aber 4 Mio zusaetzlich? Da sind alle anderen Probleme (Azubis, Uebung,
questen) echt ein Witz dagegen. Wuerden 2 Mio nicht auch reichen?
Eben kommt mir noch eine andere Idee zum Azubi-Problem:
c) koennte man vielleicht die Ausbildungsgruppen in 3 Bereiche aufteilen? so
in etwa 13-15 bilden <13 aus, 16/17 bilden 16 aus und 17 bilden <18 aus....
16/17er ist es naemlich problematisch Azubis zu bekommen, weil die ja wegen
der Staerke der Monster nicht gerade die schwaechsten sein duerfen. Ich kann
mit einem Knueppeltraeger ja keine Gardies angreifen...
Tja, das waers erstmal, was mir im Kopf so rumgeht, sagt mal was dazu.
Gruss
        Yunga

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



Re: gilden.kaempfer (Boni, 17. Mai 1997, 13:10:59):
~#! rn=Yunga rt=863813674 rg=gilden.kaempfer
~#! tid=863813674
Yunga, ich will mal folgendes sagen: Mit einem Knueppeltraeger kann man sehr
wohl Gardis angreifen. Die Frage ist, ob man in der Lage ist, seine
Kaempferfaehigkeiten optimal einzusetzen.
In diesem speziellen Fall sollte man halt auf intensives Beschimpfen des
Gegners zurueckgreifen.
Lerne, Deine Faehigkeiten einzusetzen und Du wirst auch mit schwaecheren
Azubis klarkommen.

Boni. (heute ohne Lied auf den Lippen :))

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



Re: Re: gilden.kaempfer (Key, 18. Mai 1997, 01:50:41):
~#! rn=Boni rt=863867459 rg=gilden.kaempfer
~#! tid=863813674
Joop Boni ich stimm dir zu.
Yunga wenn du keine ahnung von der gilde hast sollteste dich net beschweren
....

So zu der Top-Liste ...
Die Idee von C4 finde ich ganz gut, aber an der falschen Stelle, und zwar
sollte wenn dann das gesamte kwer <gilde> geaendert werden, das man daraus net
ersieht wer den hoechsten spielerlevel in der gilde hat (Interessiert ja
eigentlich eh keinen bei kwer gilde zauberer oder aehnliches). Ankommen tut es
dabei ja auf die Gildenfaehigkeit. 
Also Hate fang an zu proggen *grins fies* :)

Key

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



Re^3: gilden.kaempfer (Anatol, 18. Mai 1997, 01:54:37):
~#! rn=Key rt=863913041 rg=gilden.kaempfer
~#! tid=863813674
> Also Hate fang an zu proggen *grins fies* :)

Hm, ich quote mal eben aus der letzten Mail von Hate...:
>        Prinzipiell kein Problem. Eine Arbeiststunde kostst ca. 70 DM.
>        Mit Zeit siehts bei mir im Moment sehr mager aus.

Schade, aber kann man machen nix 
Anatol


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



Re^4: gilden.kaempfer (Key, 18. Mai 1997, 02:03:53):
~#! rn=Anatol rt=863913277 rg=gilden.kaempfer
~#! tid=863813674

Hmm oki wer spendet? .))

Key steuert Hmmmm 1 Groschen bei ;)

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



Re^5: gilden.kaempfer (Asmodis, 18. Mai 1997, 02:05:56):
~#! rn=Key rt=863913833 rg=gilden.kaempfer
~#! tid=863813674
Hmm, wenn man hier doch noch bezahlt wird, muss ich mir mal ueberlegen,
ob ich nicht Magier werde :)

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



Re^6: gilden.kaempfer (Key, 18. Mai 1997, 02:57:09):
~#! rn=Asmodis rt=863913956 rg=gilden.kaempfer
~#! tid=863813674

Gute Mags werden immer bezahlt, aber net mit so etwas billigen wie Geld,
sonern mit ewiger Dankbarkeit ;))

Key

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



Re^7: gilden.kaempfer (Anatol, 18. Mai 1997, 02:58:25):
~#! rn=Key rt=863917029 rg=gilden.kaempfer
~#! tid=863813674
Ach ja, ich vergass. Mich wuerde dazu allerdings Wargons Meinung
interessieren, denn ein 'schlechter Mag' ist er imho nicht.

Anatol


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



Re^8: gilden.kaempfer (Key, 18. Mai 1997, 03:07:47):
~#! rn=Anatol rt=863917105 rg=gilden.kaempfer
~#! tid=863813674

Hmm naja ein "schlechter Mag" isser sicher net .... Und dankbar waere man ihm
auch, wenn er net die schoene Quest abgehaengt haette ...

Key

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



Re^9: gilden.kaempfer (Lug, 18. Mai 1997, 05:35:33):
~#! rn=Key rt=863917667 rg=gilden.kaempfer
~#! tid=863813674


Sieht irgendwie arg nach billiger Werbung fuer die Kleriker aus. Aber ich
behalte meine Meinung ueber das Ganze dann doch lieber fuer mich. Will ja
keinen Aerger mit Larissa ;)

Lug

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



Re^10: gilden.kaempfer (Anatol, 18. Mai 1997, 05:44:57):
~#! rn=Lug rt=863926533 rg=gilden.kaempfer
~#! tid=863813674
> frage owen nach faehigkeiten
Owen Braddon sagt: Da musst Du Llystrathe fragen.
Owen bemerkt: Oh ich seh' grad, Du hast den 'entgifte'-Spruch gelernt.
Owen bemerkt: Diesen Spruch beherrschst Du befriedigend.

Ja, gelernt schon... ;-)
Kichernd, 
Anatol

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



Re^4: gilden.kaempfer (Silvana, 18. Mai 1997, 12:08:47):
~#! rn=Anatol rt=863913277 rg=gilden.kaempfer
~#! tid=863813674
Haette nicht gedacht, das Hate so guenstig zu haben ist... :)
Silvana -> Schmarrn

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



Re: Re: Hmm (Fyt, 20. Mai 1997, 08:58:55):
~#! rn=Mupfel rt=863786838 rg=gilden.kaempfer
~#! tid=863663321

Naja, das wuerde ja voraussetzen, dass ihn einer ernst nimmt *hust*

Fyt.

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



Re^3: Hmm (Grimmborn, 20. Mai 1997, 11:27:15):
~#! rn=Hobo rt=863787030 rg=gilden.kaempfer
~#! tid=863663321
Dich runtermachen, meine liebe Hobo? Aber ich bitte Dich, wieso sollte ich das
denn tun? Als KSC-Anhaengerin bist Du doch momentan wirklich gestraft genug,
ich trete ungern nach Leuten, die eh schon am Boden liegen...

Grimmborn der Atheist. Aus Koeln. Der Stadt mit der Gurkenfussballmanschaft,
die nix zustande bringt ausser gegen den KSC haushoch zu gewinnen. Strebt eine
Staedtepartnerschaft mit Cottbus an...

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



Re^4: gilden.kaempfer (Jimdigriz, 20. Mai 1997, 19:02:35):
~#! rn=Anatol rt=863913277 rg=gilden.kaempfer
~#! tid=863813674

70,- DM /Stunde ??? Das is ja ein Witz.

Haette nicht gedacht, dass sich Hate so billig einschaetzt. %-}

Nur damit jetzt nicht wirklich jemand auf
den Gedanken kommt zu sammeln:
 Hate Du solltest eher 250,- DM/h verlangen 

Ciao,
 JdG

P.S.: SENF OFF

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



Re^5: gilden.kaempfer (Grimmborn, 20. Mai 1997, 19:05:18):
~#! rn=Jimdigriz rt=864147755 rg=gilden.kaempfer
~#! tid=863813674
Phh, Peanuts.
Eine Bekannte von mir bekommt 300DM pro halber Stunde...

GdA

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



Re^6: gilden.kaempfer (Pampers, 20. Mai 1997, 19:06:29):
~#! rn=Grimmborn rt=864147918 rg=gilden.kaempfer
~#! tid=863813674
Naja... die muss aber bestimmt auch 80 % abgebenn. :-0

Pampers. Meine Smileys verungluecken immer... Mist shifttaste.... :-) nanu,
der hat ja geklappt. :-)

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



Re^6: gilden.kaempfer (Fyt, 20. Mai 1997, 19:06:30):
~#! rn=Grimmborn rt=864147918 rg=gilden.kaempfer
~#! tid=863813674
Welches Gewerbe?

Fyt.

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



Re^7: gilden.kaempfer (Hate, 20. Mai 1997, 19:10:07):
~#! rn=Fyt rt=864147990 rg=gilden.kaempfer
~#! tid=863813674
Den Hauptteil einiger Arbeiten mache ich eh fuer umsonst..
Und die 70DM duerften fuer einige hier eh unerreichbar sein.

Hate.

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



Re^7: gilden.kaempfer (Bloodyharry, 20. Mai 1997, 23:30:28):
~#! rn=Fyt rt=864147990 rg=gilden.kaempfer
~#! tid=863813674
Horizontal, Vertikal oder wie oder was?

bh - dreht ganz durch bei de Gedanken...

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



Re^6: gilden.kaempfer (Teddy, 23. Mai 1997, 19:16:01):
~#! rn=Asmodis rt=863913956 rg=gilden.kaempfer
~#! tid=863813674
Bei dem Stundenlohn? Nene, das ist mir fuer professionelle Programmierung als
Bruttolohn echt zu wenig.
Teddy.

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



Fernwestwaffen (Li,  4. Jun 1997, 12:41:59):
Ni Hao!
Spaet, aber nicht zu spaet:
Ich habe mich jetzt mal drangesetzt, und die Fernwestwaffen ueberprueft,
welche von ihnen Sonderfunktionen besitzen koennten, die von den Kriegern
genutzt werden.
Und da die Fernwestwaffen alle ziemlich exotisch sind, kann ich euch
mitteilen, dass die meisten in Fernwest erhaeltichen Waffen auch
Sonderfunktionen bekommen haben.
Und vergesst nicht. es sind wahrscheinlich noch alte Versionen im Umlauf! 
Viel Spass beim testen der Waffen!
Li
P.S. Demnaechst wird es in FW eine Waffe geben, dei besonders fuer die
Hobbitsunter den Kaempfern interessant sein wird...

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



Kleiner Wunsch (Lug, 18. Jun 1997, 00:55:15):
Moin,

waere es nicht machbar, dass der Fokus schon vor dem Kampf anwendbar wird?

Konzentrieren kann man sich doch eigentlich ;)

Lug

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



Aenderungen (Zardoz, 27. Jun 1997, 11:40:38):
1) Der Azubiwechselbug sollte nun wirklich raus sein (nach ende versteht sich)
2) Man muss sich jetzt auch Ausbilden lassen um die Stufe erhoehen zu koennen 
  (auch erst nach Ende und neuem Anmelden des Azubis und Ende des Ausbilders,
  mit anderen Worten: Wohl erst Bugfrei nach dem naechsten Reboot.)

Ciao Zardoz

P.S.: Mit anderen Worten: Es wird wohl keiner uebers WE seine Stufe erhoehen
koennen, weil eh noch Bugs auftreten :)

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



Re: Aenderungen (Asmodis, 27. Jun 1997, 15:48:14):
~#! rn=Zardoz rt=867404438 rg=gilden.kaempfer
~#! tid=867404438
Aha, Ringor sucht ja schon ewig einen Ausbilder :)

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



Re: Aenderungen (Gnome, 27. Jun 1997, 21:45:31):
~#! rn=Zardoz rt=867404438 rg=gilden.kaempfer
~#! tid=867404438
SUPER! danke zardoz! :-)

gnOme

p.s. ernst gemeint! :-)

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



Re: Re: Aenderungen (Lug, 27. Jun 1997, 22:59:59):
~#! rn=Gnome rt=867440731 rg=gilden.kaempfer
~#! tid=867404438
Dito-Artikel:

Klasse! Danke Zardoz!
Und endlich werde ich wieder ausgebildet ;) *Zwinker Ringor zu*

Froh den Azubi-Bug los zu sein
Lug

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



Azubiregelung (Bendeigid,  5. Jul 1997, 12:47:11):
Tach Maenners, Kroeten, Zeph und der Rest :)

ich hab in den Kragen die Anzahl der noch zu erlegenden Feinde in der
Ausbildung mal eingebaut. das funktioniert, wie ueblich, erst nach Reboot oder
ende. Ausserdem natuerlich erst dann, wenn man auch wirklich Azubi ist und
schonmal was gekillt hat, was sich zu erwaehnen lohnt.

Z'par Servu,
           Bendeigid

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



Extraanforderung fuer Level 23 (Bendeigid, 11. Jul 1997, 16:42:42):
Hi Trves, Tach Maenners, hallo Weibsvolk.

Ich wollte nur mal so aus lauter Langeweile darauf hinweisen, dass wir immer
noch gute Ideen suchen, was man den angehenden Waffenmeistern so als
Anforderung aufbuerden koennte. Ausser den Berichten natuerlich, die bleiben
auf jeden Fall.\
Vorschlaege sollten einige Bedigungen erfuellen, die ich mal
brainstormingmaessig zusammenfassen will:
a) es sollte sich um was wirklich nettes, stilvolles und ins Gildenkonzept
passendes handeln.
b) sollte es nicht sowas sein wie "hole gegnestand x von megamonster Y und
gibs Briesel"
c) sollte es nicht grade eine Quest vom Umfang der Neuprogrammierung des MG
sein ;)
d) waere es schoen, wenn nicht nur die Prueflinge daran beteiligt werden
wuerden, sondern nach Moeglichkeit auch einige andere Trves.

Bisher liegt ein (noch komplett unausgegorenes) Konzept vor. Das stelle ich
mal als Diskussionsgrundlage hier her. 
Vorschlag waere, dass der angehende Waffenmeister seine Befaehigung zur
Fuehrung eines Kampfverbandes beweisen muss, und darum eine Art Manoever
leiten soll, bei dem aber auch ernstlich gemetzelt wird. Dabei soll er selber
so gut wie gar nicht metzeln muessen, sondern soll die Leitung uebernehmen und
die anderen Trves zu bestimmten Orten orderen und sie geschickt einsetzen
muessen, um mit Geggnern fertig zu werden. Natuerlich nicht so hinbefehlen,
dass ein Level 1 Trves gleich zu Celembar muss, ist klar.... Wie man das
Bewerten koennte und wie das genau aussehen soll waere noch zu ueberlegen.
Vorschlaege sowohl in MPA wie auch in mail sehr willkommen.

Z'par Servu,
        Bendeigid

P.S.: Ich will jetzt Vorschlaege haben, nicht flames a la " Aber dann darf das
nicht so und so sein." ich will wissen WIE es aussehen soll, oder aber
natuerlich neue, andere, bessere Vorschlaege. Danke

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



Eben auf Wache (Zephyr, 28. Jul 1997, 09:39:33):
...
Smeagol ruft: ALARM! ALARM!
> Du schlaegst den Meuchelmoerder fies mit dem Bienenstachel.
  Du triffst den Meuchelmoerder mit dem Krachen brechender Knochen.
> Der Vollstrecker versucht, einem Meuchelmoerder den Todesstoss zu versetzen!
  Smeagol greift den Meuchelmoerder mit einem Vollstrecker an.
  Smeagol zerschmettert den Meuchelmoerder in kleine Stueckchen.
Der Meuchelmoerder faellt tot zu Boden.
Zzrrrkl kommt aus der Halle herein.
Zzrrrkl sagt: Was soll das? Du brauchst doch ueberhaupt keine Hilfe! Warum
Zzrrrkl sagt: hast Du dann Alarm gegeben?
Zzrrrkl geht in die Halle.


Zephyr, immer noch grinsend und die Verweisformulare suchend

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



Zweihandskill (Zardoz, 29. Jul 1997, 13:59:53):
Ich hab nen Bug im Zweihandskill gefunden. Jetzt sollte ihn jeder auf perfekt
lernen koennen, wenn der Spieler-Level gross genug ist.

Ciao Zardoz

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



Betten machen (Hamlet, 24. Aug 1997, 02:29:17):
Wenn wundert es, wenn man einen Verweiss wegen nicht Betten machen hat, wenn
dieses oftmals garnicht moeglich ist:

> Dir faellt ein, dass Du vielleicht Dein Bett machen solltest.
mache bett
Dein Bett ist doch gar nicht unordentlich!


cu
   Hamlet

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



Ausbildung 1. Teil (Zardoz, 28. Aug 1997, 12:23:01):
So, die Ausbildung wurde etwas geaendert. Fuer den Azubi zaehlen jetzt auch
schwaechere Monster, natuerlich bekommt der Ausbilder dann das Monster nicht
angerechnet. Ausserdem wird jetzt beiden die richtige Anzahl an Monstern
angezeigt (und nicht dem Azubi auch die Zahl der Monster des Ausbilders).
Natuerlich gilt das, wie immer, nach Ende oder nem Reboot.


Ciao Zardoz

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



SMS (Hamlet, 28. Aug 1997, 20:26:07):
Hier mal einige Fragen zum SchwertMeisterSchwert:

Das Schwert hat ja einen eigenen Skill und deshalb taete mich interessieren,
wie das mit unseren skills zusammenwirkt.
Ich nehme ja mal an das das zum Zweihandwaffenskill gehoert, allerdings
muesste ich als Hobbit damit anfangs ja so gut wie garnicht kaempfen koennen.
Da die schwert skill anfgangs ja unten ist und bei hobbits die 2 hand waffen
skill auch unten ist, d.h. man duerfte als hobbit eigentlich ueberhaupt nicht
damit treffen.

Zu meiner ueber5raschung habe ich aber gestern als ich das teil getestet habe
festgestellt das es supergut zuhaut (auch mit einem Hobbit am Griff :))

Deshalb kommt es mir so vor als ob bei dem Teil die Gildenskills total egal
sind und wahrscheinlich nur die geschicklichkeit zaehlt (die bei hobbits ja
recht ordentlich ist).

Naja, das waere dann ja endlich mal eine anstaendige waffe fuer die armen
Hobbitkaempfer.

Wie auch immer ich bitte mal um Aufklaerung.


cu
  Hamlet

p.s.: jetzt bin ich irgendwie selbst verwirrt von dem artikel :)

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



Re: SMS (Zardoz, 29. Aug 1997, 09:16:41):
~#! rn=Hamlet rt=872792767 rg=gilden.kaempfer
~#! tid=872792767
Da es das Schwert schon vor der Kaempfergilde gab, kann es schlecht Ruecksicht
auf Kaempfer-Skills nehmen (Rochus ist vieles, aber kein Hellseher :)).

Ciao Zardoz

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



Drachenscwert (Li,  1. Sep 1997, 07:46:22):
Ni hao!
Das Drachenschwert in Xian musste in seiner Sonderfertigkeit etwas abgewertet
werden, da die Hoechstwerte fuer diese Skill verwechselt wurden, und das
Schwert so einen zu guten Wert bekam(besser als jede andere Waffe..)
aber ich denke, es wird Euch weiterhin gefallen
Li

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



Ich MUSS mein Abzeichen doch ausziehen, oder? (Zaphob,  4. Sep 1997, 19:23:44):
Hallo ihrs

Ich weiss, ich bin ein Anfaenger, Die Trves Gilde ist keine Anfaengergilde und
Diamondpark eine Anfaengerquest, aber trotzdem...
Als ich gerade Diamondparkquest startete, und in der Umkleidekabine die
Baseballsachen angezogen hatte und gehen wollte,
hielt mich dieser Rudy zurueck und sagte ich solle doch bitte meine sachen da
lassen, die er dann waschen wuerde.
Ich denk mir, gut, machste, stopf meine ruestungen und waffen in der Spind,
und will gehen,
Aber ist nicht.
Mein Trves Abzeichen soll ich ja auch ausziehen.
Das geht aber nicht.

So liebe Herren Magier, insbesondere, moment...
TRYFAN!
,der fuer diesen Raum zustaendig ist.
Eigendlich hatte ich vor, die Diamondquest zu machen. Das geht aber irgendwie
nicht.

Was soll ich also tun?
Andere Quests spielen?
Aus der Gilde austreten?

Da hab ich nicht sonderlich Lust drauf.
Ausserdem denke ich, dass das auch irgendwie anders gehen sollte...

In Hoffnung auf eine baldige Besserung/Antwort...
Zaphob

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



Re: Ich MUSS mein Abzeichen doch ausziehen, oder? (Fyt,  5. Sep 1997, 18:03:12):
~#! rn=Zaphob rt=873393824 rg=gilden.kaempfer
~#! tid=873393824

mail tryfan?

Nur so ne Idee...

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



Re: Re: Ich MUSS mein Abzeichen doch ausziehen, oder? (Wurzel,  5. Sep 1997, 19:47:14):
~#! rn=Fyt rt=873475392 rg=gilden.kaempfer
~#! tid=873393824
kann ein weilchen dauern mit der antwort, tryfan ist im urlaub. besser waere
vielleicht ne mail an einen erzmagier.

wurzel

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



Re: Ich MUSS mein Abzeichen doch ausziehen, oder? (Tryfan, 13. Sep 1997, 18:15:34):
~#! rn=Zaphob rt=873393824 rg=gilden.kaempfer
~#! tid=873393824
Huhu
 bin aus dem Urlaub zurueck (leider) 
Ich habe leider einen Nachsendeantrag gestellt, so dass ich die eventuell
geschrieben mail hier nicht lesen kann. Ich werde aber wohl in naechster
Zeit auch nicht so schnell an den Rechner drankommen, wohin ich die mails
weiterleiten lasse.
Aber ich habe mal in das entsprechende file geschaut und kann mir beim besten
Willen nicht vorstellen, dass, wenn Rudi einen festhaellt, man keine Baseball-
klamotten mehr dabei hat. Ich habe also am file erstmal nichts geaendert.
 Ich hoffe, ich werde die mail bald lesen koennen.
            Tryfan
P.S.: Der Nachsendeantrag hat weiterhin Sinn, da ich auch in naechster Zeit
      wohl eher an den entsprechenden Rechner als direkt ins Mud kommen
      werde. Das ich heute hier bin ist absolute Ausnahme.

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



Re: Ausbildung 1. Teil (Cyradis, 18. Sep 1997, 18:24:27):
~#! rn=Zardoz rt=872763781 rg=gilden.kaempfer
~#! tid=872763781
Danke Zardoz,

so ists viel besser. Aber kann es sein, dass da noch ein Bug drinsteckt?
Ich bekomme immer nur Monster Nr. 1 angezeigt, egal wieviele wir schon gekillt
haben. Der Kragen zaehlt aber richtig.

Cyradis

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



2-waffen-kampf (Orktoeter, 19. Sep 1997, 10:55:16):
Im Auftrag von Tower, der sich immer noch keine mpa besorgt hat (fauler Kerl)
hier folgender Vorschlag :

Wie waere es mit der moeglichkeit, den Kampf mit 2 Waffen gleichzeitig zu
ueben ?
Da man dabei auf 2 Einhandwaffen beschraenkt ist und nicht gleichzeitig einen
Schild tragen kann, duerften dem auch genuegend Nachteile gegenueberstehen.

Wie siehts aus ? Moechte das noch jemand ausser mir ? Wirds geproggt ?

OrkT i.A. Tower.

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



Re: 2-waffen-kampf (Gnome, 19. Sep 1997, 11:25:51):
~#! rn=Orktoeter rt=874659316 rg=gilden.kaempfer
~#! tid=874659316
ja, das hatte ich schon lange im hinterkopf :)
meine idee waere, dass man das als letzte faehigkeit in stufe 23 lernt,
aber damit das umgesetzt wird, sollten wir eine nette mail an zardoz
schreiben. dass in der mpa zu diskutieren bringt wohl net viel :)

gnOme

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



Yrdsteine (Singularion, 19. Sep 1997, 13:04:50):
Hallo Kaempfers!

Irgendwie kommt es mir so vor, als ob staendig die Yrdsteine ausverkauft sind.
Ich weiss ja nicht, wieviel der hat und wielange es dauert, bis er wieder
einen (welche) hat, aber es scheint zu wenig zu sein.
Man kann die doch nachladen, soweit ich weiss, wieso begrenzt man (der Magier
im allgemeinen und speziellen) dann nicht die Anzahl der Steine pro Charakter?
Es ist sicherlich nicht Sinn der Sache, dass man den Laden leerkauft und die
uebrigen Spieler leer ausgehen.
Ich weiss, das nachladen ist laestig, aber noch laestiger finde ich, wenn man
erst ueberhaupt keinen stein bekommen kann.
So, genug rumgemosert. Achso, nochwas: prima Gilde! Ich freu mich jedesmal,
wenn ich wieder eine Ausbildung in einer neuen Technik bekomme. Nicht einfach
mit lerne age-uke, sondern mit ner richtig schoenen sequenz! Schoen
programmiert!

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



Kloiren wird schlauer (Bendeigid, 29. Sep 1997, 21:58:41):
siehe Titel. Genaueres ist auf dem Zettel 2 beim Chef nachzulesen....

Z'par Servu,
          Bendeigid

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



Neue Techniken (Orktoeter,  2. Okt 1997, 13:11:35):
Hallo ihr Kaempfers, da Tower kein mpa hat, schreibe ich hier fuer ihn..

Ich haette das zwei Techniken, die man vileicht noch einbauen sollte, das
waere ein mal ein 2waffenkampf
, also nicht Waffe und Schild sondern statt dessen 2 Waffen (und damit auch 2
Angriffe, auf kosten der Verteidigung) und als zweites die moeglichkeit,
2handwaffen einhaendig zu zuecken.

Wie sieht es aus ?  Meldet euch, sagt ja.

Tower.

So, das wars, *schimpf* soll er sich doch selber eine mpa besorgen *fluch*

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



Re: Neue Techniken (Wargon,  2. Okt 1997, 13:21:15):
~#! rn=Orktoeter rt=875790695 rg=gilden.kaempfer
~#! tid=875790695
So auf den ersten Blick wuerde zumindest der Zweiwaffenkampf einen erheblichen
Eingriff in die MudLib darstellen (und damit meine ich jetzt nicht unbedingt
nur die Standardfiles), da sich sehr viele Stellen darauf verlassen, dass a)
die Waffen mit EINER Property zu ermitteln ist und b) in dieser Property nur
ein Objekt oder eine 0 steht.
Wenn es jetzt zwei Properties gaebe, oder eine mit einem Array von Objekten,
wuerde es wohl zu Bugs und Inkonsistenzen kommen.
Aber wie gesagt, das ist nur der erste Blick...
  Wargon

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



Re: Re: Neue Techniken (Key,  2. Okt 1997, 18:46:27):
~#! rn=Wargon rt=875791275 rg=gilden.kaempfer
~#! tid=875790695
Yep Wargon da haste recht :)
Der Vorschlag kam schonmal von mir damals ... Ist nicht soleicht umzusetzen
...

Und aus 2hand 1hand machen ...... vergiss es!

Key

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



Re^3: Neue Techniken (Ringor,  3. Okt 1997, 02:01:31):
~#! rn=Key rt=875810787 rg=gilden.kaempfer
~#! tid=875790695
Um Zweihandwaffen einhaendig zu zuecken, braucht man keinen Skill, sondern
muss sich nur mal richtig umschauen. Ausserdem will ein richtiger Kaempfer
oftmals das genaue Gegenteil: einen Einhaender zweihaendig zuecken.

Ringor. Wuenscht sich eine entsprechende Option ab genuegend hohem Waffenskill
oder einen Schmied, der Waffen 'verlaengern' kann.

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



Parade/Schildparade (Zardoz,  7. Okt 1997, 11:50:00):
Man kann nun sich nun auch schon vor einem Kampf auf eine Parade/Schildparade
vorbereiten, bzw. einstellen. Allerdings koennen dies nur erfahrene Trves, die
in diesen Skills sehr geuebt sind. Ein Ueben ohne im Kampf zu sein ist
natuerlich voellig zwecklos, man lernt dann nix.

Ciao Zardoz

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



Waffenschaerfen (Zardoz, 17. Okt 1997, 14:21:31):
Ich habe das Waffenschaerfen ueberarbeitet. Wenn man gut ist, sollte das
Schaerfen jetzt schneller gehen. Andererseits kann ein ungeuebter Trves seine
Waffe nicht mehr auf den Maximalwert schaerfen, es gehoert halt einige
Erfahrung dazu, dies zu erreichen.

Ciao Zardoz

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



Waffenschaerfen (Zephyr,  5. Nov 1997, 18:10:58):
  Hiho Ihrs!

Ich hab vorhin mal mit Zardoz gesprochen wegen des Waffenschaerfens. 
Nach der letzten Aenderung war das Ueben fast unmoeglich, da man nach
ein oder 2 mal Schaerfen wegen mangelnder Faehigkeit nicht mehr
weiterschaerfen konnte. Das ist nun anders!! Waffen lassen sich 
jetzt ueber-schaerfen, aber Vorsicht: Bekommen tut es ihnen nicht
sonderlich. Viel Spass beim Ueben,
Zephyr

PS: Im Moment ist leider schon das erste ueberschaerfen ungesund,
    aber ich hoffe, das aendert sich noch. Zardoz ist leider erst
    Dienstag wieder da, also bis dahin: bitte Vorsicht ;)


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



Re: Waffenschaerfen (Boni,  6. Nov 1997, 07:55:48):
~#! rn=Zephyr rt=878749858 rg=gilden.kaempfer
~#! tid=878749858
Nur, damit es keine Missverstaendnisse gibt:

Es ist jetzt also nicht mehr moeglich, Beschaedigungen durch das
Waffenschaerfen auszubessern?

Boni.

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



Re: Re: Waffenschaerfen (Gnome,  6. Nov 1997, 09:25:23):
~#! rn=Boni rt=878799348 rg=gilden.kaempfer
~#! tid=878749858
doch, aber wenn du die waffe so dolle schaerfst, kann man sie auch wieder
beschaedigen. dann ist sie zwar perfekt geschaerft, ist aber beschaedigt.
so hab ich das verstanden.
aber irgendwie ist das auch noch nicht das gelbe vom ei, denn logisch ist
es ja mal nicht, dass ich durch weiteres schaerfen die klinge beschaedige.
vielmehr muesste man in abhaengigkeit vom skill die haeufigkeit des
nicht gelungenen schaerfens stark heruntersetzen, so dass man einerseits
in hohen % langsamer lernt (langsamer als jetzt schon) aber andererseits
mit sehr hohem skill nur noch ein Paar mal eine waffe fuer perfekten
schliff schaerfen braucht... denn das war ja mein eigentliches anliegen.
naja, mal gucken, wie Z das loest, wenn er wiederkommt :)

gnOme

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



Re^3: Waffenschaerfen (Hobo,  6. Nov 1997, 09:27:15):
~#! rn=Gnome rt=878804723 rg=gilden.kaempfer
~#! tid=878749858
Natuerlich kann man durch zu haeufiges schaerfen eine Klinge beschaedigen. Sie
wird dann unregelmaessig dick oder gar schartig...

Hobo - Sensenfrau

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



Re^4: Waffenschaerfen (Gnome,  6. Nov 1997, 09:31:03):
~#! rn=Hobo rt=878804835 rg=gilden.kaempfer
~#! tid=878749858
aber nicht, wenn man diesen skill _absolut perfekt_ kann...
dann weiss man naemlich, wann man aufhoeren muss... ;-)

gnOme

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



Re^5: Waffenschaerfen (Felagund,  6. Nov 1997, 09:35:03):
~#! rn=Gnome rt=878805063 rg=gilden.kaempfer
~#! tid=878749858
Genau.

Wenn man aber trotzdem weitermacht, weil man seine Technik verbessern will,
dann muss man die Waffe trotzdem danach wegschmeissen. Wissen muss man nutzen,
sonst nutzt es nix ;)

Fela

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



Re^3: Waffenschaerfen (Morgoth,  6. Nov 1997, 09:37:17):
~#! rn=Gnome rt=878804723 rg=gilden.kaempfer
~#! tid=878749858
Hm, 
denkbar waere es auch, da es ja Materialien gibt, dass sich die Waffen auch
abnutzen. Es wird ja immer etwas von dem Metall abgerieben. Also sollte man
(Zardoz) das gewicht runtersetzen und es irgendwann, wenn es einen kritischen
Wert erreicht hat, einfach aufloesen. 
M* ];-)

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



Re^4: Waffenschaerfen (Gnome,  6. Nov 1997, 09:51:37):
~#! rn=Morgoth rt=878805437 rg=gilden.kaempfer
~#! tid=878749858
hmm, ich glaube Z wird uns was husten, sich mit solchen kleinigkeiten
abzugeben... ;-)))
aber da sich die waffen beim kaempfen eh abnutzen und man sie wieder
schaerfen muss, ist das schon ganz ok so... :)

gnOme grummelt M* an, von wegen waffenaufloesen und so... :)

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



Re^5: Waffenschaerfen (Boni,  6. Nov 1997, 09:58:08):
~#! rn=Gnome rt=878806297 rg=gilden.kaempfer
~#! tid=878749858
Ich halte es fuer sinnvoll, vor der ersten Beschaedigung durch das Schaerfen
ne Warnung auszugeben, damit man zeitig genug aufhoeren kann.
z.b: Ein weiteres Schaerfen wuerde die Waffe beschaedigen, also hoer lieber
auf.

So oder so aehnlich.

Boni.

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



Re^5: Waffenschaerfen (Zephyr,  6. Nov 1997, 09:59:44):
~#! rn=Gnome rt=878806297 rg=gilden.kaempfer
~#! tid=878749858
 Eigentlich hatte ich ha nur versucht, fuer diejenigen, die das Schaerfen
noch _ueben_ muessen/wollen/wieauchimmer, eine Moeglichkeit dazu zu 
schaffen, ohne dass nach 2 mal schaerfen ne neue Waffe dafuer gesucht
werden muss. Daher der Vorschlag des weiter-schaerfen-koennens. Dass es
Nachteile bringt, wenn man eine Waffe mehr schaerft, als sie es noetig
hat, sollte eigentlich auch klar sein.. irgendwann ist halt nix mehr
von der Klinge da, was man schaerfen koennte :) Ungluecklich ist es im 
Moment deswegen, weil man nicht rechtzeitig sieht, wann man aufhoeren
sollte, aber das wird ja hoffentlich noch geaendert.
Zu Boni: Du solltest auch weiterhin leichte Beschaedigungen ausbessern
        koennen, sofern die Waffe nicht schon so weit geschaerft ist,
        dass Du mit Deinen Faehigkeiten sie nicht mehr verbessern 
        koenntest.
zu Gnome: Kaempfer mit hohem skill brauchen nach wie vor nur wenig zu 
        schaerfen, bis die Klinge perfekt ist. Das Problem des rechtzeitig
        Stoppens wird hoffentlich noch geloest. Deinem Vorschlag, Kaempfer
        mit hohem skill noch langsamer lernen zu lassen, entnehme ich, dass
        DU nicht mehr ueben musst? Ich versuche seit ungefaehr 2 Wochen,
        meinen skill von "bald schon hervorragend" um eine Stufe zu
erhoehen..
        fuer meinen Geschmack ist das deutlich langsam genug.
zu Morgoth: Im Moment aeussert sich der Gewichtsverlust als Beschaedigung.
        Ist die Waffe zu sehr beschaedigt, loest sie sich auf. Aber so
        spontan hoert sich da mit dem Gewichtsverlust eigentlich plausibel
        an, vielleicht waer das ne Alternative zur Beschaedigung?
        Allerdings sollte das, wie auch nach wie vor die Beschaedigungen,
        durch die diversen Schmiede reparierbar sein.
nochmal Gnome: der Vorschlag mit dem Gewichtsverlust wuerde die momentane
        Doppelbedeutung der Beschaedigung beseitigen, womit sich dann auch
        Bonis Frage eruebrigt haette. 

Noch ein Wort zum Schluss von Oma Zephyr: Gebt Zardoz nen Hustenbonbon,
dann klappt das schon ;)


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



11 (Ringor,  6. Nov 1997, 11:16:38):
~#! rn=Orktoeter rt=878757938 rg=gilden.zauberer
~#! tid=878728886
Gewichtsverlust durch Waffenschaerfen? Suuuper, her mit der Berserkeraxt - wie
lange muss ich schaerfen, damit aus den 6kg drei geworden sind? :-)

Nee, da ist die Beschaedigung doch schon sinnvoller. Wobei das mit dem
Aufloesen bzw. vielleicht lieber zerbrechen der Waffe bei zu hoher
Beschaedigung wirklich nicht verkehrt waere, damit man ueberhaupt mehr als
eine Waffe zum Ueben braucht.

Beim Reparieren von leichten Beschaedigungen gibt es uebrigens noch das
Problem, dass man das ja nur mit einer gewissen Wahrscheinlichkeit schafft.
Und mit etwas Pech (vor allem bei hohem Skill, wo man sowieso nur noch wenige
Male bis zum Maximum schaerfen kann) hat man dann eine Waffe, die maximal
geschaerft, aber noch leicht beschaedigt ist. Und das kann man dann selbst
nicht mehr beheben - es sei denn, man kaempft erst wieder ne Weile damit,
damit die Klinge wieder stumpf wird.

Daher wuerde ich mir wuenschen, dass man eine Waffe so lange nicht auf Maximum
schaerfen kann, so lange sie noch beschaedigt ist. Sprich: gegen Ende des
Schaerfens passiert beim Schaerfen ein paar mal (ausser dem MP-Verlust
natuerlich ;) nix, da man es nicht schafft, die Waffe zu reparieren, aber sie
auch nicht mehr schaerfen kann.  

Ausserdem finde ich es noch immer unlogisch, dass man sich beim Schaerfen von
Giftwaffen selbst vergiftet, wenn das Schaerfen geklappt hat. Schliesslich
muesste man sich erstmal an der Waffe schneiden, damit das Gift ueberhaupt in
den Koerper kommt - und das waere ein Patzer, zumindest aber ein Fehlschlag.
Und nicht ein gelungenes Schaerfen. Dafuer duerfte man sich an einer
Feuerwaffe bei einem Patzer auch durchaus die Finger verbrennen etc ;-)

Ringor

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



Re: 11 (Wargon,  6. Nov 1997, 11:21:32):
~#! rn=Ringor rt=878811398 rg=gilden.kaempfer
~#! tid=878728886
Na zumindest das mit dem Gift ist doch logisch: Die Pruefung, ob das Schaerfen
erfolgreich beendet ist, erfolgt dadurch, dass man mit einem Finger an der
Klinge entlangfaehrt.
Die Waffe ist scharf -> man schneidet sich -> -k Kleriker zu mir
Oder nicht?
  Wargon

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



Re: Re: 11 (Orktoeter,  6. Nov 1997, 11:35:49):
~#! rn=Wargon rt=878811692 rg=gilden.kaempfer
~#! tid=878728886
Also Wargon du solltest mal bei dem Arzt der Kaempfer eine Nachhilfestunde
nehmen, so eine leichte Vergiftung ist doch nicht der Rede Wert....

OrkT.

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



Re: 11 (Zardoz,  6. Nov 1997, 11:43:42):
~#! rn=Ringor rt=878811398 rg=gilden.kaempfer
~#! tid=878728886
Was fuer ne Nette Diskussion hier. Die Aenderung beim Waffenschaerfen war eh
nur vorlaeufig, da ich nur 2 Minuten Zeit hatte es zu programmieren. Ich habs
jetzt ueberarbeitet.
1) Man bekommt ne Warnung bevor man anfaengt seine Waffe zu beschaedigen
2) Die Waffe geht erst spaeter kaputt
3) Das Vergiften finde ich witzig, obs logisch ist oder nicht :)

Ciao Zardoz

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



Re^4: Waffenschaerfen (Teddy,  6. Nov 1997, 20:59:11):
~#! rn=Morgoth rt=878805437 rg=gilden.kaempfer
~#! tid=878749858
Au ja, Gewicht runtersetzen ist klasse, am besten machen wir die Waffen dann
wegen leichten Gewichts irgendwann einhaendig, wie der Blutstropfen ;)

Teddy

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



Gewichtsverlust (Damien,  7. Nov 1997, 13:20:35):
Ich weiss ja nicht, wie Ihr Euch das Waffenschaerfen vorstellt, aber 
normalerweise schaerft man die Schneide und nicht das Blatt einer Waffe.
Will heissen, selbst wenn mein ein paar maechtige Scharten in eine Axt oder
in ein Schwert schaerft, ist der Gewichtsverlust immer noch minimal, bis
halt irgendwann ueberhaupt keine Schneide mehr da ist. Selbst in diesem
unbrauchbaren Zustand duerfte eine Waffe immer noch ueber 90% ihres ur-
spruenglichen Gewichtes haben, also denke ich, man kann den getrosst ver-
gessen.

Damien

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



Re: Gewichtsverlust (Key,  7. Nov 1997, 17:40:13):
~#! rn=Damien rt=878905235 rg=gilden.kaempfer
~#! tid=878905235
Und auch ein stumpfes Schwert macht betraechtlichen Schaden.

Key einzeilend.

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



Re: Re: Gewichtsverlust (Freund,  7. Nov 1997, 17:41:24):
~#! rn=Key rt=878920813 rg=gilden.kaempfer
~#! tid=878905235

Das stimmt, und auch ein stumpfer Verstand. Naemlich Hirnschaden.

Freund einzeilend schmarrend.

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



Re^3: Gewichtsverlust (Wurzel,  7. Nov 1997, 18:59:39):
~#! rn=Freund rt=878920884 rg=gilden.kaempfer
~#! tid=878905235
ein stumpfes schwert koennte man auch "keule" nennen... 

wurzel schliesst sich an bei einzeilern

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



nur mal so ne Idee (Denti,  8. Nov 1997, 13:20:47):

Mir ist gerade eingefallen, koennte man nicht einbauen, dass man gegen 
ne Gebuehr oder sonstige Leistungen bei den Ausbildern trainieren kann?

Ich meine dass so, dass man einmal pro Tag oder so (nicht zu oft) einen
Uebungskampf gegen den Ausbilder einer Fertigkeit machen kann. Vielleicht
koennte dabei auch die Fehlerrate hoch gesetze werden, so wie es 
angeblich bei den Zauberern im Uebungsraum der Fall ist.

Denti aeussert auch mal eine unausgegorene Idee

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



Re: Gewichtsverlust (Felagund, 10. Nov 1997, 14:38:45):
~#! rn=Damien rt=878905235 rg=gilden.kaempfer
~#! tid=878905235
Das ganze ist ziemlich stark von der Waffe abhaengig, Damien. Ich jobbe so ein
bissken bei ner Metzgerei und da werden die Messer ziemlich haeufig
geschaerft, was dazu fuehrt, dass die Klingen irgendwann nurnoch halb so lang
und 1/3 so breit sind ;). Bei einem Schwert duerfte das aehnlich sein, je nach
erforderlicher Schaerfe.

Fela

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



Re: Re: Gewichtsverlust (Sharia, 10. Nov 1997, 14:39:33):
~#! rn=Felagund rt=879169125 rg=gilden.kaempfer
~#! tid=878905235
das nennt man dann Messer dieses Schwert und is besonders fuer Hobbits
geeignet :-)))
Sharia

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



Re: Re: Gewichtsverlust (Damien, 10. Nov 1997, 15:34:16):
~#! rn=Felagund rt=879169125 rg=gilden.kaempfer
~#! tid=878905235
Schon wahr, Felagund.
Dank Reboot, Tod und anderen Unterbrechungen kannst Du allerdings davon
ausgehen, das hier ein Schwert nicht soo lange geschaerft wird...

Damien

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



Re: Re: Gewichtsverlust (Li, 11. Nov 1997, 09:33:20):
~#! rn=Felagund rt=879169125 rg=gilden.kaempfer
~#! tid=878905235
also so viel ich weiss, waren Schwerter nie besonders scharf, abgesehen von
der beruehmten Katana. Nicht nur Zweihaender, auch Einhaender waren nicht
besonders scharf(im Vergleich zu heutigen Fleischermessern). ein Schwert ging
damals eher aus anderen Gruenden kaputt, als dass man es nicht mehr gebrauchen
konnte, weil zu viel abgeschleift wurde...
Li (senft suess sauer)

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



Torwache (Morgar, 11. Nov 1997, 12:20:55):
Hm, wenn einem die Torwache schon den Weg einfach so versperren kann, sollte
man sie wenigstens ungestraft angreifen koennen.

Morgar (auf der Suche nach Kill-Stupsen)

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



Re^3: Gewichtsverlust (Lug, 27. Nov 1997, 02:04:04):
~#! rn=Li rt=879237200 rg=gilden.kaempfer
~#! tid=878905235
Aehem Li,

Du liegst voellig falsch. Z.B. wikingerzeitliche Schwerter (rheinmetall lies
gruessen) haben die Qualitaet von modernem Messerstahl erreicht und die
Klingen waren sauscharf. Ich empfehle mal ein modernes Replika mit alten
Schmiedetechniken zur Hand zu nehmen. Leicht, super ausbalanciert und sehr
scharf. Wer Klingen mit dem Finger prueft, ist selber Schuld. Katanas sind
komplett ueberbewertet.

Schlitzi, Schlitzi, Dein kleiner Freund...

Lug

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



Re^4: Gewichtsverlust (Wurzel, 27. Nov 1997, 20:24:57):
~#! rn=Lug rt=880592644 rg=gilden.kaempfer
~#! tid=878905235
wenn ich recht informiert bin, waren die japaner diejenigen, die die
damaszener-schmiedekunst auf die spitze getrieben haben. die besten katana
sollen so um die 600 mal gefaltet worden sein. das hat erstmal nichts mit 
schaerfe zu tun, sondern mit flexibilitaet trotz haerte. und da waren die
europaeischen schwerter dann eben doch nicht so toll.
im uebrigen koennen damaszener natuerlich auch sauscharf sein. ich hab da ein
japanisches gemuesemesser, 30mal gefaltet, da sollte man besser keine zwiebel
oder anderes kleingemuese mit schneiden, weil sonst die finger zu nah sind...

wurzel

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



Re^5: Gewichtsverlust (Lug, 28. Nov 1997, 02:31:21):
~#! rn=Wurzel rt=880658697 rg=gilden.kaempfer
~#! tid=878905235
Tjae,

Damszt ist aber nunmal schlechter als der spaetere Messerstahl. was meinst Du
warum das ca. ab der Wikingerzeit nur noch als Verzierung (Furnierdamaszt)
genommen wurde.

So siehddas aus.
Lug

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



Re^4: Gewichtsverlust (Li, 28. Nov 1997, 08:27:37):
~#! rn=Lug rt=880592644 rg=gilden.kaempfer
~#! tid=878905235
*erroet*
Ha, erwischt, ich geb's zu... Hab halt nur das abgesondert, was ich so gehoert
habe. Und wenn dann jemand kommt, der sich wirklich auskennt.. :-)
*wink Lug zu*
Li

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



Re^5: Gewichtsverlust (Grimmborn, 28. Nov 1997, 09:57:33):
~#! rn=Li rt=880702057 rg=gilden.kaempfer
~#! tid=878905235
Zur Qualitaet von Schwertern faellt mir die Szene aus einem Indiana Jones Film
ein, in der so ein in Laken gehuellter Typ schwerterschwingend auf Indy
loslaeuft, der schuettelt nur mitleidig den Kopf und zieht den Colt...

Grimmborn der Atheist sagt: Schwerter zu atomarer Artillerie!

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



Re^6: Gewichtsverlust (Catweazle, 28. Nov 1997, 10:49:01):
~#! rn=Grimmborn rt=880707453 rg=gilden.kaempfer
~#! tid=878905235
Dann solltest Du Dir noch mal Indiana Jones II ansehen, da taucht ein
fast identische Szene mit etwas anderem Ausgang auf. FInd ich fast noch
besser :)

YTC

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



Re^7: Gewichtsverlust (Jimdigriz, 28. Nov 1997, 11:32:24):
~#! rn=Catweazle rt=880710541 rg=gilden.kaempfer
~#! tid=878905235
Him

noch lustiger ist es wie es dazu kam.
Urpruenglich war naemlich schon eine Schwertkampfszene
geplant gewesen. Dummerweise hatte sich Harrison Ford 
kurz vor dem Drehtermin etwas verletzt und konnte nicht
mit Schwertern rumfuchteln. Weils aber Zeitdruck gab,
wurde die Szene dann so gedreht und es ist eine
der coolsten im ganzen Film.

JdG,

P.S. kann sein, dass es auch etwas anders war, hab ich noch
ausm Gedaechtnis

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



Re^8: Gewichtsverlust (Gloinson, 28. Nov 1997, 14:10:09):
~#! rn=Jimdigriz rt=880713144 rg=gilden.kaempfer
~#! tid=878905235
Viele Leute, viele Stories. Ich habe eher davon gelesen, dass Mr. Ford
einen verdammten Durchfall hatte und deshalb nach endloser Proberei
(solche Fuchtelszenen haben anscheinend die Eigenschaft, immer wieder
nicht gut genug auszusehen) irgendwann eben mal nicht mitfuchtelte
sondern den Kerl 'niederschoss'. Das fand Spielberg dann halt ganz gut
und hat es eingebaut. Sehr zur Freude von Ford ;-)

PS: Und wer kommt jetzt zur 5. (?) Indiana-Jones-Nacht bei uns im
    Nickelodeon/Dresden ? :)))

Gloin

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



Re^9: Gewichtsverlust (Sharia, 28. Nov 1997, 17:07:22):
~#! rn=Gloinson rt=880722609 rg=gilden.kaempfer
~#! tid=878905235
wahhhh  hoert auf mit diesen Bertavater Opel geschichten das is ja GRAUSAM :-)
Sharia, dagegen

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



Re^6: Gewichtsverlust (Asmodis, 28. Nov 1997, 19:01:46):
~#! rn=Grimmborn rt=880707453 rg=gilden.kaempfer
~#! tid=878905235
Hmm, das erinnert mich an die Szene, als er seinen Colt ziehen will,
aber das Halfter leer ist ... :)

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



Re^6: Gewichtsverlust (Lug, 29. Nov 1997, 01:36:45):
~#! rn=Grimmborn rt=880707453 rg=gilden.kaempfer
~#! tid=878905235

Buuuuuuuh,

Schusswaffen. Wie unehrenhaft. Amis. ;)

Lug

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



Re^7: Gewichtsverlust (Rochus,  1. Dez 1997, 13:52:25):
~#! rn=Catweazle rt=880710541 rg=gilden.kaempfer
~#! tid=878905235
Du meinst die Szene, die viele nicht verstehen, weil
Sat1 die im 1. Teil herausgeschnitten hat? :-)

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



Idee (Orktoeter, 12. Dez 1997, 13:24:50):
Hi, wie immer muss ich mal wieder fuer Tower ran (immer diese Analphabeten..)

Tower haette gerne ein Info, das einem auf einen Blick gleich alles wichtige
Anzeigt (die Zauderer sollen so etwas ja auch haben). Darunter auch den
Zustand der Waffen, die man so bei hat. Nett waere es auch, wenn es das evtl
als Amulett oder sso etwas gaebe, so das man es es regelmaessig angezeigt
bekommt.
Da das natuerlich irgendwas magisches sein muss (und trves ja ausser yrd
nichts von Magie wissen) waere es doch eine Sache, wenn man sich so ein
amulett von einem zauberer oder kleriker (zauberer koennen eh schon (zu) viel)
anfertigen lassen lassen muesste.

OrkT i.A. Tower (Analphabet)

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



Re: Idee (Homm, 12. Dez 1997, 13:27:24):
~#! rn=Orktoeter rt=881929490 rg=gilden.kaempfer
~#! tid=881929490
Aha, also muessen wieder die Kleriker hinhalten, damit es den Kaempfern besser
geht.
Ausserdem wuesste ich nicht wie wir Kleriker das hinkriegen sollten, da unsere
Identifizierungssprueche nicht gerade aufschlussreich sind.

Wuerdevoll verneigend
Papst Homm

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



Re: Re: Idee (Orktoeter, 12. Dez 1997, 13:31:41):
~#! rn=Homm rt=881929644 rg=gilden.kaempfer
~#! tid=881929490
Hmm also, wenn ich Tower richtig verstanden habe, dachte er sich das wohl so,
das Fuer dieses Amulett Teile besorgt werden muessen, wobei evtl auch der
Kaempfer helfen kann. Diese teile muessen dann eben zu einem solchen Amulett
zusammenfeuegt werden und dann muss diesem Amulett auch noch magische oder
goettliche Energie zugeuehrt werden (je nachdem, ob es zauberer oder kleiker
machen)

OrkT.

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



Re^3: Idee (Randal, 12. Dez 1997, 17:55:23):
~#! rn=Orktoeter rt=881929901 rg=gilden.kaempfer
~#! tid=881929490
Aehm ... von was fuer einem Info sprichst du eigentlich?

Ran

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



Wache (Denti, 15. Dez 1997, 12:33:25):

Da das Struv in letzter Zeit in schoener Regelmaessigkeit angegriffen
wird, wuerde ich gerne Torwache halten. Leider stellt Thoran einen nich
mehr ein, wenn er nicht an seinem Platz ist, koennt das geaendert 
werden? 

Denti moechte zu gerne das Struv beschuetzen

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



Re: Wache (Hangover, 15. Dez 1997, 13:29:19):
~#! rn=Denti rt=882185605 rg=gilden.kaempfer
~#! tid=882185605
Hiho Denti!

Ueberleg Dir das gut...ich wollte da auch mal hin...

Hangover,
der grade ueberlegt ob das legale PKs waeren...

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



16 (Orktoeter, 15. Dez 1997, 13:40:34):
~#! rn=Randal rt=881945723 rg=gilden.kaempfer
~#! tid=881929490
Also mir (besser Tower) schwebt vor, das man mittels dieses Amuletts angezeigt
bekommt, welche waffen man bei hat, welche davon gezueckt ist, ob sie
beschaedigt sind und wie gut sie geschaerft sind. das ganze evtl auch noch
nach Waffenarten sortiert. Nach jedem schaerfen wird ausserdem fuer die gerade
geschaerfte waffe angezeigt, wie gut sie geschaerft ist (das erspart einem ein
weiteses schaerfen, das dann anzeigt, das sie doch bereits opti,al geschaerft
ist).
Evtl waere es auch nett, zusaetzlich weitere informationen wie sie im normalen
info enthalten sind einzubauen.

OrkT mal wieder i.A. Tower.

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



Re: Re: Wache (Gloinson, 16. Dez 1997, 00:13:23):
~#! rn=Hangover rt=882188959 rg=gilden.kaempfer
~#! tid=882185605
Au ja. Der Wacheplatz als Arenaverschnitt. DAS waer doch was ;-)

Gloin

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



Re^3: Wache (Ringor, 16. Dez 1997, 00:15:34):
~#! rn=Gloinson rt=882227603 rg=gilden.kaempfer
~#! tid=882185605
In der Arena ueberlege ich mir aber vorher ganz genau, mit wem ich da
reingehe.

Aber beim Wacheschieben auf einmal drei grossen boesen Zauberern gegenueber
stehen? Och noee - einer reicht doch schon, um drei Kaempfer fertig zu machen.

Ringor. Muss immer an gewisse Duelle gegen Zauberer denken.

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



Re^4: Wache (Wurzel, 16. Dez 1997, 18:41:45):
~#! rn=Ringor rt=882227734 rg=gilden.kaempfer
~#! tid=882185605
wer sagt denn, dass da nur einer wache halten soll? in zeiten der bedrohung
gibts eben ne wachverstaerkung... und wenn die ganze gilde wache stehen muss,
freuen sich die anderen, dass sie nicht so oft auf den reset warten muessen.
ist also fuer alle was dabei :)

wurzel

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



Re^5: Wache (Ringor, 16. Dez 1997, 22:52:32):
~#! rn=Wurzel rt=882294105 rg=gilden.kaempfer
~#! tid=882185605
Dummerweise gibts groessenordnungsmaessig genauso viele Zauberer wie Kaempfer.

Da kommen wir _nie_ auf den benoetigten Schnitt von mehr als drei Kaempfern
pro angreifendem Zauberer ;-)

Ringor

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



Re^6: Wache (Key, 17. Dez 1997, 12:57:01):
~#! rn=Ringor rt=882309152 rg=gilden.kaempfer
~#! tid=882185605
Ringor das ist enttaeuschend ...
Wieso willst du mit 3 kaempfern auf einen Zauberer??
Als wenn Kaempfer net stark genug waeren ....
Eher 2 zauberer auf einen kaempfer ... dann wird was draus ...

Key

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



Re^7: Wache (Ringor, 17. Dez 1997, 15:52:24):
~#! rn=Key rt=882359821 rg=gilden.kaempfer
~#! tid=882185605
Okay, nach Ruecksprache mit Key muss ich dann vielleicht noch dazuschreiben,
fuer was Keys Aussage ueberhaupt galt.

Auf die Defensivkraft der Zauberer angesprochen:
Key teilt Dir mit: *grins* Kommt auf den zauberer an ;) tui macht nur
Key teilt Dir mit: offensive :) Der rest ist langweillig und was fuer
Key teilt Dir mit: drueckeberger ;)) [15:49]

Fuer den Fall schliesse ich mich an - dann brauchts nur einen Kaempfer pro
Zauberer ;-)

Ringor

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



Re^8: Wache (Key, 17. Dez 1997, 15:53:17):
~#! rn=Ringor rt=882370344 rg=gilden.kaempfer
~#! tid=882185605
Aber dann laesst du auch das ausweichen, oki? :))

Key

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



Re^9: Wache (Smarte, 18. Dez 1997, 16:42:16):
~#! rn=Key rt=882370397 rg=gilden.kaempfer
~#! tid=882185605
Ihr koennt ja noch Abenteurer zwangsrekrutieren.
=> Wehrpflicht fuer Abenteurer.

SMARTE :))

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



Re^10: Wache (Paracelsus, 18. Dez 1997, 16:43:53):
~#! rn=Smarte rt=882459736 rg=gilden.kaempfer
~#! tid=882185605
>=> Wehrpflicht fuer Abenteurer.
Also die Abenteurerinnen sollten auch eingezogen werden!
]:->

Para*

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



Re^11: Wache (Alpha, 19. Dez 1997, 11:47:59):
~#! rn=Paracelsus rt=882459833 rg=gilden.kaempfer
~#! tid=882185605
Durchgezogen meinst Du wohl ;)

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



re11wache (Magnus, 19. Dez 1997, 13:43:35):
noch frauen- oder besser gesagt menschenverachtender geht es wohl nicht, was?
La_t doch Eure chauvi witzchen.
Magnus

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



Re: re11wache (Grimmborn, 19. Dez 1997, 13:47:40):
~#! rn=Magnus rt=882535415 rg=gilden.kaempfer
~#! tid=882535415
Aber sicher geht das.

GdA

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



Re: Re: re11wache (Anatol, 19. Dez 1997, 14:56:28):
~#! rn=Grimmborn rt=882535660 rg=gilden.kaempfer
~#! tid=882535415
Also wenn ich jemals wieder heiraten sollte, dann bevorzugt eine Kaempferin.
Die kann sich beim Einkaufen auf dem Wochenmarkt dann wenigstens durchsetzen.

Anatol ;-)


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



Re^3: re11wache (Ringor, 19. Dez 1997, 14:57:49):
~#! rn=Anatol rt=882539788 rg=gilden.kaempfer
~#! tid=882535415
Und wenn Du sie ordentlich zum Trainieren in die Folterkammer geschickt hast,
dann kann sie auch ordentlich was tragen. :-)

Ringor

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



Re: Re: dos/winnt (Bloodyharry, 20. Dez 1997, 02:36:05):
~#! rn=Har rt=882538447 rg=hardsoftware
~#! tid=882532990
Hier sollte es spaetestens mit dem Spass aufhoeren.

ciao
bh

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



Fehler im "schaetz"-Kommando (Zaphob, 20. Dez 1997, 15:55:06):
Hi Verantwortlicher

Ich hab nen kleinen , eigentlich unbedeutenden Fehler im schaetz-Kommando
gefunden, naemlich den, dass die Groesse des Feindes manchmal negativ wird.
Okay, okay, ich kann noch nicht gut schaetzen (genauergesagt noch laengst
nicht recht gut), aber NEGATIVE GROESSE?. Dann muesste ich aber
verdammtnochmal schlecht schaetzen koennen...

Danke,   Zaphob

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



abkuerzung auch mal ZUM struv? (Zaphob, 21. Dez 1997, 15:52:40):
Hi Ihrs!

Hab mal wieder ne Idee, dh, eigentlich wars nicht meine Idee, zB die
Bierschuettler hams ja schon...
Also, ich waere dafuer, dass es eine Abkuerzung ZUM Struv hin gibt, und nicht
nur eine VOM struv aus nach PV.
Oder gips die schon und ich hab sie nur nicht gefunden ???

Ciao,			Zaphob

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



Re^11: Wache (Teddy, 22. Dez 1997, 10:35:31):
~#! rn=Paracelsus rt=882459833 rg=gilden.kaempfer
~#! tid=882185605
Abenteurerinnen sollten dann aber in den Sanitaetsdienst kommen

Teddy

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



Re: abkuerzung auch mal ZUM struv? (Asmodis, 22. Dez 1997, 21:00:55):
~#! rn=Zaphob rt=882715960 rg=gilden.kaempfer
~#! tid=882715960
Klar, Sehertor 27 :)

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



Entschuldigung und guter Vorsatz (Orktoeter, 12. Jan 1998, 11:54:37):
Hi, mal wieder muss ich fuer Tower ran.. (immer diese Analphabeten)

Also, ich wollte mich noch dafuer entschuldigen, das ich die StruvNPC
gemeuchelt habe. Als guten Vorsatz fuer dieses jahr habe ich mir vorgenommen,
sie auch nicht mehr zu meucheln.
Da sie aber zum Teil ja doch Firstkillstupse geben, waere es nett, wenn man
sie zum Duell fordern koennte. Dann haette man die Moeglichkeit, die
Firstkillstupse zu bekommen, ohne gleich fuer ein halbes Jahr fuer
Befoerderungen gesperrt zu sein.

PS Ich nehme diese Strafe (und den Verweis) natuerlich hin, habe ich doch
schweeren Frevel begangen, Tower

OrkT i.A. Tower.

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



Problem der Kaempfer! (Key, 20. Jan 1998, 17:40:49):
Sooo ... ich vernahm gerade ein sehr interessantes Geruecht.
Es gibt KEINE MAENNER bei den Kaempfer!
Ich wusste doch schon immer das ihr nur miese Flaschen seid ;)

Key, Chaot ;)

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



GESUCHT! (Key, 20. Jan 1998, 17:43:48):
Was mir noch einfaellt ...

Ich suche den kleinen Kaempfer (Namen hab ich leider vergessen), den ich noch
davon ueberzeugen will, das die eine Kaempferin suess ist :)

Bitte melde Dich!

Key, im Auftrag der Heiratsvermittlung :)

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



Re: GESUCHT! (Lug, 21. Jan 1998, 20:41:13):
~#! rn=Key rt=885314628 rg=gilden.kaempfer
~#! tid=885314628
Quark Key!

Frauen in die KlerikerinninneieInnIninengilde!

Genau. Soooooosiehddas aus.

Lug

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



Gilde zu verschenken (Zardoz, 22. Jan 1998, 15:48:08):
Da ich eh nichts mehr an der Kaempfergilde mache, wie sicherlich schon alle
gemerkt haben, wird es Zeit diese abzugeben. Wer sie also haben will, soll
sich bei mir melden. Allerdings haben Bendeigid und Toeter auch noch was zu
sagen. 


ciao zardoz

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



Re: Gilde zu verschenken (Mingo, 22. Jan 1998, 17:53:06):
~#! rn=Zardoz rt=885480488 rg=gilden.kaempfer
~#! tid=885480488
Ich nehm sie. Und dann werden alle Defend-Aufrufe durch zwei geteilt.

Gloin

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



Gildenseiten (Gnome, 23. Jan 1998, 16:15:56):
hi trves!
also ich hab mir mal grade die gildenseiten der zauberer angesehen und muss
sagen, dass sie sehr gelungen aussehen (kleines lob an birdy und andere be-
teiligte :)). wie waere es, wenn sich bei uns auch jmd bereitfindet, der
a) ahnung von html-code hat,
b) kreativ ist und geschmack hat,
c) der guenstigerweise vielleicht noch trves ist ;-)

und dann noch lust haette, unsere gilden-seiten optisch aufzubessern :)
ich haette lust mitzuarbeiten, muss aber gestehen, dass ich nicht so die
ahnung von html-code habe... also mind. eine/r sollte noch mitmachen :)

gnOme

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



Re: Gildenseiten (Anakin, 23. Jan 1998, 17:28:03):
~#! rn=Gnome rt=885568556 rg=gilden.kaempfer
~#! tid=885568556
Auja, das Struv als VRML, wer coded es?

Anakin.

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



Re: Re: Gildenseiten (Key, 26. Jan 1998, 13:15:14):
~#! rn=Anakin rt=885572883 rg=gilden.kaempfer
~#! tid=885568556
Du! ;)

Key kanns net ;)

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



Struvsicherheit (Bendeigid,  8. Feb 1998, 17:37:05):
An alle Trves!

Da die Ueberfaelle in der letzten Zeit stark zugenommen haben, hat sich die
Struvleitung zu drastischen, wenn auch in manchen Augen unpopulaeren
Massnahmen entschlossen. Folgende Aenderungen treten sofort in Kraft:
Durch einen (sauteuren!!) magischen Schild ist es gelungen, das Gestein um das
Struv teleportsicher zu machen. Ein Hinein- oder Hinausteleportieren ist
sowmit NICHT mehr moeglich.
Zweitens wurden die Oberdeppen degradiert und zum Putzen abkommandiert, die
bisher so pflichtbewusst die eingepennten Angreifer aus dem Struv geschmissen
haben. Das ist jetzt NICHT mehr der Fall.

Schlachtfeldmarschall Brieseltrim, Struvkommandant


P.S.: Das Bendeigid als Autor genannt wird ist zwar nicht zufaellig, aber
nicht so wichtig.

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



Re: Struvsicherheit (Mingo,  8. Feb 1998, 17:45:28):
~#! rn=Bendeigid rt=886955825 rg=gilden.kaempfer
~#! tid=886955825
Und bezahlt wurde der Schild sicherlich von den Geldern fuer den Auf-
bau des Denkmals. Das kann ja noch Jahrzehnte dauern, bis das
Ding endlich mal fertig ist :)

Gloin

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



Re: Struvsicherheit (Key,  9. Feb 1998, 10:19:58):
~#! rn=Bendeigid rt=886955825 rg=gilden.kaempfer
~#! tid=886955825
Hmpf! Bende!

Wann setzt Du endlich meinen Vorschlag von damals durch? .) Jeder der das
Struv angreift ist automatischer Feind eines jeden Trves :) und darf innerhalb
des Struvs auch von spielern gekillt werden ;)

Key

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



Re: Re: Struvsicherheit (Silvana,  9. Feb 1998, 10:21:45):
~#! rn=Key rt=887015998 rg=gilden.kaempfer
~#! tid=886955825
Au ja, endlich mal ne legale Art des PK... 

Silvana (greift demnaechst auch mal das Struv an...)

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



Re^3: Struvsicherheit (Key,  9. Feb 1998, 10:30:27):
~#! rn=Silvana rt=887016105 rg=gilden.kaempfer
~#! tid=886955825
Mach Doch! Mach doch :)

Hmm wo steckt mein daemlicher Zweitie? .) Der zeigt dir dann wie man
ordentlich stirbt ;))

Key, pfeift nach seinem Zweitie. .)

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



Re^4: Struvsicherheit (Grimmborn,  9. Feb 1998, 20:22:39):
~#! rn=Key rt=887016627 rg=gilden.kaempfer
~#! tid=886955825
Dein Zweitie kommt gegen Magier an? Interessant... 
Ich melde Interesse an, bestimme Du Ort und Zeit (eigentlich nur Zeit, fuer
den Ort hab ich ja goto).

Grimmborn der Atheist ist neugierig

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



Re^5: Struvsicherheit (Felagund, 10. Feb 1998, 00:44:05):
~#! rn=Grimmborn rt=887052159 rg=gilden.kaempfer
~#! tid=886955825
Grimmi, du hast da was falsch verstanden.

Keys 2nd wollte Silvana im wahrsten Sinne des Wortes zeigen, wie man stirbt,
denn damit kennt er sich aus ;)

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



Re^6: Struvsicherheit (Janitze, 10. Feb 1998, 23:19:04):
~#! rn=Felagund rt=887067845 rg=gilden.kaempfer
~#! tid=886955825
ich frag mich aber, warum da Key nach nen zweitie ruft, um das sterben
zu zeigen, er selbst kann das doch auch recht gut :)

Janice

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



Aufruf! (Zephyr,  2. Mar 1998, 12:15:35):
Hi ihr Mitstreiter!

Wie ihr vielleicht wisst (oder auch nicht), sind unsere Gildenseiten
in Arbeit. Im Moment sammeln wir noch Zutaten fuer eine FAQ: Da unsere 
Anfaengerzeiten inzwischen auch schon eine Weile her sind, waeren wir
fuer Eure Mithilfe beim Sammeln oft gestellter Fragen dankbar.
Zuschriften und ernstgemeinte Wuensche bitte per mail an

          Zephyr

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



schaetz ? :-) (Sharia, 10. Mar 1998, 12:57:45):
hmm seltsam seltsam das schaetz der kaempfer:

schaetz stiefel
Du betrachtest Stiefel eingehend.
Sie schuetzt die Fuesse durchschnittlich gut.
Sie sticht wirklich sehr gefaehrlich beim Kampftritt.
Sie hat ungefaehr ein Gewicht von 101 Gramm. Du wuerdest ihren Wert auf etwa
203 Muenzen schaetzen. Sie ist nicht beschaedigt.



.... wasn deutsch :-)

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



Re: schaetz ? :-) (Hobo, 10. Mar 1998, 14:01:31):
~#! rn=Sharia rt=889531065 rg=gilden.kaempfer
~#! tid=889531065
Das liegt wohl einfach daran, dass es noch keine Moeglichkeit gibt, Sachen als
Plural zu definieren. In dem Fall ist das Femininum das Mittel der Wahl, damit
wenigstens "die" davor steht. Und mit nur einem Stiefel will ja mal keiner
rumrennen ;)

  Hobo

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



Re: Re: schaetz ? :-) (Sharia, 10. Mar 1998, 14:19:20):
~#! rn=Hobo rt=889534891 rg=gilden.kaempfer
~#! tid=889531065
schaetz kampfstiefel
Du betrachtest das Paar Kampfstiefel eingehend.
Es schuetzt die Fuesse durchschnittlich gut.
Es kann pruegeln und es kann jemanden zerreissen beim Kampftritt.
Es hat ungefaehr ein Gewicht von 1129 Gramm. Du wuerdest seinen Wert auf etwa
4029 Muenzen schaetzen. Es ist nicht beschaedigt.



hmm geht doch auch so oder ? :-)

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



Re^3: schaetz ? :-) (Hobo, 10. Mar 1998, 14:29:09):
~#! rn=Sharia rt=889535960 rg=gilden.kaempfer
~#! tid=889531065
Jaaa, das geht auch :)
Aber ich wuensch mir trotzdem nen festintegrierten Plural... Silvana?

  Hobo

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



Re^4: schaetz ? :-) (Bendeigid, 10. Mar 1998, 17:45:15):
~#! rn=Hobo rt=889536549 rg=gilden.kaempfer
~#! tid=889531065
Hm, in dem Fall muss ich Sharia mal zustimmen: es geht in der Tat mit dem Paar
Stiefel, und normalerweise wird das auch soi sein. Leiderleider hat aber der
Magier, dem die Stiefel gehoeren, das nicht als Paar gekennzeichnet. Darum....
die Steifel ist... *wuerg*

Der "Fehler" tritt uebrigens haeufiger auf. Sieht besonders unschoen dann beim
Untersuchen von Spielern aus.

Z'par Servu,
             Bendeigid

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



Re: Re: schaetz ? :-) (Lug, 10. Mar 1998, 18:47:54):
~#! rn=Hobo rt=889534891 rg=gilden.kaempfer
~#! tid=889531065
Aeh Hobo?

FidKG

Lug

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



Re^4: schaetz ? :-) (Silvana, 10. Mar 1998, 21:00:49):
~#! rn=Hobo rt=889536549 rg=gilden.kaempfer
~#! tid=889531065
Du fragst ausgerechnet mich nach Linguistik? Nenene, lass das mal nen
Sprachwissenschaftler machen. Ich nix Ahnung von.

  Silvana

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



Re: Re: schaetz ? :-) (Har, 10. Mar 1998, 22:16:43):
~#! rn=Hobo rt=889534891 rg=gilden.kaempfer
~#! tid=889531065
Ob das Femininum das Mittel der Wahl ist, ich weiss nicht....

Har (chauvi)

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



Re^3: schaetz ? :-) (Grimmborn, 10. Mar 1998, 23:59:24):
~#! rn=Har rt=889561003 rg=gilden.kaempfer
~#! tid=889531065
Nein, aber sie waehlt die Mittel...

Grimmborn der Pantoffelhe^WAtheist

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



Reply auf d.unterwelt, Artikel von Death vom 23.03.98 (Hardil, 24. Mar 1998, 13:41:46):

Weil die Rubrik d.unterwelt gerade voll war, antworte ich mal hier.
Death fragte an, ob er die schwachen Orks noch ein wenig staerker machen
sollte, damit sie zur kaempferausbildung mitzaehlen koennten.

Sorry, aber ich moechte mich ganz entschieden dagegen aussprechen. Die
Orkhoehlen *waren* ein nettes Metzelgebiet fuer alle und IRCler und
Bluemchenpfluecker, bis sie zur Kaempferausbildungsstaette Numemr 1 (oder 2)
wurden. Seitdem ist man dort als 
Nicht-Kaempfer verloren. Bzw man bekommt nur noch selten etwas ab.
Ich wuerde deswegen das Gegenteil vorschlagen: mach doch auch die mittleren
Orks ein wenig schwaecher und schreib den Kaempfern eine eigene hoehle direkt
vor ihrer Haustuer.
Dann ist die Orkhoehle wieder das, was sie frueher war, und die Kaempfer haben
ihr Ausbildungslager.

-Hardil. Sentimental an die gute alte Zeit denkend.

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



Re: Reply auf d.unterwelt, Artikel von Death vom 23.03.98 (Isis, 24. Mar 1998, 13:45:28):
~#! rn=Hardil rt=890743306 rg=gilden.kaempfer
~#! tid=890743306
Hmmm...wieso nicht den oberen teil so lasen, wie er ist und dafuer die
Echsenstadt Ausbauen?

Da unten waer dann auch gleich Tanke und Laden in der naehe...


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



Re: Reply auf d.unterwelt, Artikel von Death vom 23.03.98 (Key, 24. Mar 1998, 16:04:29):
~#! rn=Hardil rt=890743306 rg=gilden.kaempfer
~#! tid=890743306
Ich bin auch gegen die Verstaerkung der Orks ...
Es ist in meinen Augen ein Metzelgebiet das sich auch fuer Anfaenger eignet
... und davon gibbet hier so schon zuwenig ...

Also lass sie ,)

Key

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



Re: Reply auf d.unterwelt, Artikel von Death vom 23.03.98 (Overlord, 24. Mar 1998, 19:55:14):
~#! rn=Hardil rt=890743306 rg=gilden.kaempfer
~#! tid=890743306

Ich moechte mich Hardil anschliessen, ich hab als lvl 11- und gl-4-Kaempfer
ziemliche probleme, ein meiner Stufe angemessenes Monster zu finden. Die sind
entweder Luschen oder ne Nummer zu hart. Ich nehme auch mal an, dass man seine
skills umso schneller verbessert, je staerker der Gegner ist. Doch bei einigen
Autoattack-Orks ist der Frust groesser als die Trainingsmotivation, wenn die
LPs kurz vor Null sind

Es waere schoen, wenn man die Orkstaerken in der Hoehle etwas mehr streuen
koennte. Je nun- Hardils Idee mit der Schlachtung vor der eigenen Haustuer ist
auch nicht ohne.

Ovi *knuddel alle*

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



Re: Reply auf d.unterwelt, Artikel von Death vom 23.03.98 (Lug, 25. Mar 1998, 02:17:44):
~#! rn=Hardil rt=890743306 rg=gilden.kaempfer
~#! tid=890743306

Ach Hardil,

Du nervst.

Kurz
Lug

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



Re: Re: Reply auf d.unterwelt, Artikel von Death vom 23.03.98 (Hardil, 25. Mar 1998, 14:13:03):
~#! rn=Lug rt=890788664 rg=gilden.kaempfer
~#! tid=890743306

Heul doch, Lug. :)

-Hardil. Einzeilig, aber grinsend.

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



Kaempfer-Seiten (Gnome, 25. Mar 1998, 22:05:26):
Hi Trves!

Nun ist es endlich soweit. Die Gilden-Seiten der Kaempfer sind fertig!
Anzuschauen ueber den Link der MG-Seiten.
Meinen besonderen Dank moechte ich Guard aussprechen, der wochenlang
in muehevoller Arbeit die Seiten designed und geproggt hat. Danke!
Auch moechte ich mich bei Zephyr und Ringor bedanken, die den Seiten
den letzten Schliff gegeben haben. Auch Euch meinen herzlichen Dank!

Guckt sie euch an, es lohnt sich! :)

gnOme

p.s. bei netscape < version 4.0 kann es probleme bei der darstellung geben,
     so dass man den text schlecht lesen kann.
     benutzt bitte versionen ab 4.0 aufwaerts :)

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



Re^3: Reply auf d.unterwelt, Artikel von Death vom 23.03.98 (Lug, 26. Mar 1998, 02:04:52):
~#! rn=Hardil rt=890831583 rg=gilden.kaempfer
~#! tid=890743306

Buuuuuhhhhhuuuuuuuaaaaeeeeehhhhhhhhhhhhhhhhhhhhhhhh ;)

Langzeilig kichernd
Lug

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



Re: Kaempfer-Seiten (Anakin, 26. Mar 1998, 08:55:41):
~#! rn=Gnome rt=890859926 rg=gilden.kaempfer
~#! tid=890859926
Hmm auch mit ns 4.0 ist schwarze schrift auf halbschwarzen
Hintergrund nicht so gut zu lesen, aber sonst sehr schoen :)

Anakin.

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



Re: Re: Kaempfer-Seiten (Jasper, 26. Mar 1998, 12:38:18):
~#! rn=Anakin rt=890898941 rg=gilden.kaempfer
~#! tid=890859926
ja sehr schoen, 
allerding sollte die schrift etwas heller sein, ich denke ein helles pink
wuerde zu den kaempfenden schwuchteln in stoeckelschuhen ganz gut passen :)

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



Re^3: Kaempfer-Seiten (Zephyr, 26. Mar 1998, 12:39:16):
~#! rn=Jasper rt=890912298 rg=gilden.kaempfer
~#! tid=890859926

Das mit der Schrift muss ein Unfall sein. In den Testseiten
war die bisher hellgrau unterlegt, ich hoffe, dass das noch
repariert wird ;)

Gruss, Zephyr

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



Re^4: Kaempfer-Seiten (Gnome, 26. Mar 1998, 15:53:30):
~#! rn=Zephyr rt=890912356 rg=gilden.kaempfer
~#! tid=890859926
hi,
hmmm... ich dachte nicht, dass so viele damit probleme haben...
mist. naja, ok. wir aendern das noch.

gnOme

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



Re: Re: Kaempfer-Seiten (Ark, 26. Mar 1998, 16:16:59):
~#! rn=Anakin rt=890898941 rg=gilden.kaempfer
~#! tid=890859926
Hm, die Bilder sind schon mal schoen, aber ich konnte (und wollte)
kein einziges Wort lesen :-( *augen reib*


              *** ARK * the * Magnificent ***


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



schaetz (Boing, 26. Mar 1998, 17:45:49):
Ich hab das 'schaetz'-Kommando fuer Ruestungen an die neuen Max-Werte
angepasst, das fuehrt natuerlich bei einigen euch bekannten Ruestungen
zu einer Veraenderung. D.h. natuerlich nicht, dass sich die Ruestung
genaedert hat. :)
Das mit dem Alkohol ist aber immer noch unveraendert, da wird die
Rassenabhaengigkeit noch nicht benutzt.
  Boing

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



Re^3: Kaempfer-Seiten (Wurzel, 26. Mar 1998, 21:06:18):
~#! rn=Ark rt=890925419 rg=gilden.kaempfer
~#! tid=890859926
entweder ist das zwischenzeitlich geaendert, oder ich hab bessere augen
(alternativ besseres equipment). ich konnte alles einwandfrei lesen, auch
ohne brille :)

wurzel

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



Re^4: Kaempfer-Seiten (Ark, 26. Mar 1998, 21:11:28):
~#! rn=Wurzel rt=890942778 rg=gilden.kaempfer
~#! tid=890859926
Hm, ist das so schwer, ne andere textfarbe zu waehlen? Sonst wird es wohl noch
ne weile dauern, bis ich mir das reinziehen kann. schade eigentlich ...


              *** ARK * the * Magnificent ***


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



Re^5: Kaempfer-Seiten (Acrimon, 27. Mar 1998, 20:10:25):
~#! rn=Ark rt=890943088 rg=gilden.kaempfer
~#! tid=890859926
Das einzige, was ich bekomme, ist der Satz: "Diese Seite enthaelt Frames."
Abgesehen davon, dasz ich Frames absolut abscheulich finde, habe ich wirklich
keine Lust, Netscape 4 zu starten. Ich mach das nur, wenn ich nicht darum
herum komme. Lieber starte ich einen Browser, der weniger Speicher- und
Rechenkapazitaet verbraucht (und auch keine Vormachtstellung hat).

Ich habe trotzdem Netscape bemueht, und mir gefaellt die Seite sehr gut. Wenn
nur die Frames nicht waeren. (Man kann ja den oberen und unteren Rand jeweils
oben und unten an das Dokument haengen, dann paszt es)

Acrimon, der Rote Ritter

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



Re^6: Kaempfer-Seiten (Zuerileu, 28. Mar 1998, 02:13:50):
~#! rn=Acrimon rt=891025825 rg=gilden.kaempfer
~#! tid=890859926
Hi,
Netscape hat ne vormachtstellun ? Haha.. also Netscape ist ja warscheinlich
noch etwas besser als der Windows Explorer. Na gut ich habe beide auf der
Platte, der neue W-explorer und Netscape. Es gibt ja Zeiten, bei mir besonders
mit Java wo Netscape spinnt. Aber ne Vormachtstellung hat wohl eher der MS
Explorer. 
Nagut, die Seiten find ich klasse, sind wirklich huebsch gestaltet. Was mir
weniger gefaehlt ist das es endlos geht bist du mit einem 28'800 Modem die
Seiten geladen hast (evtl. lags an meiner Leitung?) und die elenden Cookies
die du hier einem auf die Platte schmuggeln willst find ich scheisse. Da kommt
man sich vor man loggt sich auf eine Sex oder Erotic-Page ein soviele Cookies
will der drauf schmuggeln, da reicht einmal "cancel" klicken nicht aus =:(.

Tschau Alain

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



Re^7: Kaempfer-Seiten (Embe, 28. Mar 1998, 02:42:34):
~#! rn=Zuerileu rt=891047630 rg=gilden.kaempfer
~#! tid=890859926
ich weis zwar nicht was du unter vormachtstellung verstehst aber noch
hat der explorer den netscape ned "uberholt.

und was acrimons argument angeht, das bezieht sich ja sowohl netscape
als auf den explorer...

gruss, eMBee. (dem es egal is, welchen browser er verwendet, hauptsache
               er is ned von MS, und lasst einen die infos anschaun, 
               die man sehn will.
ps. danke f"ur den papagei, der hier grad reinkommt :-)

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



Re^8: Kaempfer-Seiten (Grimmborn, 28. Mar 1998, 15:55:34):
~#! rn=Embe rt=891049354 rg=gilden.kaempfer
~#! tid=890859926
Sind sicher nicht die neuesten Zahlen, aber ich hab im Kopf: NS rund 84%, IE
etwa 14% und den Rest teilen sich die kleinen, praktischen tools wie lynx,
hier und da noch ein antiker Mosaik.
Und Vormachtstellung ist erstmal ein quantitatives Argument. Vielleicht haette
ich auch gerne den IE bei mir drauf (vermutlich aber eher nicht), nur "leider"
gibts den nicht fuer Linux. Und ich hab mal Rochus schimpfen hoeren als er den
auf Solaris installieren wollte.
Mit cookies gibts aber keine Probleme, hier noch einmal das Rezept fuer alle,
deren OS diese Moeglichkeit bietet und die sich nicht fuer cookies
interessieren: ln -s /dev/null ~/.netscape/cookies und man hat seine Ruhe. Ach
ja, natuerlich muss man dann einstellen, dass man saemtliche cookies
akzeptiert.

Grimmborn der Atheist

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



Re^9: Kaempfer-Seiten (Patryn, 30. Mar 1998, 13:00:03):
~#! rn=Grimmborn rt=891096934 rg=gilden.kaempfer
~#! tid=890859926
so, nun muss ich die neuen kaempferseiten auch mal loben und ich finde
es wirklich gut, dass die spieler sich in dieser richtung ins mud
einbringen. evtl. sollten sich die mitglieder anderer gilden auch
mal zusammenraufen um so etwas auf die beine zu stellen (die zauberer
haben auch schon). fuer fanatische anhaenger ihrer rasse waeren auch
rassenseiten denkbar, kleine blderchens plus etwas text mit
vorzuegen und nachteilen in schnuckliger form, das waer doch noch was...

was mich uebrigens weniger interessiert ist, ob acrimon gerne mit telnet
html-seiten anstaunt oder eine netscape <-> explorer diskusion, verschiebts
nach kochrezepte oder so.

------
patryn

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



Re^6: Kaempfer-Seiten (Tunixgut,  1. Apr 1998, 13:11:32):
~#! rn=Acrimon rt=891025825 rg=gilden.kaempfer
~#! tid=890859926
Also fuer wenig Speicher, wenig Rechenkapazitaet und trotzdem schnell und auch
mit frames kann ich nach wie vor lynx nur empfehlen.

's Karate-Zwerchle - Das weiss, was eine lahme Leitung ist und lynx zu
schaetzen gelernt hat.

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



Alkoholabhaengige Sachen (Boing,  3. Apr 1998, 17:18:48):
Alle Alkoholabhaengigen Sachen wurden jetzt an die neuen Maximalwerte
fuer Alkohol angepasst. Prozentual hat sich nichts veraendert gegenueber
den Werten vor dem 'grossen' Reboot (Rassenumstellung, Kneipenumstellung,
usw.). D.h. angepasst sind nun: Alkohol schaetzen, Fehlschlagrate,
Lernrate, Gelage. Dank auch an Muadib, der das Gelage repariert hat.
  Boing

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



Re: Re: Reply auf d.unterwelt, Artikel von Death vom 23.03.98 (Zaphob,  3. Apr 1998, 19:27:12):
~#! rn=Overlord rt=890765714 rg=gilden.kaempfer
~#! tid=890743306
Ich bin ebenfalls dagegen die Orks der Orkhoehle zu verstaerken, IMHO sollte
man die Echsenstadt ausbauen, die ist ja eigentlich nur ein etwas breiterer
Gang.
Auch ich zaehle zu den Leuten, die die Orks dort alleine umlegen koennen
wollen, aber trotzdem bin ich ein kaempfer und will das Orkhoehlengebiet als
metzelstaedte behalten.
Daher meine Stimme (wird hier abgestimmt? glaub schon...) fuer die
Beibehaltung der Orkhoehle wie sie ist und die Erweiterung der Echsenstadt.

Zap*

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



Re^10: Kaempfer-Seiten (Wurzel,  3. Apr 1998, 23:57:59):
~#! rn=Patryn rt=891255603 rg=gilden.kaempfer
~#! tid=890859926
he, lass die einzig ernsthafte rubrik in dieser zeitung in ruhe. in 
"kochrezepte" sollte nur genau das stehen, was der titel sagt. sonst
werd ich hier noch zum grimmborn (au weia...)

wurzel

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



Re^3: Reply auf d.unterwelt, Artikel von Death vom 23.03.98 (Overlord,  4. Apr 1998, 21:49:51):
~#! rn=Zaphob rt=891624432 rg=gilden.kaempfer
~#! tid=890743306

Da ich jetzt nicht weiss, auf welchen Teil meines Artikel sich Zaphob bezieht,
stimme ich im Zweifelsfalle auch fuer den Ausbau der Echsenstadt.

Ovi

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



Gefahr des Wurstkaempfertums? (Goofy,  5. Apr 1998, 12:04:37):
Hi Trves,

in letzter Zeit war ein rege Diskussion im Gange ueber die Anhebung
der Seheranforderungen. Meinetwegen, ich waer zwar gerne Seher, 
aber mein Problem sind die AP's und deswegen mich durch 9 Quests 
qulen - noe. Es wurde wohl nach der Party die Top-50-Bedingung 
eingefhrt, die in meinen Augen aber ziemlich sinnlos ist. 
Oder gibts etwa Seher die diese Anforderung nicht erfuellt haben? 
Genauso sinnlos wie die EP-Bedingung fuer Seher.

Seher sollte man 'langsam' werden und nicht ewig darben muessen 
bis zum grossen Tag. Aber das gehoert in ne andere Rubrik.

Zur Gilde:
Um in der Gilde ueber Level 14 aufzusteigen, muss man leider auch 
Seher sein. Und genau da liegt mein Problem. Hat das noch nen Sinn, 
wenn die Seheranforderungen weiter steigen, was sie in Zukunft 
sicher tun werden? Soll damit die Gefahr eines Wurstkaempfertums 
gebannt werden? Kann denn ein Kaempfer der ueber die geforderten Skills 
verfuegt und entsprechend Gildenquests geloest hat ein Wurstkaempfer sein? 
Wenn ja, aendert sich das mit dem Sehertum garantiert nicht.
Und darf dafuer ein Bluemchenpflueckerseher in der Kaempfergilde aufsteigen? 
Logisch muss man questen als Kaempfer, man braucht schliesslich zt's 
fuer anstaendige Stats. Aber das Sehertum als Bedingung fuer einen 
mittleren Gra'Takal find ich reichlich ueberzogen.

Als Spieler hat man schon genug Nachteile gegenueber Sehern. Um nen Azubi
bei Briesel anzumelden, brauch ich schon mal 10 Minuten. Voraussetzung 
natuerlich, der Fischer ist am Leben. Und zum Ausruestung bunkern hab ich
mit Paket und Schleimbeutel auch 'reichlich' Moeglichkeiten. Auch der 
Eissegler ist nur fuer Seher oder Magier. Bloss mal so als kleine
Auswahl.

Ich bin in die Gilde eingetreten, weil ich keinen Bock habe, meine 
Gedankengaenge so zu verbiegen, wie mir ein Magier das vorschreibt. 
Denn nix anderes ist Questen. Und staendig bloss Freunde nerven, 
dass sie einem Questdetails verraten ist doch Schwachsinn.
Das wird andere Spieler, die zeitig in die Gilde eingetreten sind wie 
z.B. Soyo oder Christopher noch haerter treffen als mich. Die bleiben 
ja dann ewig Gildenlevel 14. Es sei denn, sie haben beim Questen mehr
Talent als ich oder sie lassen das Metzeln fuer ne Weile sein und sammeln 
fleissig AP's. Dann haetten sie aber auch Kleriker werden koennen.

Ganz nebenbei: Ich hab sogar nen ZT fuer den ich Seher sein muss. Das ist 
wirklich der Gipfel, denn wenn ich mal Seher bin hab ich sicher schon lange 
volle Stats.

Oki, genug mit dem Geheule, die Seherbedingung fuer Gildenlevel 15 sollte 
voellig fallengelassen werden oder aber erst fuer Takal'Mor gelten. Statt
dessen lieber Sportabzeichen, Firstkills, oder weiss der Geier was.

Goofy der ewige Oberfeldkaempfer, metzelt auch ohne eigenen Titel und Presay


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



Re: Gefahr des Wurstkaempfertums? (Wurzel,  5. Apr 1998, 12:13:33):
~#! rn=Goofy rt=891770677 rg=gilden.kaempfer
~#! tid=891770677
es gibt einen unterschied zwischen mittelmaessigen und guten kaempfern. wer
nicht lernt, ueber den tellerrand hinauszusehen, wird niemals richtig gut
werden koennen, sondern im mittelmass steckenbleiben (genau wie im richtigen
leben :). deswegen ist es nur sinnvoll, wenn man fuer die hoeheren raenge
auch in der kaempfergilde eben mal was anderes gesehen haben muss, eben
seher werden muss.

meine meinung, sonst nichts.

wurzel

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



Re: Re: Gefahr des Wurstkaempfertums? (Sting,  5. Apr 1998, 12:14:53):
~#! rn=Wurzel rt=891771213 rg=gilden.kaempfer
~#! tid=891770677
Ich geb auch mal meinen Senf ab: Wer denkt, dass, wenn man in der staerksten
Gilde ist, gleichzeitig auch einer der staerksten Kaempfer ist, der wird ewig
ne Wurst bleiben :))

Sting

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



Re^3: Gefahr des Wurstkaempfertums? (Hangover,  5. Apr 1998, 12:33:00):
~#! rn=Sting rt=891771293 rg=gilden.kaempfer
~#! tid=891770677
Wieso Gefahr? Ich kenn schon mehr als genug Wurstkaempfer.

-Hangover

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



Re^3: Gefahr des Wurstkaempfertums? (Scalare,  6. Apr 1998, 09:43:43):
~#! rn=Sting rt=891771293 rg=gilden.kaempfer
~#! tid=891770677
Na jetzt muss ich aber endlich auch mal was in die MPA schreiben
Wurstseher oder Wurstkaempfer um was anderes scheint es ja momentan bei euch
nich zu gehen
Wer erlaubt sich eigentlich das Urteil zu beurteilen ob n anderer Spieler ne
Wurst ist ?
Naja, ich denke doch auch nich, dass Ringor meint alle die schwaecher als er
sind,sind Wurstkaempfer.
Also wenn ich zum Beispiel jemand treffe, der n bischen mehr Wurst is wie ich,
dann helf ich ihm einfach besser zu werden, oder sind wir nur hier um auf die
anderen herabzusehen und zu sagen...Hehe is das ne WURST...

Scalare auch noch in manchem Wurstie..

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



Re^4: Gefahr des Wurstkaempfertums? (Gloinson,  6. Apr 1998, 10:11:21):
~#! rn=Scalare rt=891848623 rg=gilden.kaempfer
~#! tid=891770677
Ach ihr seid doch alle Wurstseher :)

Gloin ... die einzig wahre Wurstspielerin ;-)

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



Re: Gefahr des Wurstkaempfertums? (Boing,  6. Apr 1998, 10:18:10):
~#! rn=Goofy rt=891770677 rg=gilden.kaempfer
~#! tid=891770677
Ich muss das jetzt doch ein fuer alle mal klaeren, bevor da noch
mehr Unsinn draus erwaechst: Die Top-50 Bedingung fuer Seher war
ein Aprilscherz!
  Boing

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



Re^4: Gefahr des Wurstkaempfertums? (Srabi,  6. Apr 1998, 10:32:55):
~#! rn=Scalare rt=891848623 rg=gilden.kaempfer
~#! tid=891770677
Hi, muss doch auch mal was dazu sagen, obwohl ich kein Kaempfer bin. Ich finde
den Umgangston zur Zeit absolut bescheuert. Wenn man mal Hilfe braucht, heisst
es von bestimmten Leuten einfach nur : selbst ist der Seher, oder auch
Wurstseher. Aber ich glaube nicht, das die bestimmten Leute was besonderes
sind. Ich glaube auch nicht, dass diese bstimmten Leute frueher nicht gefragt
haben. Diese Leute tun so, als ob sie hier mehr Rechte haetten, weil sie ein
paar Tage oder Wochen laenger im Mud sind, als unser eins. Spieler mit
niedrigem Level bekommen derart ueber den Mund gefahren, wenn sie auf der
verkehrten Ebene was fragen und Jungseher haben auch keine Chance, irgendwas
zu fragen. Leute, mal ehrlich, das muss ja echt nicht sein. Normalerweise
sollte man sich untereiander helfen und nicht gegeneinander arbeiten, wie es
zur Zeit der Fall ist. Denkt doch einfach mal drueber nach.

Srabi, vom Umgangston im Mud genervt

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



Re^5: Gefahr des Wurstkaempfertums? (Freund,  6. Apr 1998, 10:51:59):
~#! rn=Gloinson rt=891850281 rg=gilden.kaempfer
~#! tid=891770677
Wir sind alle doch nur arme kleine Wuerstchen,
unter lauter ander'n armen kleinen Wuerstchen.
Nur die meisten davon sind fuer die Erkenntnis blind,
dass sie auch nur lauter arme kleine Wuerstchen sind.

(Freund, LPC-Wurst (TM).

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



Re: Gefahr des Wurstkaempfertums? (Gnome,  6. Apr 1998, 12:09:28):
~#! rn=Goofy rt=891770677 rg=gilden.kaempfer
~#! tid=891770677
"Kann denn ein Kaempfer der ueber die geforderten Skills verfuegt und
entsprechend Gildenquests geloest hat ein Wurstkaempfer sein?"
-ja

"...oder sie lassen das Metzeln fuer ne Weile sein und sammeln fleissig
AP's."
-was meinst du, was andere vor dir gemacht haben?

"...denn wenn ich mal Seher bin hab ich sicher schon lange volle Stats."
-sicher nicht

"Oki, genug mit dem Geheule..."
-gute idee, geh lieber questen :)

gnOme

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



Re^5: Gefahr des Wurstkaempfertums? (Gloinson,  6. Apr 1998, 15:16:13):
~#! rn=Srabi rt=891851575 rg=gilden.kaempfer
~#! tid=891770677
Nur das es die Artikel, die ein 'Heul doch' heruasfordern auch nicht
bringen. Zuerst immer bei sich selber anfangen. Ich dummsuelze bei-
spielweise recht gern (oder wie entspannt man sich noch gut ;-) ), aber
manchmal bekommt der Player ueber ein tm auch eine ordentliche Antwort.

Gloin ... kann sich da erinnern, von Srabi mal angelabert worden zu sein,
          weil er auf -b mit in Erinnerungen schwelgte. *schmoll*

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



Re^3: Gefahr des Wurstkaempfertums? (Key,  7. Apr 1998, 16:17:25):
~#! rn=Sting rt=891771293 rg=gilden.kaempfer
~#! tid=891770677
Coll Stingschatzi :)
Du bist ja ein Philosoph ... haettest du das vorher merken lassen waeren wir
vielleicht noch ein paar :)

Key :)

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



Re^4: Gefahr des Wurstkaempfertums? (Sting,  7. Apr 1998, 16:22:54):
~#! rn=Key rt=891958645 rg=gilden.kaempfer
~#! tid=891770677
*lach* Wir und noch ein Paar ? DU hast mich schliesslich wegen Schoko
verlassen!!

Sting, beleidigt und enttaeuscht guck.

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



Re: Re: Gefahr des Wurstkaempfertums? (Alpha,  8. Apr 1998, 01:15:28):
~#! rn=Gnome rt=891857368 rg=gilden.kaempfer
~#! tid=891770677
"...denn wenn ich mal Seher bin hab ich sicher schon lange volle Stats."
-sicher nicht

Beziehst Du dich nur auf Goofy?

Alpha hat volle Stats, und ist noch lange kein Seher.

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



Re^3: Gefahr des Wurstkaempfertums? (Gnome,  8. Apr 1998, 21:45:54):
~#! rn=Alpha rt=891990928 rg=gilden.kaempfer
~#! tid=891770677
naja, seitdem das orakel da ist, geht es sicherlich einfacher.

gnOme

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



Nachlaessige Wachen! (Hangover, 14. Apr 1998, 18:08:12):
Dies ist das Torhaus des Struvs. Auch hier hat man bei der Einrichtung zugun-
sten von Funktionalitaet auf Aesthetik weitgehend verzichtet: Um Dich herum
siehst Du ausser den nackten Waenden ausschliesslich die komplexe Mechanik des
Torschlussmechanismus sowie weitere Verteidigungseinrichtungen in Waenden und
Decke. Das Tor ist geoeffnet.
Es gibt zwei sichtbare Ausgaenge: sueden und norden.
Killerkaese Chester die Struv-Torwache.
Ein halbverdauter Kaempfer.
[Seher:Sting] bloede boing-resets :)
[Seher:Aeneas] zephyr hat das sagen :)
[Seher:Morgoth] goetter abwerten
Du denkst   . o O (was will ich denn hier?)
[Seher:Snibril] Zephyr sach was! :)
[Seher:Teddy] Das MUD den Sehern ;)
Du denkst   . o O (Struv plaetten?!)
Chester laesst Dich passieren! Du darfst nun das Struv betreten!

Soso...was sollen dann eigentlich die Wachen?!
-Hangover

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



Re: Re: Gefahr des Wurstkaempfertums? (Zaphob, 16. Apr 1998, 18:32:40):
~#! rn=Boing rt=891850690 rg=gilden.kaempfer
~#! tid=891770677
wie?
was?
aprilscherz?
achsoooooooooo....
ich dachte schon...
haettest du das nicht irgendwie ganz unten in dem artikel erwaehnen koennen?

erleichtert, Zap*

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



Fehler (Zaphob, 25. Apr 1998, 17:41:00):
Nur mal so, als bemerkung:

Du machst einen gelungenen Schildstoss gegen den Echsenmensch.
  Du verfehlst den Echsenmensch.                                             


Zap*

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



Re: Fehler (Berth, 27. Apr 1998, 13:39:12):
~#! rn=Zaphob rt=893518860 rg=gilden.kaempfer
~#! tid=893518860
Na ist doch klar:

Der Bewegungsablauf fuer Deinen Schildstoss war schon richtig, bloss eben
dummerweise in die falsche Richtung.
Musst du eben mal Deine Augen untersuchen lassen, vielleicht schielst du ja?

Tschau Berth - Ex-Trves und stolz drauf ;)))

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



Re: Re: Fehler (Baboon, 27. Apr 1998, 13:55:20):
~#! rn=Berth rt=893677152 rg=gilden.kaempfer
~#! tid=893518860
Tschau Berth - Ex-Trves und stolz drauf ;)))   

Stolz auf das Trves oder auf das Ex? :-)

Baboon() (Magier und viel zu faul, um auf irgendwas stolz zu sein.)

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



Re^3: Fehler (Berth, 27. Apr 1998, 14:12:08):
~#! rn=Baboon rt=893678120 rg=gilden.kaempfer
~#! tid=893518860
Na auf das Ex ;))) - Daemliche Frage aber auch ;)))

Berth - heute (oder besser immer) sollte man den nicht ernst nehmen.. ;)

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



Hoppala ... Aetzaxt (Boing, 27. Mai 1998, 11:03:37):
Hallo,
ich hab eben festgestellt, dass ich die Regeln falsch gelesen hatte
und dadurch die Aetzaxt zu gut war (naja, den Eindruck hatte ich 
schon vorher). Ich habe das korrigiert, die Axt bewegt sich damit wieder
im Rahmen der Regeln. Sorry!
  Boing

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



Neuer Gildenmagier (Boing, 27. Mai 1998, 16:53:40):
Auf die Bitte einiger (vieler?) Spieler und in Absprache mit Zardoz
uebernehme ich also Die Kaempfergilde. Ihr werdet schon sehen was ihr
davon habt. Vorschlaege, bugs, Anregungen, sonstwas bitte an mich.
  Boing

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



Re: Neuer Gildenmagier (Gnome, 27. Mai 1998, 17:37:35):
~#! rn=Boing rt=896280820 rg=gilden.kaempfer
~#! tid=896280820
na endlich traut sich jemand!!! :)

WELCOME!

gnOme

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



Re: Neuer Gildenmagier (Teddy, 27. Mai 1998, 18:19:17):
~#! rn=Boing rt=896280820 rg=gilden.kaempfer
~#! tid=896280820
Na endlich, hat ja lange genug gedauert. ;-)
Viel Spass mit denen.

Teddy

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



Re: Neuer Gildenmagier (Lug, 28. Mai 1998, 00:10:05):
~#! rn=Boing rt=896280820 rg=gilden.kaempfer
~#! tid=896280820
Hmpf,

jetzt muesste traditionell uneigennuetziger Spott kommen. Ich lass mich
trotzdem mal zu einem:
Jubel! Hosiannah! FidKG! hinreissen.

Lug

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



Re: Neuer Gildenmagier (Key, 28. Mai 1998, 08:30:37):
~#! rn=Boing rt=896280820 rg=gilden.kaempfer
~#! tid=896280820
Grats Boing :)
Hassu soviel Zeit? :)

Key

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



Re: Hier spricht Zardoz :) (Highlander,  2. Jun 1998, 12:33:01):
~#! on=Teddy ot=896783169 og=polizei.beschwerden
~#! rn=Gruuh rt=896782999 rg=polizei.beschwerden
~#! tid=896782999
Also so wie ich dsa sehe, laesst du deine Unlust am MG schon eine ganze Weile
an Spielern aus.
Die Kaemper haben ziemlich lange auf Aenderungen, debuggen und aehnliches
gewartet, die Chaoten ebenfalls und das die Burg und die DD mehr offiziell
geschlossen sind, interessiert wohl nur die wenigsten Magier.

Teddy

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



Re: Re: Hier spricht Zardoz :) (Highlander,  2. Jun 1998, 12:33:09):
~#! on=Gruuh ot=896783261 og=polizei.beschwerden
~#! rn=Teddy rt=896783169 rg=polizei.beschwerden
~#! tid=896782999
Aha, wenn ich also mal keine Zeit oder Lust hab, Aenderungen an den Gilden
vorzunehmen, dann lass ich also meine Unlust an euch aus? Interressant. Rate
mal, warum ich die Gilden abgegeben habe, wohl auch nur, um euch zu aergern?

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



Re^3: Hier spricht Zardoz :) (Highlander,  2. Jun 1998, 12:33:17):
~#! on=Teddy ot=896783330 og=polizei.beschwerden
~#! rn=Gruuh rt=896783261 rg=polizei.beschwerden
~#! tid=896782999
Noe, wenn du keine Lust hast, was zu machen ist das deine Sache und daher
sicherlich OK, aber wenn du dann Leute die es machen wollen blockierst, finden
das einige weniger OK.
Die Burg hast du vermutlich auch nur geschlossen, weil du grad keine Lust hast
was dran zu machen, nehm ich an.

Teddy

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



Re^4: Hier spricht Zardoz :) (Highlander,  2. Jun 1998, 12:33:27):
~#! on=Gruuh ot=896783470 og=polizei.beschwerden
~#! rn=Teddy rt=896783330 rg=polizei.beschwerden
~#! tid=896782999
Die Burg ist nicht geschlossen. Die Mauer am Weg kann jeder Spieler hochfahren
lassen, wenn er lust dazu hat...

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



Re^5: Hier spricht Zardoz :) (Highlander,  2. Jun 1998, 12:33:47):
~#! on=Teddy ot=896783533 og=polizei.beschwerden
~#! rn=Gruuh rt=896783470 rg=polizei.beschwerden
~#! tid=896782999
OK
Dann muss ich dsa wohl zuruecknehmen.

Teddy

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



Langes Reisen (Lyra,  5. Jun 1998, 14:26:17):
Als Nicht-Seher istes immer eine lange und belastende Reise in die Gilde. Vor
allem dann, wenn man Eisenhelm nur nach den potentiellen Ausbildern fragen
will. Koennte man es nicht so einrichten, dass man ihm einen Brief oder so was
in der Richtung schickt und dann 1-2 min spaeter die Antwort mit den
Ausbilderkandidaten erhaelt? So koennte man sich einige Reisen mit der Galeere
und Barke sparen.

Lyra, nicht gerade reiselustig im Moment

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



Kurze Mitteilung! (Gnome,  5. Jun 1998, 19:13:48):
hi trves!
da es anscheinend noch immer kaempfer gibt, die von den gilden-seiten im
www noch nichts gehoert haben, sei hier noch mal ausdruecklich drauf hin-
gewiesen, dass dort eine fuelle von informationen stehen, die dem trves
in seiner laufbahn recht hilfreich sein kann.
es gibt dort sogar eine FAQ!
zu erreichen ueber die gilden-seiten der MG-seiten.

gnOme

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



Gildenlevel 23 (Boing,  8. Jun 1998, 14:16:47):
Die bisher unspezifierten besonderen Anforderungen fuer Level 22 Kaempfer
sind etwas konkreter geworden. Viel Spass. ;)
Ach ja, ausserdem werden einige schon bemerkt haben, dass es neue Bericht-
themen gibt.
  Boing

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



Re: Gildenlevel 23 (Orktoeter,  9. Jun 1998, 14:32:48):
~#! rn=Boing rt=897308207 rg=gilden.kaempfer
~#! tid=897308207
Level 22 ? Hmm naja, du bist ja noch neu, die Sonderanforderungen sind doch
fuer Level 23 noetig..

OrkT in Vertretung von Tower (Urlauber).

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



Re: Re: Gildenlevel 23 (Boing,  9. Jun 1998, 14:37:01):
~#! rn=Orktoeter rt=897395568 rg=gilden.kaempfer
~#! tid=897308207
Ich bin nicht bloed. Die Anforderungen sind fuer Level 22 Kaempfer, 
also Kaempfer die Level 23 werden wollen.
  Boing

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



Re^3: Gildenlevel 23 (Lug, 23. Jun 1998, 01:44:17):
~#! rn=Boing rt=897395821 rg=gilden.kaempfer
~#! tid=897308207
Naja Boing,

Du solltest doch wissen das OT bloede ist.

FidKG!
Lug

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



Aenderungen in Sicht (Boing, 29. Jun 1998, 10:08:19):
Hi,
da sich Paracelsus jetzt die Gilde angeschaut hat, wird es demnaechst
zu ein paar Aenderungen kommen. Ich muss leider auch das Wort 'Abwertung'
in den Mund nehmen, aber die Top-Kaempfer werden nicht umhin kommen, mir
zuzustimmen, dass die Extremwerte bei den Zusatzattacken etwas ZU extrem
ausfallen. Wie stark sich die Aenderungen tatsaechlich auswirken, wird
sich zeigen. Da muss dann auch das letzte Wort noch nicht gesprochen sein.
Ich hoffe hier bricht jetzt nicht das grosse Gejammer aus, ich selbst
weiss ziemlich genau wie stark die Kaempfer wirklich sind, aber auch 
was sie dafuer tun muessen.
  Boing

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



Erste Aenderungen ... (Boing, 29. Jun 1998, 13:13:38):
So, die ersten Aenderungen sind drin und werden hier kurz aufgelistet:
o Die Finte ist jetzt nach oben hin begrenzt, d.h. der Angriff wird nicht
  mehr nahezu beliebig verstaerkt. Mit einer geringen Wahrscheinlichkeit
  geht die Finte nach wie vor voll durch.
o Analog beim Waffentrick, die Wirkung ist durch einen festen Wert begrenzt.
o Kampftritt, Kniestoss, Ellbogenschlag, Kopfstpss, Schildstoss: 
  Diese Aenderung betrifft wahrscheinlich die wenigsten, da es nur
  um Objekte ohne Kaempferbonus geht, dort wird jetzt die tatsaechliche
  Ruestungsklasse benutzt anstelle der evtl. magisch erhoehten. Bei
  Ruestungen mit Kaempferbonus wird dieser natuerlich verwendet.
o Parade: Wie bei den Angriffen, eine magisch erhoehte Waffenklasse
  wirkt sich nicht auf die Parade aus, nur der Grundwert.
o Waffenschlag: Bei einem extrem gut gelungenen Waffenschlag wird die
  Ruestung nicht mehr komplett ignoriert.
o Wenn man dem Gegner die Waffe blockiert, kann man keinen Ellbogenschlag
  mehr durchfuehren.
  Boing

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



Re: Erste Aenderungen ... (Key, 30. Jun 1998, 09:08:32):
~#! rn=Boing rt=899118818 rg=gilden.kaempfer
~#! tid=899118818
Klingt ja gar net so schlecht .)

Nur das mit dem Ellenbogenschlag ...
Den macht man doch eh nur einhand ... und wenn man mit der anderen hand den
gegner blockiert (natuerlich mit der waffe in der anderen hand ...) sollte er
doch gehen, oder? .)

Key

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



Abwertung (Boing, 27. Jul 1998, 17:18:41):
Auch ich habe den blauen Brief fuer Gildenmagier bekommen und es sieht
gar nicht gut aus ... Um genau zu sein uebertrifft es meine schlimmsten
Befuerchtungen. Ihr muesst aber jetzt nicht hier einen riesigen Thread
lostreten, hilft eh nix. In den naechsten Wochen wird es also eine
Menge Aenderungen geben.
  Boing

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



SMS und Vollstrecker (Rochus, 27. Jul 1998, 17:51:49):
Da SMS und VS fuer Kaempfer viel zu stark sind, wurde ich gebeten
beides entweder fuer Kaempfer unbenutzbar zu machen oder fuer diese
die Auswirkungen zu reduzieren. Ich habe mich fuer letzteres entschieden,
weil ich nicht weiss, wie ich unbenutzbar machen fuer eine ideale
kaempfer-Waffe begruenden soll und hoffe dass Silvana sich mit
meiner Abwertung dieser Waffen fuer Kaempfer zufrieden gibt :-)

  Rochus

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



Re: SMS und Vollstrecker (Shannara, 27. Jul 1998, 18:00:27):
~#! rn=Rochus rt=901554709 rg=gilden.kaempfer
~#! tid=901554709

Vielleicht wuerde es besser sein, diese beiden Waffen fuer die Kaempfer
unbenutzbar zu machen. Warum? Die Trves haben schon ein grosses Waffenarsenal
zur Verfuegung, das wuerde denen vielleicht etwas 'jucken', aber nicht den
anderen Gilden.

Shannara (geht schon mal in Deckung)

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



Re: Re: SMS und Vollstrecker (Rochus, 27. Jul 1998, 18:04:50):
~#! rn=Shannara rt=901555227 rg=gilden.kaempfer
~#! tid=901554709
Gib mir einen Grund. :-)


  Rochus

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



Re^3: SMS und Vollstrecker (Shannara, 27. Jul 1998, 18:15:28):
~#! rn=Rochus rt=901555490 rg=gilden.kaempfer
~#! tid=901554709

Grund ? *g*

Wie gesagt, die anderen Gilden, die auch das SMS benuetzen koennen
(Bierschuettler, Abenteurer, Chaos und Katzen) haben keine Waffenskills und
Spezialattacken a la Schildstoss und Verteidigung unterlaufen. Das letztere
hab ich schon oefters schmerzhaft am eigenen Leib erleben muessen wie effektiv
das ist (NPCs die in der Kaempfergilde sind, zb Teichwaechter bei 4 Elem
Quest). 


Shannara

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



Re^4: SMS und Vollstrecker (Christopher, 27. Jul 1998, 18:37:36):
~#! rn=Shannara rt=901556128 rg=gilden.kaempfer
~#! tid=901554709

Hi Shannara

findest Du es nicht etwas merkwuerdig das gerade Du Dich zu den Kaempfern
aeusserst, wo Du wohl nur eingestiegen bist da es die nach Deinem Empfinden
staerkste Gilde ist und dann wieder ausgetreten bist als de gemerkt hast das
es wohl auch die mit Abstand aufwendigste Gilde ist ? 
Findest Du nicht das da Kaempfer nich auch nen kleinen Bonus was den Umgang
mit waffen angeht verdienen ? Und wie willst Du das so rein Spieltechnisch
begruenden, dass ausgerechnet die Kaempfer ( wir habe auch den Titel
Waffenmiester bzw. Grossmeister der waffe ) nicht jede waffe beherrschen ? 
Irgendwie laecherlich wenn nen Grossmeister der waffe nen SMS net zuecken kann
aber nen Spierlerabendteurer sie zuecken kann und dann den Grossmeister der
waffe nur muede anlaechelt ......

Christopher 

P.S.: Dieser Artikel bezieht sich nicht auf Rochus Artikel oder die Abwertung
insgesamt.




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



Re^5: SMS und Vollstrecker (Gloinson, 27. Jul 1998, 18:39:55):
~#! rn=Christopher rt=901557456 rg=gilden.kaempfer
~#! tid=901554709
Schietegal. Das SMS und der VS sind ganz nette Waffen, da sie aber die Faehig-
keiten der Kaempfer potenzieren, sollten fuer Kaempfer in der HitFunc/Defend-
Func die Boni gesenkt/weggesetzt werden. Wie geschehen mit Keulenboni bei
heiligen/unheiligen Waffen ... 

Gloin ... senft mit.

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



Re^5: SMS und Vollstrecker (Shannara, 27. Jul 1998, 18:52:54):
~#! rn=Christopher rt=901557456 rg=gilden.kaempfer
~#! tid=901554709

Eigentlich war ich schon lange bei den Trves, ich hab dort einen Zweitie und
weiss um den Aufwand. Nur eben hat er sich nicht noch befoerden lassen...

Nichts fuer ungut, aber ich stimme da Gloinson zu, dass das SMS die
Faehigkeiten der Trves noch um eine Stufe weiter anhebt. Sein Vorschlag waere
eigentlich am geschicktesten.

Was das 'alt' aussehen anbelangt: Das ist gar nicht wahr, selbst wenn ich mal
ein SMS haette und ein Trevs mit ungefaehrer gleicher Ausstattung/Stats minus
das SMS, wuerde ich innerhalb von 5-6 Kampfrunden in einen Duell tot sein,
weil die Katzen gar nicht solche Faehigkeiten haben.

Ich bin wieder bei den Trves ausgestiegen, weil mir die Sache mit der
Ausbildung zum Stufenanstieg - sorry - etwas zu bloed ist und nicht einsehe,
dass ich jedesmal fuer eine Stufe ein paar Dutzend (und spaeter um einiges
mehr) Monster toete. Dazu kommt noch, dass ich wegen des Chattens immer wieder
solche Ausbildungen verschoben habe.

Shannara

PS: Bitte nimm das nicht persoenlich, aber eine persoenliche Mail oder wenn du
mich angesprochen haettest, waere vielleicht besser gewesen.

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



Re^6: SMS und Vollstrecker (Christopher, 27. Jul 1998, 19:07:23):
~#! rn=Shannara rt=901558374 rg=gilden.kaempfer
~#! tid=901554709


Hi Gloinson, hi Shannara


Nochmal : Wie wollt Ihr das Spieltechnisch begruenden das ein Grossmeister der
Waffe das SMS nicht zuecken kann aber nen Spielerabendteurer.....


Christopher

P.S.: Ich hatte schon im ersten Artikel geschrieben, dass ich mich nicht zu
der      Tatsache das das SMS fuer Kaempfer abgewertet aeussere.Es ging darum
dass      sie es NICHT zuecken koennen sollen.  

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



Re^6: SMS und Vollstrecker (Tuffi, 27. Jul 1998, 19:07:24):
~#! rn=Shannara rt=901558374 rg=gilden.kaempfer
~#! tid=901554709
5-6 Kampfrunden? Du uebertreibst masslos. :)
  Tuffi

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



Re^8: SMS und Vollstrecker (Padreic, 27. Jul 1998, 19:27:48):
~#! rn=Gloinson rt=901559614 rg=gilden.kaempfer
~#! tid=901554709
Hmm.. vielleicht irr ich mich ja, aber ich dachte das waer bei den Klerikern
heut auch schon so???? :)

                           Padreic

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



Re^6: SMS und Vollstrecker (Teddy, 27. Jul 1998, 21:47:33):
~#! rn=Shannara rt=901558374 rg=gilden.kaempfer
~#! tid=901554709
Mal so nebenbei, wenn du gegen irgendwen antrittst, der Ahnung von seiner
Gilde oder vom MG hat, ueberlebst du gegen niemanden 5-6 Runden.
Jeder Arenakampf ist normalerweise in 2 bis 3 Runden entschieden.

Teddy

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



Re^9: SMS und Vollstrecker (Teddy, 27. Jul 1998, 21:48:41):
~#! rn=Padreic rt=901560468 rg=gilden.kaempfer
~#! tid=901554709
Jepp, sie muessen nur ziemlich lange ein Kreuz schlagen ;)

Teddy

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



Re^6: SMS und Vollstrecker (Mindblade, 27. Jul 1998, 22:43:29):
~#! rn=Gloinson rt=901557595 rg=gilden.kaempfer
~#! tid=901554709
Gloin, Du hast anscheinend auch keine Ahnung von Waffen, das gleiche gilt z-B.
auch fuer Keulen und da habt ihr bekanntlicherweise auch nen Boni drauf, und
der ist nicht zu knapp. Bevor jetzt wieder was kommt...das sollte nicht
heissen, dass sms und vs nicht geaendert gehoeren. Ich selbst hab das schon
vor Monaten vorgeschlagen!;)

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



Re^7: SMS und Vollstrecker (Shannara, 27. Jul 1998, 22:52:44):
~#! rn=Teddy rt=901568853 rg=gilden.kaempfer
~#! tid=901554709

Mmmh, da hab ich wohl etwas uebertrieben. Muessen wir eigentlich jetzt daran
uns festbeissen?

Shannara

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



Re^8: SMS und Vollstrecker (Anatol, 27. Jul 1998, 22:54:54):
~#! rn=Shannara rt=901572764 rg=gilden.kaempfer
~#! tid=901554709
Zitat Boing:
> Ihr muesst aber jetzt nicht hier einen riesigen Thread
> lostreten, hilft eh nix.

Reicht Dir das als Antwort, Shannara? :)

Anatol


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



Re^6: SMS und Vollstrecker (Key, 28. Jul 1998, 09:55:56):
~#! rn=Shannara rt=901558374 rg=gilden.kaempfer
~#! tid=901554709
HEUL DOCH!

Kartzen nicht solche Faehigkeiten haben .... 5-6 Kampfrunden .... 
Hmm ich weiss net ob Du schonmal drueber nachgedacht hast das die Faehigkeiten
die man hat von einem selbst abhaengen ...

Key

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



Aenderungen (Boing, 28. Jul 1998, 10:05:16):
Hier die ersten durchgefuehrten 'Aenderungen':
- Alle Waffenskills beruecksichtigen jetzt die natuerliche Ruestung (body)
  des Gegners staerker. Im Gegenzug habe ich mir erlaubt, die Verlernrate
  zu senken, das dass genehmigt wurde ist eigentlich ein Wunder.
- Die Drachetechnik beruecksichtigt die natuerliche Ruestung (body)
  des Gegners staerker, widerspricht dadurch also ihrem Sinn.
- ausweichen: Der maximale Wert der gelernt werden kann haengt von der
  Staerke der Zaubersprueche ab, die auf einem niedergehen. D.h. nur
  wer an Gegner uebt die mit ihren Spruechen auch ordentlich Schaden
  machen kann 100% erreichen. Zusaetzlich geht der Schaden, dem man
  maximal ausweichen kann jetzt durch ein random().
- schaetz: Die Waffenskills wurden 'uebersetzt'. Selbsteinschaetzung im 
  Kampf ist nicht mehr moeglich. Achtung, nicht ueberlesen, jetzt kommt
  eine Verbesserung: Die Erkennung der physikalischen Resistenzen bzw.
  Anfaelligkeiten ist jetzt genauer, d.h. es wird zwischen 'geschuetzt',
  'sehr gut geschuetzt' und 'extrem gut geschuetzt' unterschieden.
  Entsprechend natuerlich fuer Anfaelligkeiten.
- finte: Der mit geringer Wahrscheinlichkeit noch durchkommende 'kritische'
  Erfolg ist jetzt auch nach oben hart begrenzt. Immerhin liegt er noch
  geringfuegig ueber dem normalen Wert. Naja.
- waffentrick: dito

Das war's erst mal,
  Boing

PS: An zwei Stellen fehlt ein 'n' im Artikel, wer sie findet, darf sie
    behalten.

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



Re: SMS und Vollstrecker (Belgariad, 28. Jul 1998, 11:32:03):
~#! rn=Rochus rt=901554709 rg=gilden.kaempfer
~#! tid=901554709
Wie immer kann ich nicht viel dazu sagn, da ich ein sehr grosser Wurstseher
bin. Aber die bedeutung von SMS und VS wird meiner Meinung nach bei den
Kaempfern etwas ueberschaetzt. Ich kenne kaum Kaempfer die diese beiden Waffen
benutzen. Bis auf kleinere Seher weil die wirklich mehr anrichten mit dem Vs
als mit einem normalen Schwert. Und zum SMS sag ich nur eines BENUTZ ICH NICHT
MEHR!!

Belga* der Wurstseherkaempfer

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



Re: Re: SMS und Vollstrecker (Morgoth, 28. Jul 1998, 11:43:50):
~#! rn=Belgariad rt=901618323 rg=gilden.kaempfer
~#! tid=901554709
Klar, fuer rein-finte-wasauchimmer-raus brauchst du keine waffe.

M*

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



Re: Re: SMS und Vollstrecker (Belgariad, 28. Jul 1998, 12:01:55):
~#! rn=Belgariad rt=901618323 rg=gilden.kaempfer
~#! tid=901554709
Hiermit entschuldige ich mich in aller oeffentlichkeit bei allen
menschenkaempfern.

Belga* immer noch ne Wurst

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



Re^7: SMS und Vollstrecker (Key, 28. Jul 1998, 12:38:34):
~#! rn=Teddy rt=901568853 rg=gilden.kaempfer
~#! tid=901554709
Da hatter recht der kleine :)

Key

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



Re^3: SMS und Vollstrecker (Morgoth, 28. Jul 1998, 13:27:06):
~#! rn=Teddy rt=901625141 rg=gilden.kaempfer
~#! tid=901554709
Aehm, nicht nur fuer Kaempfer. Auch mein kleiner 2tie freut sich ueber diese
beiden Waffen, da es die einzige Moeglichkeit fuer ihn ist, mit Waffen schaden
zu machen. Jaja, ausser bei Ameisen auf der HE.

M*

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



Re^8: SMS und Vollstrecker (Teddy, 28. Jul 1998, 13:27:30):
~#! rn=Key rt=901622314 rg=gilden.kaempfer
~#! tid=901554709
Danke fuer das Kleine ;)

Teddy, vergleicht gerade den 'grossen' Key mit sich.;)

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



Re^4: SMS und Vollstrecker (Teddy, 28. Jul 1998, 13:28:20):
~#! rn=Morgoth rt=901625226 rg=gilden.kaempfer
~#! tid=901554709
Um die gehts grad nicht Morgoth, es geht nur um Kaempfer und fuer die ists
auch nur geaendert.

Teddy

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



Re^5: SMS und Vollstrecker (Morgoth, 28. Jul 1998, 13:33:24):
~#! rn=Teddy rt=901625300 rg=gilden.kaempfer
~#! tid=901554709
jaja, ich weiss. es ging mir darum klarzumachen, dass diese waffen an sich
scho
n sehr gut sind und nur in kaempferhaenden ZU gut werden
M*

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



Noch ein paar 'Kleinigkeiten' (Boing, 28. Jul 1998, 15:21:56):
Es geht weiter:
- Da meine Versuche mit Argumenten gegen gewisse Dinge vorzugehen glatt
  abgeblockt wurden sind 'identifiziere' und 'schaetz' jetzt ... argl,
  ich will das Wort nicht in den Mund nehmen ... aber das sind jetzt ...
  *wuerg* ... ZAUBERSPRUECHE! Das macht selbstverstaendlich keinen Sinn,
  wurde aber so befohlen damit es von NPCs abgewehrt werden kann.
- Defensive: Die maximale Schadensabschwaechung wurde auf einen Wert hart
  begrenzt, der im Normalfall wahrscheinlich nicht auffallen duerfte.
  Nur leider laeuft der Kampfsprung auch ueber diese Funktion und der
  wird durch diese Aenderung wirklich hart beeintraechtigt, also Vorsicht!
Fuer heute hab ich genug ... das macht echt keinen Spass.
Gluecklicherweise ist die Rubrik voll.
  Boing

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



Re: Noch ein paar 'Kleinigkeiten' (Silvana, 28. Jul 1998, 21:05:53):
~#! rn=Boing rt=901632116 rg=gilden.kaempfer
~#! tid=901632116
Ach Boing... 

Identifiziere war schon immer Magie. Ob die nun aus einem Objekt wie
den Yrdstein kommt oder aus dem Spieler selbst ist, ist da ziemlich
egal.
Und wenn Du Resistenzen und Empfindlichkeiten ausgeben koennen
willst, sollte das Monster eine Moeglichkeit haben, Dich zu
taeuschen. Dass man dafuer nicht eine Kaempfer-Spezial-Schnittstelle
neu einfuehren muss, sondern das bereits vorhandene SpellDefend
nimmt ist ne Frage der Effizienz. Wenn Du die Gildenstimmung mit
Kommentaren wie 'Das Monster wehrt Deinen Spruch ab' versauen willst,
ist das wirklich nicht mein Problem. Frag mal rum, es gibt sooo
viele kreative Spieler, grad unter den Kaempfern, denen faellt bestimmt
was stimmungsvolleres ein.

  Silvana

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



Re: Re: Noch ein paar 'Kleinigkeiten' (Boing, 29. Jul 1998, 08:22:49):
~#! rn=Silvana rt=901652753 rg=gilden.kaempfer
~#! tid=901632116
Keine Sorge ... 'Das Monster wehrt Deinen Spruch ab' hab ich nicht
genommen. Ich bezweifel eh, dass jemand jemals in den Genuss (?)
kommen wird diese Meldung zu lesen.
  Boing

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



und weiter geht's (Boing, 29. Jul 1998, 11:03:11):
2 weitere Aenderungen:
- bei Kampftritt, Kniestoss, Ellbogenschlag, Kopfstoss und Schildstoss
  wirkt ein eventueller Bonus auf diese Techniken erst, wenn man die
  Ruestung mindestens 2 Sekunden traegt. D.h. man kann die Technik
  auch ausfuehren, wenn man die Ruestung gerade erst angezogen hat,
  allerdings dann halt nur mit reduzierter Wirkung (wie eine Ruestung
  ohne Bonus).
- bei Todesstoss und KO-Schlag muss die Waffe mindestens 2 Sekunden
  gezueckt sein, bevor man den Schlag anbringen kann.
  Boing

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



Re: und weiter geht's (Boing, 29. Jul 1998, 11:17:13):
~#! rn=Boing rt=901702991 rg=gilden.kaempfer
~#! tid=901702991
Kommando zurueck, die Property die die Zeit des Anziehens enthalten
soll tut wohl erst nach dem naechsten Reboot.
  Boing

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



Re: Re: und weiter geht's (Boing,  3. Aug 1998, 09:20:44):
~#! rn=Boing rt=901703833 rg=gilden.kaempfer
~#! tid=901702991
So, da jetzt Reboot war sind die 2 Aenderungen auch aktiv.
  Boing

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



Taumeln (Boing,  3. Aug 1998, 09:50:43):
Die Wahrscheinlichkeit des Taumelns bei einem Patzer wurde um etwa 25%
gesenkt.
  Boing

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



Re: Taumeln (Jasonrigid,  3. Aug 1998, 10:00:47):
~#! rn=Boing rt=902130643 rg=gilden.kaempfer
~#! tid=902130643
Find ich gut, taumelt der Bruder wenigstens nicht mehr zum Schlaechter runter
*grins*

Jason, einzelend und schmarrend

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



Mehr Aenderungen (Boing,  3. Aug 1998, 15:36:48):
Ab sofort muss man fuer Kniestoss, Ellbogenschlag, Kopfstoss, Todesstoss,
KO-Schlag und Waffenbruch mindestens 2 Sekunden im selben Raum mit dem
Gegner stehen. Kampftritt, Waffenschlag und Schildstoss sind davon
nicht betroffen.
  Boing

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



Re: Mehr Aenderungen (Jasonrigid,  3. Aug 1998, 15:42:26):
~#! rn=Boing rt=902151408 rg=gilden.kaempfer
~#! tid=902151408
Gibt es einen Grund, warum fuer Kampftritt, Waffenschlag und Schildstoss nicht
?? oder kommt das noch ??

Jason

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



Re: Re: Mehr Aenderungen (Boing,  3. Aug 1998, 15:44:29):
~#! rn=Jasonrigid rt=902151746 rg=gilden.kaempfer
~#! tid=902151408
Die selbe Frage hatte ich Silvana auch gestellt, hier ihre Antwort:

* So, nun zu dem RFR: Ich versuche einfach mal, mir einen Kaempfer
* mit rein-Technik-raus vorzustellen. Man stuermt in den Raum,
* versucht, den Gegner zu treffen und zu verschwinden. Dass da nicht
* viel Moeglichkeiten zur Orientierung sein duerften, ist glaub
* ich verstaendlich. Also, was bringen wir moeglichst schnell an den
* Gegner? Ein (moeglichst grosse) Waffe? Kein Problem. Einen Fuss?
* Naja, riskant, aber wofuer ist man Trves? Den Kopf? Nenene, da
* kann man sich ja glech unters Fallbeil legen. Auch fuer einen
* Ellenbogenschlag oder Kniestoss muss man meiner Meinung nach
* zu dicht an der Monster ran, um das in der Eile machen zu koennen.
* Der Schildstoss ist da uebrigens falsch einsortiert. Hinters
* Schild ducken und Gegner niederrennen sollte grade fuer
* Zwerge kein Problem darstellen.

  Boing

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



Re^3: Mehr Aenderungen (Jasonrigid,  3. Aug 1998, 15:59:15):
~#! rn=Boing rt=902151869 rg=gilden.kaempfer
~#! tid=902151408
Das heisst im Klartext, fuer Kampftritt, Waffenschlag und Schildstoss oll es
in Zukunft keine Zeitbegrenzung geben, ja ?
Dann ist ja noch nicht alles verloren :)

Jason

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



Re^3: Mehr Aenderungen (Novastorm,  4. Aug 1998, 14:14:59):
~#! rn=Boing rt=902151869 rg=gilden.kaempfer
~#! tid=902151408
Hmm... mich stoerte irgendwas bei diesem Einschaetzung eines Nichtkaempfers.
Irgendwie hatte ich das Gefuehl, das mir bei der Ausbildung zum Kaempfer et-
was beigebracht wurde, was sich zumindestens teilweise mit der Formulierung 
beisst.
Da ich leider Karak Goldgram nicht zu einer Nachhilfestunde ueberreden konn-
te, setzte ich mich also in die Bibliothek und durchforstete das Buch des 
waffenlosen Kampfes, wo ich auch bald auf die erwaehnte Stelle stiess.

Wohlgemerkt, es ging um das RFR...
Zitat Silvana: Also, was bringen wir moeglichst schnell an den Gegner? ...
               Den Kopf? Nenene, da kann man sich leicht unters Fallbeil le-
               gen. ...
Im Buch des waffenlosen Kampfes las ich nun folgende Darstellung: 
     Zweierlei sei beim Kopfstosse moeglich: Das wilde Losrennen, den
     Kopf tief gesenkt und mit behoernten Helme wie ein Stier, oder im
     Nahkampfe einen kurzen Schlag mit der behelmten Stirn.
Nur so als Anregung...
  Nova

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



Kampfsprung (Boing,  4. Aug 1998, 15:21:55):
Der Kampfsprung sollte jetzt wieder sein altes Verhalten haben.
  Boing

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



Re^4: Mehr Aenderungen (Mindblade,  4. Aug 1998, 16:16:25):
~#! rn=Novastorm rt=902232899 rg=gilden.kaempfer
~#! tid=902151408
Nun, Silvana hatte die auswahl zwischen dem jetzigen Zustand oder alle
angriffe in der ersten runde stark abzuschwaechen. Da finde ich eigentlich die
jetzige Aenderung schon besser, da man bei einigen Monstern _leider_ darauf
angewiesen ist, rein-raus zumachen *Paravelsus frech angrins*. Und jetzt hat
man fuer solche "Haertefaelle" immernoch Kampftritt und Waffenschlag, das
finde ich eigentlich einen fairen Kompromiss. Und zur Bib: Tja anscheinend
sind wir nicht mehr so gut wie die alten Lehrmeister. Asche auf unser Haupt!;)

Ciao Mind*, gespannt darauf, was noch kommt.

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



Und weiter geht's (Boing,  4. Aug 1998, 19:56:43):
Die naechsten Aenderungen:
- Alle Maximalwerte fuer Kaempferbonusitems werden jetzt kontrolliert, 
  wenn ein Objekt die Maxwerte ueberschreitet wird der Bonus als nicht
  anwesend (0) gewertet. 
- Alle Zusatzangriffe koennen ueber einen Faktor in ihrer Staerke
  beeinflusst werden. Momentan wurden Kampftritt, Kniestoss, Kopfstoss,
  Ellbogenschlag und Schildstoss auf etwa 80% reduziert. Der Rest ist
  unveraendert. Diese Werte sind in einer Experimentierphase und koennen
  noch veraendert werden (in beide Richtungen).
- Bei einer laufenden Schildparade beendet ein Schildstoss mit einem 
  ANDEREN (!) Schild die Parade.
- Bei einer laufenden Parade beenden Todesstoss/KO-Schlag/Waffenbruch
  mit einer ANDEREN (!) Waffe die Parade.

So, jetzt kommen eigentlich nur noch 2 Aenderungen:
- Beim Schnellspruch wird fuer die Anzahl der Angriffe pro Runde nicht
  mehr der Runenstab als Mass genommen, sondern die tatsaechlich
  gezueckte Waffe. Das kann ich erst nach dem naechsten Reboot 
  einbauen, bis dahin gibt's also noch eine Galgenfrist.
- Ein schlecht gelungenes einschaetzen kann leicht falsche Ergebnisse
  liefern, das ist allerdings recht aufwendig und dauert noch ein
  Weilchen bis das drin ist.

  Boing

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



Re: Und weiter geht's (Alanon,  5. Aug 1998, 09:22:33):
~#! rn=Boing rt=902253403 rg=gilden.kaempfer
~#! tid=902253403
GRummel...
Bin mal gespannt wann das aufhoert...mag ja sein, dass die Kaempfergilde
sehr stark war... aber wenn das so weiter geht, werden die kaempfer
bald wieder auf die hochebene kaempfen koennen .. aber nur mit vorsicht
150 :-)
Gruss Al

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



Re: Re: Und weiter geht's (Morgoth,  5. Aug 1998, 09:23:21):
~#! rn=Alanon rt=902301753 rg=gilden.kaempfer
~#! tid=902253403
Also bei Robin NUR 150 zu nehmen ist schon sehr mutig. Selbst Mahatma hat da
180 oder so.

M* -> schmarrn

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



Re: Re: Und weiter geht's (Schoko,  5. Aug 1998, 10:16:41):
~#! rn=Alanon rt=902301753 rg=gilden.kaempfer
~#! tid=902253403
Wieso zum Teufel ham alle Leute gleich immer das Gefuehl, wenn sie selber nich
mehr so hart zuhauen, werden sie selber gleich auch viel haerter getroffen?

Schoko

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



schaetz (Boing,  5. Aug 1998, 11:06:20):
Jetzt hab ich mich doch schon ans 'schaetz' gemacht, das kam dabei raus:
- Wenn man einen Gegner einschaetzt und das schlecht gelingt, bekommt
  man leichte Abweichungen. Falls ich da einen Fehler gemacht haben sollte
  und es wirklich krasse Abweichungen gibt, sagt Bescheid.
- Das Einschaetzen von Ruestungen mit Kaempferbonus zeigt jetzt auch
  die Qualitaet des Bonus an.

  Boing

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



Re^3: Und weiter geht's (Mammi,  5. Aug 1998, 14:20:04):
~#! rn=Schoko rt=902305001 rg=gilden.kaempfer
~#! tid=902253403
Aeh vielleicht meinen sie das, weil sie nicht mehr mit einem grossen
Scrollangriff den Gegner in einer oder zwei Runden niederwaelzen, sondern
jetzt fuenf oder mehr Runden durchstehen muessen.

Mammi

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



Re: SMS und Vollstrecker (Schoko,  5. Aug 1998, 14:58:57):
~#! rn=Rochus rt=901554709 rg=gilden.kaempfer
~#! tid=901554709
Hmm versteh ich das jetzt richtig, dass solche Beschraenkungen von den Waffen
aus gehen (sprich jeder Magier das fuer seine Waffen einbauen muss) ... worauf
ich Hinaus will is, dass IMHO der VS und das SMS beileibe nich die einzigen
Waffen sind, die in diese Kathegorie fallen.


Schoko *duckt sich schonmal* ;)

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



Re: Re: SMS und Vollstrecker (Boing,  5. Aug 1998, 15:02:02):
~#! rn=Schoko rt=902321937 rg=gilden.kaempfer
~#! tid=901554709
Ich halte die momentane Loesung bei SMS, VS und ES (es leben die 
Abkuerzungen) fuer absolut unbefriedigend. Wenn die Teile zu gut sind,
dann sind sie fuer alle Gilden zu gut. Ein Kaempfer ist per Definition
immer der, der mit Waffen am besten umgehen kann. Wenn jetzt ein
Abenteurer mit dem VS ploetzlich mehr Schaden macht als ein Kaempfer,
dann kann da was nicht stimmen. Insofern sollte man diese Waffen ansich
mal ueberdenken und nicht einfach fuer Kaempfer sperren. 
Wie Muadib heute beim Essen so schoen sagte: Die Kaempfer sind nur
Indikatoren fuer zu gute Waffen.
  Boing

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



Re: Re: SMS und Vollstrecker (Morgoth,  5. Aug 1998, 15:26:33):
~#! rn=Schoko rt=902321937 rg=gilden.kaempfer
~#! tid=901554709
Troeste Dich, auch das heilige/boese ES ist fuer Kaempfer raus.
M*

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



Re: schaetz (Mindblade,  5. Aug 1998, 15:36:46):
~#! rn=Boing rt=902307980 rg=gilden.kaempfer
~#! tid=902307980
DAAAAAAANNNNNKKKKKEEE Boing!:)))
Endlich sieht man auch mal, ob das Feature brauchbar ist oder nicht!:)

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



Re^3: SMS und Vollstrecker (Gando,  5. Aug 1998, 15:54:44):
~#! rn=Morgoth rt=902323593 rg=gilden.kaempfer
~#! tid=901554709
ein heiliges ES sollte per definition auch fuer chaoten nicht gehen. boese
allerdings schon.
Gando

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



Re^4: SMS und Vollstrecker (Anatol,  5. Aug 1998, 15:56:46):
~#! rn=Gando rt=902325284 rg=gilden.kaempfer
~#! tid=901554709
Koennen wir uns nicht darauf einigen, dass es eigentlich ein Unding ist, 
wenn an *einer* Stelle eine Waffe solcher Maechtigkeit gefunden werden
kann? Wozu muss man denn noch das Mud kennen, wenn man weiss, wo man 
Elementar-Kram findet, mit dem man frueher oder spaeter einen grossen
Schadens-Bereich abdecken kann? Wie waer' es mit "abhaengen"? Ist der
Gedanke wirklich so falsch?

Anatol


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



Re^5: SMS und Vollstrecker (Mindblade,  5. Aug 1998, 16:02:48):
~#! rn=Anatol rt=902325406 rg=gilden.kaempfer
~#! tid=901554709
Aehm, ich glaub Du siehst da was falsch, die einzigen Waffe, die da nen
maechtigen Bonus haben, sind das boese und das heilige ES. Der Rest ist ganz
nuetzlich, aber keineswegs besonders gut. Da gibts fuer fast jede Schadensart
bessere Waffen im MG. Wieso also abhaengen? 

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



Re^4: Und weiter geht's (Tuffi,  5. Aug 1998, 17:17:49):
~#! rn=Mammi rt=902319604 rg=gilden.kaempfer
~#! tid=902253403
Du solltest mal die Oma des Gaertners ... aeh ... wie auch immer das ging -
jedenfalls solltest Du die mal sehen, dann weisst Du was ein
Scrollangriff ist. :)
  Tuffi

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



Re^3: SMS und Vollstrecker (Mammi,  5. Aug 1998, 18:20:24):
~#! rn=Boing rt=902322122 rg=gilden.kaempfer
~#! tid=901554709
Und wie sieht der Indikator fuer zu gute Monster aus? Ich denke, Super-
waffen werden doch nur deshalb gemacht, damit man bei zu guten Monstern
wieder ne Chance bekommt?

Mammi (Abenteurerin, deren Feuerball so ziemlich das einzige ist, was 
       ueberhaupt gegen Monster einsetzbar ist - fuer diese Gilde)

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



Re^3: SMS und Vollstrecker (Padreic,  6. Aug 1998, 00:11:31):
~#! rn=Boing rt=902322122 rg=gilden.kaempfer
~#! tid=901554709
Aehm Boing ich denke Du uebersiehst bei Deiner Argumentation eine Kleinigkeit.
Und zwar kommt es immer drauf an ob ich einen Bonus per Multiplikator oder per
fest Bonus setze. Man sollte vielleicht grundsaetzlich an allen Stellen wo mit
einem Multiplikator gearbeitet wird, eine Grenze fuer beide Faktoren bestimmen
und schon duerfte sich das Problem erledigen (die ganzen Sonderboni der Waffen
sind als _einmal_ Boni gedacht und nicht um nochmal multipliziert zu werden).

                                 Padreic

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



Re^4: SMS und Vollstrecker (Mindblade,  6. Aug 1998, 00:50:21):
~#! rn=Padreic rt=902355091 rg=gilden.kaempfer
~#! tid=901554709
Also, das mag zwar bei einigen Waffen zutreffen Padreic, aber ganz sicher
nicht beim VS. Das macht schon seit Urzeiten, mal3 nach einem TS und damit
kommt auch ein einfacher Abenteurer auf 6 Angriffe. Naja, Felinen kommen damit
sogar auf mehr!
Ciao, Mind*.

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



Re^4: SMS und Vollstrecker (Teddy,  6. Aug 1998, 03:48:18):
~#! rn=Gando rt=902325284 rg=gilden.kaempfer
~#! tid=901554709
Du scheinst die Chaoten falsch zu verstehen: Wir halten uns an keine Gesetze
und verbreiten Traenen und Terror ueber das MG.
Eine Waffe fuer Chaoten zu verbieten passt genausogut, wie uns eine Gottheit
zu geben, die wir anbeten sollen.

Teddy, dagegen
P.S. Ueber Mali koennen wir natuerich reden oder ueber Handschuhe, damit ich
das Zeil anfassen mag. ;)

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



Re^5: SMS und Vollstrecker (Gando,  6. Aug 1998, 09:10:15):
~#! rn=Teddy rt=902368098 rg=gilden.kaempfer
~#! tid=901554709
Gando stellt sich vor, wie ein Chaot etwas heiliges beschwoert und sich dann
ersteinmal uebergeben muss ...

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



Re^6: SMS und Vollstrecker (Teddy,  6. Aug 1998, 13:18:43):
~#! rn=Gando rt=902387415 rg=gilden.kaempfer
~#! tid=901554709
Ah, wir kommen der Sache schon naeher ;)

Teddy, Chaot mit Selbstbeherrschung.

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



Re^3: SMS und Vollstrecker (Key,  6. Aug 1998, 18:23:35):
~#! rn=Boing rt=902322122 rg=gilden.kaempfer
~#! tid=901554709
Sorry Boing aber stell Dich mal als Nichtkaempfer mit nem Langschwert zum
Gardewaechter. Ich verfehl den damit nur, waehrend nen Kaempfer mit derselben
Waffe und stats da auch mal zerschmettert.
Um welchen Faktor das mehr ist kannste selber ausrechnen.

So und wenn man jetzt ne Waffe nimmt mit der nen normaler Spieler wenn er
Glueck hat mal zerschmettert dann rechne Dir mal aus was ein Kaempfer damit
macht ....

Und die Waffe ist nicht gerade der einzigste Angriff der Kaempfer ...

Key

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



Re^6: SMS und Vollstrecker (Key,  6. Aug 1998, 18:26:10):
~#! rn=Mindblade rt=902325768 rg=gilden.kaempfer
~#! tid=901554709
Bin auch gegen das abhaengen des Es ... aus einem einfachen Grund ..
Ich muss als Chaot net 100 an Waffen mitschleppen um meinen Chaosball
effektiver zu machen. Und das hat auch Vorteile fuer den Speicher :)
Und gerade fuer Schaeden die ich selte brauche will ich net noch zusaetzliche
Waffen holen ... 

Key

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



Re^7: SMS und Vollstrecker (Ringor,  6. Aug 1998, 20:22:58):
~#! rn=Key rt=902420770 rg=gilden.kaempfer
~#! tid=901554709
Sorry Key, wenn ich Dir in den Ruecken falle. :-)

Genau *das* war Zardoz' Argument damals, dass das ES fuer Chaoten und Kaempfer
komplett gesperrt wurde. Das Verstaerken der CBaelle sollte eben nur mit
Mehraufwand moeglich sein, und nicht mit einer einzigen Waffe fuer alle
Schaeden.

Dass es die alte Form vom ES die ganze Zeit ueber noch gab, entsprach
sicherlich eh nicht ganz dem, wie Zardoz Morgoth verstanden hat wuerde ich mal
tippen. ;-)

Ringor

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



Re^8: SMS und Vollstrecker (Morgoth,  6. Aug 1998, 22:52:58):
~#! rn=Ringor rt=902427778 rg=gilden.kaempfer
~#! tid=901554709
Aehm, 
seitdem das normale ES auf eine Schadensart gefixed wird, ist es fuer Chaoten
und Kaempfer wieder benutzbar. Das war damals Bedingung von Zardoz. Das eine
'alte', das noch existiert ist SO schwer zu bekommen, dass es dann auch
wirklich berechtigt ist (mehraufwand usw.)

M*

P.S.: Wers nicht glaubt, soll mal den Paragoblin fragen. ;-)

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



Betr. Schaetz (Orktoeter,  7. Aug 1998, 19:26:55):
Das das schaetzen durch NPC abgewehrt werden soll/kann ist ja schoen und gut
und bei magischen und anderen speziellen schadensarten ist das sicher auch
sinnvoll, speziell, wenn der NPC einen magischen Hintergrund hat.
Aber warum sollte ein Kaempfer, der seinen Gegner aufgrund seiner Erfahrung
und seines Aeausseren einschaetzt nicht erkennen koennen, ob die Haut nun eher
mit einer Stechenden oder einer zerschmetternden Waffe zu durchdringen ist ?
Das es da auch gute Erfahrung sicherlich nicht immer moeglich macht, so etwas
perfekt einzuschaetzen waere es vileicht eine Idee, das schaetz schlechter zu
machen, was empfindlichkeiten und resitenzen anbelangt (Als kaempfer geht es
ja eh nur um rein physikalische Dinge).

Es ist allerdings wenig sinnig, wenn NPC, die spezielle, eher im magische
bereich anzusiedelnde Resistenzen haben und sich gegen deren Entdeckung mit
Magie schuetzen das normale "visuelle" schaetz der Kaempfer beeinflussen.
Eine Loesung waere evtl eine zweigeteilte schaetzabwehr, einmal fuer Dinge,
die eher magischer natur sind und einmal fuer rein physikalische, allerdings
ist das natuerlich wieder doppelter Aufwand.

OkrT im Auftrag von Tower, der zwar nichts dagegen hat, wenn einzelne NPC ihn
magisch ueber ihr wahres Aeusseres hinwegtaeuschen, der aber in der Regel
seinen Augen trauen koennen moechte.

Sollte es doch bei der jetzigen Regelung bleiben, rege ich an, das Schaetz als
echte magische Eigenschaft einzuordnen und nur ueber einen Yrdstein
zugaenglich zu machen.

sorry fuer die Typos.

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



Re: Betr. Schaetz (Ark,  7. Aug 1998, 21:53:03):
~#! rn=Orktoeter rt=902510815 rg=gilden.kaempfer
~#! tid=902510815
Hm, wenn es aufgrund seiner Erfahrung sein sollte, dann muesste der/die
Kaempfer/in ja
erst einmal gegen das unbekannte Wesen gekaempft haben, um dann sagen zu
koennen, jo,
demm Ding is min Waff' egal. Wenn er oder sie an dem Ding dann gestorben ist,
hat der
oder die Kaempfer/in mal wieder an Erfahrung gewonnen (dat Ding kann main
Speer gut ab).
Somit waere dieser Skill eigentlich ueberfluessig, weil man die Monster ja
irgendwann
sehr gut kennen sollte :-)
Das Ganze liesse sich noch verbessern, wenn bei nicht alltaeglichen Monstern
etwas in
der Langbeschreibung steht (is nich immer der Fall), was schon etwas in die
Richtung
deutet. Was man nun bei Kreaturen macht, die alltaeglich aussehen, aber
Klerikerkaempfer-
chaotenpiratenkatzenkriegerzaubererabenteurerkaratekaelementartanjian der 129.
Gilden-
stufe sind, naja, das sei mal dahingestellt. Fuer Nichtexperten (Kleriker oder
Zauberer
als Paradebeispiel) ist der Spruch sinnvoll, aber fuer Kaempfer? Nee, dann
lieber ganz
praktische Erfahrung bitte ...


              *** ARK * the * Magnificent ***


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



Re: Re: Betr. Schaetz (Ark,  7. Aug 1998, 21:54:08):
~#! rn=Ark rt=902519583 rg=gilden.kaempfer
~#! tid=902510815
Die Zeilenumbrueche bitte ich zu entschuldigen :-) Hab nicht die Zeichen
mitgezaehlt, das naechste Mal schreib ich wieder immer weiter *erroet*


              *** ARK * the * Magnificent ***


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



Re: Betr. Schaetz (Anatol,  8. Aug 1998, 03:04:14):
~#! rn=Orktoeter rt=902510815 rg=gilden.kaempfer
~#! tid=902510815

Werter Orktoeter, wahrer Turm in der Gesellschaft des Struvs!
Wie Eurem klaren Verstand zweifelsohne nicht entgangen ist, verfuegen
nur wenige potentielle Gegner eines Trves ueber die Gabe, der gezielten
Einschaetzung hinsichtlich Staerken und Schwaechen zu entgehen oder gar
mit der Macht der Magie (oder anderen, uns allen unbekannten, Tricks)
einen voellig falschen Eindruck des eigenen Zustands zu vermitteln.

Wie Euch Eure Auffassungsgabe an jenen Gegnern gezeigt hat, waere es
doch im eigentlichen Sinne sehr eigenartig, wenn ausgerechnet einer
der mutigen Kaempfer des Koru Tschakar Struv, die der Magie mit grosser
Abneigung begegnen, aber zweifellos nicht immun gegen sie sind, das
Aeussere eines mit einem magischen Netz der Illusionen umgebenen Gegners
erkennen und die wahren wunden Punkte des Gegners ausmachen koennte.

Das alles wisst Ihr, und doch versucht Ihr, gegen eine reine Frage der
Technik - die Schoepfer dieser Welt muessen hinsichtlich Aufwand und 
Nutzen Kompromisse eingehen, die in den Augen anderer Individuen, und
seien sie noch so mit Intelligenz verflucht, nicht unbedingt genehm 
sind - aufzubegehren? Wollt Ihr Euch eingestehen muessen, dass Ihr 
Wissen vor Weisheit erlangt habt?

Wenn Euer Helm schon gescheitert, habt eine sichere Hand im Kampfe,
Anatol


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



Re^8: SMS und Vollstrecker (Key,  8. Aug 1998, 23:08:51):
~#! rn=Ringor rt=902427778 rg=gilden.kaempfer
~#! tid=901554709
Hmpf! ;)
Gibts a Ruh jetzt ;)

Weiss ich doch .... aber meiner Meinung nach ist es schwer genug zu holen, und
hat auch genug Nachteile die eben verhindern das es zu der Megawaffe wird ....

Und wie ich sagte benutze ich es nur fuer seltene schaeden fuer die ich net
extra waffen rumschleppen will ....

Key

P.S.: Ausser mir benutzt es soweit ich weiss kein anderer Chaot ... ,)
Nicht regelamaessig ;)


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



Re^9: SMS und Vollstrecker (Rantanplan,  9. Aug 1998, 19:51:02):
~#! rn=Key rt=902610531 rg=gilden.kaempfer
~#! tid=901554709
Bahnhof...???

Also wenn ich al KF das VS oder das SMS auf die HY oder den TO anwende,
dann bin ich OC oder PC oder SM !

Soweit so gut aber wem nuetzt das was ?

Oe*

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



Re^10: SMS und Vollstrecker (Mammi,  9. Aug 1998, 21:20:04):
~#! rn=Rantanplan rt=902685062 rg=gilden.kaempfer
~#! tid=901554709
Und was heissen all die Abkuerzungen?
Oder fuer Rantanplan: UWH alle Abk.?

Mammi

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



Rueckendeckung (Boing, 10. Aug 1998, 16:43:52):
Wenn man die Faehigkeit 'Rueckendeckung' mindestens 'recht gut'
beherrscht, kann man ab sofort auch schon vor dem Kampf versuchen,
seinen Mitstreiter zu decken. Dieser muss selbstverstaendlich im 
selben Raum sein. Und wie bei den Paraden lernt man auch hier nix,
wenn man nicht im Kampf ist.
  Boing

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



Re: Rueckendeckung (Rantanplan, 10. Aug 1998, 21:16:22):
~#! rn=Boing rt=902760232 rg=gilden.kaempfer
~#! tid=902760232

DWIJSN

(Das weiss ich ja selber nicht)

Oe*

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



Waffenwurf und Rueckendeckung (Boing, 11. Aug 1998, 10:56:11):
Die Kosten fuer Waffenwurf und Rueckendeckung haben sich geaendert:
Waffenwurf: (-/16/14/13/12)
Rueckendeckung: (-/-/-/30/25)
Die Werte stehen fuer die einzelnen Raenge.
Da die Kosten teilweise im Spieler gespeichert werden, muessen die Spieler,
die diese Techniken schon beherrschen zu ihren Lehrmeistern gehen und
dort nochmal nachfragen. Die Meldung ist ein bisschen bescheuert, wenn
da jemandem was besseres einfaellt dann immer her damit. Spieler, die die
Techniken neu lernen oder seit dem Erlernen noch keinen Rangaufstieg 
(d.h. Kostenaenderung) hatten, muessen nicht mehr nachfragen.
  Boing

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



Re: Waffenwurf und Rueckendeckung (Mindblade, 11. Aug 1998, 13:09:55):
~#! rn=Boing rt=902825771 rg=gilden.kaempfer
~#! tid=902825771
Heute einzeilig: *knuddel Boing*
Mind*

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



Re^3: Und weiter geht's (Mahatma, 21. Aug 1998, 13:39:59):
~#! rn=Morgoth rt=902301801 rg=gilden.kaempfer
~#! tid=902253403
Falsch Morgoth, ich nehm da genau 150. Und das ist nicht mutig, sondern
absolut sicher.
Mahatma

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



paraden und fokus (Boing, 24. Aug 1998, 14:48:09):
Zwei kleine Aenderungen (zum Guten):
o Fokus auf einen Gegner mit dem man nicht im Kampf ist, setzt den Fokus
  und startet einen Kampf.
o Eine misslungene (Schild)parade hat jetzt nicht mehr zur Folge, dass
  man 5 bis 6 Kampfrunden auf den naechsten Versuch warten muss. Eine
  gelungene Parade natuerlich schon.

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



Re: paraden und fokus (Gnome, 24. Aug 1998, 15:28:12):
~#! rn=Boing rt=903962889 rg=gilden.kaempfer
~#! tid=903962889
super, endlich mal ein paar lichtblicke im abwertungschaos :)
wenn jetzt noch der bug beim TS ausgebaut wird, bin ich schon fast
zufrieden :)))

gnOme

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



einschaetzen (Boing, 28. Aug 1998, 13:21:01):
Hallo,
wundert euch nicht wenn beim Einschaetzen von Ruestungen, Helmen, Schilden,
Stiefeln und Hosen jetzt ueberall Kaempferboni angezeigt werden. Die
waren schon immer drin, wurden nur nicht angezeigt, wenn kein Schadenstyp
gesetzt war. Das ist also nur eine Aenderung der Anzeige.
  Boing

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



Aehem... (Lug,  9. Sep 1998, 03:00:36):

HAH!

Lug

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



Degradierung (Boing, 10. Sep 1998, 14:54:22):
Das Umbringen von Struv-NPCs wird fuer Kaempfer ab sofort mit einer
Degradierung geahndet.
  Boing

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



Re: Degradierung (Tarina, 10. Sep 1998, 15:55:49):
~#! rn=Boing rt=905432062 rg=gilden.kaempfer
~#! tid=905432062
Dann stelle ich den Antrag, dass die NPC's auch erst wieder auftauchen
duerfen, wenn ich nach der Degradierung wieder befoerdert werde. Nur
Brieseltrim duerfte ein Problem werden ;-)

Tarina

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



Trevs aufwerten! (Lyra, 15. Sep 1998, 13:46:52):
Nun ist einige Zeit verflossen und das Schreckgespenst "Gildenbalance"
verschwindet aus den Geistern der Trevs. Darum ist es nun wieder Zeit, ueber
eine Saerkung und Erweiterung des Kaempfertums nachzudenken.
In langen, nie beginnenden und endenden Naechten unter dem nie aufgehenden
Mond kam mir der Gedanke, dass es Techniken geben koennte, die abhaengig von
der Rasse sind. Da fiele mir der Kampf mit 2 Waffen ein, fuer den die Hobbits
geeignet waeren. Oder die Moeglichkeit fuer Elfen, 2-Hand-Wafen einhaendig zu
fuehren. Die Felinen koennten mit ihrer Beweglichkeit doch einen Gegner
ueberspringen (also einen Kampfsprung _aus_ dem Raum, auch wenn der Gegner den
Ausgang blockiert). Und wenn sich ein Zwerg gegen die Fuesse seines Gegners
wirft, wird er schon aus dem Gleihgewicht gebracht und kann so schlechter
zuschlagen und abwehren. Ja, dann blieben nur noch das Voelkchen der Menschen
ueber. Aber fuer die ist mir keine geeignete Technik eingefallen bzw. andere
Rassen waren besser dafuer geeignet.

Lyra, die nun weiter zieht, um das MG zu erkunden

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



Re: Trevs aufwerten! (Anatol, 15. Sep 1998, 14:06:32):
~#! rn=Lyra rt=905860012 rg=gilden.kaempfer
~#! tid=905860012
Lasset uns hoffen, beten, glauben, dass jene, welche die in allen Dingen
innewohnende Balance als Schreckgespenst sehen, letzten Endes doch noch
irgendwann (zumindest ein bescheidenes bisschen) Weisheit finden.

Fuehlet auch Bedauern fuer jene, die den Falken auf ihrer Hand nicht sehen,
weil sie den Flug des stolzen Adlers ueber sich verfolgen.

Anatol, scheuttelt das arrogante Elfenhaupt :)


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



Re: Re: Trevs aufwerten! (Lyra, 15. Sep 1998, 14:20:47):
~#! rn=Anatol rt=905861192 rg=gilden.kaempfer
~#! tid=905860012
Oh, es muesse ja nicht immer eine Aufwertung sein. In meinem Geiste nehmen
Techniken (oder Sprueche in anderen Gilden, die es ja auch geben soll), die
von der Rasse abhaengen, gar interessante Formen an. So lege ich dann acuh den
Schwerpunkt auf diesen Fakt und nehme die Aufwertung zurueck.

Lyra ist froh kein Zwerg zu sein. Sonst haette sie sich nicht so schnell
anpassen koennen.

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



Re^3: Trevs aufwerten! (Lan, 15. Sep 1998, 14:23:17):
~#! rn=Lyra rt=905862047 rg=gilden.kaempfer
~#! tid=905860012
Dann hoere und lerne:
Bei den Kaempfern gibt es starke Unterschiede zwischen den Rassen, schon
alleine durch die Waffen.
z.B. kann die eine Rasse Finte besser, schon wegen der Waffe.

Lan

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



Re: Degradierung (Lillebror, 15. Sep 1998, 15:57:02):
~#! rn=Boing rt=905432062 rg=gilden.kaempfer
~#! tid=905432062
Huhu,
hat schon jemand Erfahrung mit der Degradierung gemacht? Mich wuerde es
naemlich interessieren, ob man fuer jeden verstorben Trves eine Stufe
degradiert wird, ob man Faehigkeiten wirklich verliert (und damit neu lernen
muss) oder ob die Techniken der 'verlorenen' Stufe 'nur' gesperrt sind, ob es
(falls gleich das ganze Struv umgelegt wird) eine Hoechstgrenze fuer
Degradierung gibt und aehnliches. 
Antworten ala 'Probiers doch aus' verlegt lieber gleich selber nach schmarrn
;)

Lillebror (ueber kurz oder lang an wilden Totschlag im Struv denkend)

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



twer (Boing, 15. Sep 1998, 16:24:20):
Ab dem naechsten Reboot oder Ende steht euch ein neuer Befehl zur
Verfuegung: twer
'twer' listet alle anwesenden Trves nach Raengen sortiert auf, dies ist
vor allem fuer Nicht-Seher die Ausbilder oder Azubis suchen recht nuetzlich,
da man sofort sieht wer aus den entsprechenden Level-Gruppen anwesend ist.
  Boing

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



Re: Re: Degradierung (Gnome, 15. Sep 1998, 17:25:40):
~#! rn=Lillebror rt=905867822 rg=gilden.kaempfer
~#! tid=905432062
aehem... VERRAT!!!

dich sollte man allein schon fuer solch einen gedanken auf lvl 8 setzen
und die skills um die haelfte kuerzen...
boing geht hier viel zu milde mit solchen verraetern um.

gnOme

p.s. probiers doch selber
p.p.s. frohes sterben :)

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



Re^3: Degradierung (Lillebror, 15. Sep 1998, 18:24:07):
~#! rn=Gnome rt=905873140 rg=gilden.kaempfer
~#! tid=905432062
Ach wirklich,
ich wuerde eben mal zu gern Briesel* erlegen und meine Karteikarte faelschen
oder Botanos fuer seine 'Ausbildung' bestrafen. Solche Gedanken sehe ich nicht
als Verrat sondern eher als klitzekleine Vergeltung :)
Und gibt es ein schoeneres Lob fuer einen Ausbilder, als von seiner ehemaligen
Azubine umgebracht zu werden? ;)
Sieh es nicht so eng, ich werd mir auch noch Zeit damit lassen..

Lillebror

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



Re^3: Degradierung (Srabi, 16. Sep 1998, 09:54:49):
~#! rn=Gnome rt=905873140 rg=gilden.kaempfer
~#! tid=905432062
Also ich waere dafuer, wenn ein Kaempfer auch aufgrund eines Verweises fuer
ca. 1 Woche um ein oder zwei Raenge degradiert werden.

Srabi

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



Re: twer (Lyra, 16. Sep 1998, 10:11:45):
~#! rn=Boing rt=905869460 rg=gilden.kaempfer
~#! tid=905869460
Das twer ist wirklich gut! Danke Boing!

Lyra ist froh, ende eingetippt zu haben

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



Re: Degradierung (Lug, 17. Sep 1998, 01:14:47):
~#! rn=Boing rt=905432062 rg=gilden.kaempfer
~#! tid=905432062

Aeh,



BUUUUUUUUHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH !

Trina abmurksen will...
Lug

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



Re^3: Degradierung (Lug, 17. Sep 1998, 01:16:04):
~#! rn=Gnome rt=905873140 rg=gilden.kaempfer
~#! tid=905432062
Also Gnome:

Verrat finde ich gut!

Lille gnaedig zunick
Lug

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



Kampfsprung? (Lug, 19. Sep 1998, 02:25:23):

Schreibe mal einer wozu das eigentlich so richtig gut ist. Die Experten hier
haben ja sicherlich ne Anwendung, ansonsten haut der Gegner trotzdem zuerst in
die Fresse und es blockiert die naechste Aktion.

AidKG
Lug
,
Aeh .

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



Re: Kampfsprung? (Boing, 21. Sep 1998, 12:59:00):
~#! rn=Lug rt=906164723 rg=gilden.kaempfer
~#! tid=906164723
Vielleicht ist dieser kurze Satz die Antwort auf Deine Frage:
Kampfsprung nuetzt (momentan) NICHTS gegen Zaubersprueche.
  Boing

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



Re: Re: Kampfsprung? (Lug, 21. Sep 1998, 18:25:10):
~#! rn=Boing rt=906375540 rg=gilden.kaempfer
~#! tid=906164723
 Juhu,

das ist eine Antwort, die mir echt gefaellt. Besonders das "momentan" ;)

FidKGuKidS
Lug

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



Trick (Twinsen, 27. Sep 1998, 22:09:53):
Ich wollte mal fragen ob es nicht cool waere einen Trick wie Fingerstich oder
so zu machen also fuer die lvl 1 spieler oder so also fuer den Waffenlosen
kampf dass man dem gegner die augen aussticht oder so :)

Nur ne kleine Idee.

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



Re: Trick (Jiddu, 27. Sep 1998, 22:10:47):
~#! rn=Twinsen rt=906926993 rg=gilden.kaempfer
~#! tid=906926993
Ja oder FingerZapp...

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



Re: Re: Trick (Twinsen, 27. Sep 1998, 22:13:52):
~#! rn=Jiddu rt=906927047 rg=gilden.kaempfer
~#! tid=906926993
Armer karateka bist ja nur neidisch :)

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



Re^3: Trick (Jiddu, 27. Sep 1998, 22:15:21):
~#! rn=Twinsen rt=906927232 rg=gilden.kaempfer
~#! tid=906926993
Du willst also (voll, hey.) den Anfaengern eurer Gilde nen Trick geben, der
dem Gegner die Augen aussticht, ja?

Jiddu, grinsend.

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



Re^4: Trick (Twinsen, 27. Sep 1998, 22:18:25):
~#! rn=Jiddu rt=906927321 rg=gilden.kaempfer
~#! tid=906926993
Er muss ja Ned soooo hart sein aber ist doch Lustig und je besser man den kann
desto haerter wird er (logisch) und wenn man den richtig gut kann schafft man
es sogar den gegner blind zu machen der dann nichtmehr sooo gut trifft :)

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



Re^5: Trick (Teddy, 27. Sep 1998, 22:19:26):
~#! rn=Twinsen rt=906927505 rg=gilden.kaempfer
~#! tid=906926993
Nicht merh so gut? Mach das mal bei nem Zauberer, der freut sich.

Teddy

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



Re^5: Trick (Gloinson, 27. Sep 1998, 22:19:38):
~#! rn=Twinsen rt=906927505 rg=gilden.kaempfer
~#! tid=906926993
Au ja, baut mal endlich einer ein, dass man mit Blindheit nicht mehr
kaempfen kann? :)

Gloin

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



Re^6: Trick (Nachtwind, 27. Sep 1998, 22:20:26):
~#! rn=Gloinson rt=906927578 rg=gilden.kaempfer
~#! tid=906926993
Werd Zauberer, Gloin. :)

Nachtwind. Kein Freund von Inselloesungen.

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



Attribut-Beschraenkung fuer NPCs (Boing, 29. Sep 1998, 08:40:17):
Ab sofort werden bei der Berechnung der Faehigkeiten fuer NPCs, die
Attribute bei 30 gekappt. Diese Grenze entspricht der Grenze, die
Spieler seit einiger Zeit fest eingebaut haben.
Dies gilt im Wesentlichen fuer Kaempfer-NPCs, wird aber auch fuer Spieler
interessant, bei Skills wo die Attribute des Gegners mit eingehen
(z.B. finte).
  Boing

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



Re: Attribut-Beschraenkung fuer NPCs (Morgoth, 29. Sep 1998, 08:43:28):
~#! rn=Boing rt=907051217 rg=gilden.kaempfer
~#! tid=907051217
Aehm, hast Du Dir vielleicht mal gedacht, das es ABSICHT ist, das einige NPCs
hoehere Stats haben, weil man bei ihnen nicht unbedingt irgendeine Attacke
machen soll?
Mit dieser Regelung laesst sich nun der Weghier blocken, finten von Elfen mit
int-ring gehen bei jedem NPC usw...ueberleg Dir das lieber nochmal...ausserdem
gibt es sicher Leute, die da irgendwelche fiesen Work-Arounds basteln
**grins**.

M*

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



Re: Re: Attribut-Beschraenkung fuer NPCs (Boing, 29. Sep 1998, 08:44:42):
~#! rn=Morgoth rt=907051408 rg=gilden.kaempfer
~#! tid=907051217
Ich hab mir das genau ueberlegt. Die Kaempfergilde ist auf normale
Attribute ausgelegt, wenn da ueberdimensionierte Werte kommen, wird 
das hoellisch.
  Boing

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



Re^3: Attribut-Beschraenkung fuer NPCs (Lyra, 29. Sep 1998, 08:46:27):
~#! rn=Boing rt=907051482 rg=gilden.kaempfer
~#! tid=907051217
Danke Boing, hatte gerade mein 1. atomisieren :)

Lyra ist langsam keine Wurst mehr

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



Re^4: Attribut-Beschraenkung fuer NPCs (Lyra, 29. Sep 1998, 08:50:23):
~#! rn=Lyra rt=907051587 rg=gilden.kaempfer
~#! tid=907051217
Aber es relativiert sich auch wieder: finte mit Drachenschwert + Waffenschlag
mit Eiszapfen gegen ein Feuerdaemon.

Lyra bleibt bei der Wahrheit

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



Re^5: Attribut-Beschraenkung fuer NPCs (Morgoth, 29. Sep 1998, 08:51:03):
~#! rn=Lyra rt=907051823 rg=gilden.kaempfer
~#! tid=907051217
Das war dein ERSTES atomisiert...**taetschel**

M*

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



Deja vu (Jasonrigid, 29. Sep 1998, 11:14:21):
Komisch, Spieler werden abgewertet, Spieler beschweren sich, Magier sagen
"Heul Doch !!" ...

Jetzt kommt der erste Anflug von NPC-Balance, jetzt beschweren sich die
Magier, oder immerhin bisher einer ...

Jason, sagt jetzt nicht "Heul doch !".

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



Re: Deja vu (Wurzel, 29. Sep 1998, 20:22:41):
~#! rn=Jasonrigid rt=907060461 rg=gilden.kaempfer
~#! tid=907060461
das hat mit npc-balance nix zu tun. niemand verbietet es, sich einen
eigenen kaempfer-npc ohne eben diese beschraenkung zu basteln.

zu frueh gefreut.

wurzel

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



Re^3: Attribut-Beschraenkung fuer NPCs (Mango, 30. Sep 1998, 15:59:18):
~#! rn=Boing rt=907051482 rg=gilden.kaempfer
~#! tid=907051217

nicht nur bei der kaempfergilde, ich denk M* hat nur angst um seine npc's

Mango.


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



> Du wirfst den Trolldolch nach Sam. (Twinsen, 30. Sep 1998, 19:34:24):
> Du wirfst den Trolldolch nach Sam.
  Du verfehlst Sam.
Der Trolldolch bleibt in Sam stecken!

sorry fuer den titel der war doof und ein versehen :(
aber das ist schon ziemlich unsinnig oder ?

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



Re: > Du wirfst den Trolldolch nach Sam. (Sting, 30. Sep 1998, 19:35:05):
~#! rn=Twinsen rt=907176864 rg=gilden.kaempfer
~#! tid=907176864
*waelz* Klasse :) Solche Stilblueten machen eine Gilde doch erst interessant
und lustig :)


Sting

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



Re: Re: > Du wirfst den Trolldolch nach Sam. (Twinsen, 30. Sep 1998, 20:34:22):
~#! rn=Sting rt=907176905 rg=gilden.kaempfer
~#! tid=907176864
Hatte ich jezt schon 4 mal :)

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



Re^3: > Du wirfst den Trolldolch nach Sam. (Bendeigid,  1. Okt 1998, 10:15:59):
~#! rn=Twinsen rt=907180462 rg=gilden.kaempfer
~#! tid=907176864
Nun ja, was heisst hier Stilbluete?
Dabei handelt es sich um einen erneuten Beweis fuer die rasche Auffassungsgabe
von Trves, sogar von solchen wie Twinsen :)). 
Wie jeder sofort einsehen wird (und evtl. sogar das Weibsvolk unter den Trves
* aua!!!* ), hat Twinsen sofort gesehen, dass der Dolch zwar den Gegner nicht
verletzte (daher "verfehlt", denn das Ziel war sicherlich eine etwas
schmerzhaftere Stelle...), und hat dies mental als Meldung aufgenommen ("Du
verfehlst.."), jedoch hat er natuerlich NICHT, wie das einem stuemperhaften
Chaoten oder Abenteurer sicherlich passiert waere, den Gegner wirklich
verfehlt, also nichtmal das Ziel getroffen. Das passiert nichtmal bei einem so
kleinen Ziel wie einem Hobbit :)
Naja, und da die Waffe dann in der Ruestung, Haut, Klamotten oder
Harrgestruepp steckenbleibt, ohne Schaden anzurichten, folgt diese Erkenntis
dann auch in der Meldung.
Klarer Fall also....

Z4par Servu,
            Bendeigid

P.S. die 4 ist eigentlich ein ' 

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



Re^4: > Du wirfst den Trolldolch nach Sam. (Acrimon,  1. Okt 1998, 18:57:30):
~#! rn=Bendeigid rt=907229759 rg=gilden.kaempfer
~#! tid=907176864
Hmm. Dann mueszte der Trolldolch aber nicht *in* Sam, sondern *an* Sam
steckenbleiben ....

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



Ein paar Aenderungen (Boing,  6. Okt 1998, 17:05:21):
Dem einen oder anderen ist es vielleicht schon aufgefallen, aber fuer den
Rest schreib ich hier mal eben, was ich heute alles gaendert habe:

o Beim Waffenschaerfen wird beim Erfolg jetzt immer ausgegeben, wie gut
  es gelungen ist.
o Monster die man nicht angreifen kann, kann man auch nicht mehr beschimpfen
 (das gilt natuerlich nicht fuer Monster die den Kampf bei einem Angriff
  sofort wieder beenden).
o Das Archiv der alten Berichte in der Bibliothek ist jetzt etwas besser
  strukturiert. Schaut es euch am besten mal an und gebt ein paar 
  Kommentare ab, falls man das noch verbessern kann.
o Es gibt keinen bug mehr, wenn man Merlin einschaetzt ... ;)

Das war's schon,
   Boing

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



Gruessen (Twinsen, 10. Okt 1998, 11:55:18):
Ich finde es doof dass wenn man vor einem Salutiert oder jemand vor mir oder
so, dass dann immer da steht GRUESST DICH das ist doof und klingt nicht so
hart wie wir kaempfer nun mal sind und deswegen faende ich es besser wenn da
stehen wuerde Salutiert vor die oder so was cooles :)

Twingo

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



Re: Gruessen (Saladin, 10. Okt 1998, 12:06:58):
~#! rn=Twinsen rt=908013318 rg=gilden.kaempfer
~#! tid=908013318
Oder es stuende er "Reisst an Serwas owa" (auf gut wienerisch).
Uebersetzt: er salutiert:))

Saladin

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



Re: Re: Gruessen (Urthona, 10. Okt 1998, 12:41:21):
~#! rn=Saladin rt=908014018 rg=gilden.kaempfer
~#! tid=908013318
Keine Chance, dies ist ein deutschsprachiges Mud :)

Urthona senft in Richtung Schmarrn

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



Re^3: Gruessen (Mahatmu, 10. Okt 1998, 13:23:37):
~#! rn=Urthona rt=908016081 rg=gilden.kaempfer
~#! tid=908013318
Bei den Zwergen kann salutieren ja in Ermangelung von Trollen im MUD zu
aehnlichen Effekten wie bei Detritus (siehe T-Shirt Motiv Sommer 97)
fuehren :)

Hart genug ?
Gloin

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



Re^4: Attribut-Beschraenkung fuer NPCs (Zardoz, 10. Okt 1998, 21:46:33):
~#! rn=Mango rt=907163958 rg=gilden.kaempfer
~#! tid=907051217
Ich finde die Einschraenkung der Stats bei NPCs sehr vernuenftig, haette ich
eigentlich schon von anfang an machen sollen, also Klappe halten, Boing hat
recht :)

Zardoz

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



Re: Gruessen (Lug, 11. Okt 1998, 01:27:42):
~#! rn=Twinsen rt=908013318 rg=gilden.kaempfer
~#! tid=908013318
Hmja,

also ich persoenlich wuerde es besser finden, wenn da: tritt Dich in den Arsch
stuende...

Aber man kann ja nicht alles haben.
Lug

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



Re: Gruessen (Ringor, 12. Okt 1998, 09:19:51):
~#! rn=Twinsen rt=908013318 rg=gilden.kaempfer
~#! tid=908013318
/def -p20 -F -q -mregexp -t' gruesst Dich\\.$' kindischer_Trigger_1=\ 
    /substitute %{PL} salutiert vor Dir.

Ringor denkt . o O(wer's braucht ...)

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



Re: Gruessen (Tunixgut, 12. Okt 1998, 11:35:43):
~#! rn=Twinsen rt=908013318 rg=gilden.kaempfer
~#! tid=908013318
Ich plaediere fuer ein 'xxx kriecht Dir in den Arsch'...
's Karate-Zwerchle...

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



Re: Gruessen (Key, 12. Okt 1998, 13:25:19):
~#! rn=Twinsen rt=908013318 rg=gilden.kaempfer
~#! tid=908013318
*waelz*
"klingt nicht so hart wie wir kaempfer nun mal sind"
*lach*
Der war gut .)

Motz net mach Vorschlaege ...
Und lass die Witze

Key

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



Waffenskills (Boing, 12. Okt 1998, 15:45:17):
Hallo,

ich hab mal wieder an der Gilde rumgeschraubt, diesmal waren die Waffenskills
an der Reihe. Was ich gemacht habe, laesst sich schlecht erklaeren ohne
in technische Details zu gehen, deswegen versuch ich das gleich gar
nicht. Auf alle Faelle hoffe ich, dass sich durch diese Aenderung die
letzten Aenderungen an VS und SMS wieder rueckgaengig machen lassen.
Insgesamt hat die Aenderung fuer euch wohl Vorteile und Nachteile,
probiert es einfach aus.
  Boing

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



Re: Re: Gruessen (Acrimon, 14. Okt 1998, 18:33:49):
~#! rn=Ringor rt=908176791 rg=gilden.kaempfer
~#! tid=908013318
Du kannst Dir ja eigentlich das gesamte Mud ueber TF emulieren, wozu brauchst
Du dann noch das MG?
Hast Du was gegen ernstgemeinte Vorschlaege?
Selbst wenn es Dich nicht im Kampf staerker macht - Stimmung ist auch etwas,
was im MG seinen Platz hat und evt verbessert werden kann.

Mein Vorschlag:
Jeder kann sich seine Salutier-Meldung, die er erzeugt, selber setzen.
Beispiel:
> salutiermeldung knallt seine Hacken zusammen.
Du salutierst jetzt mit: Acrimon knallt seine Hacken zusammen.

Obs realisiert wird, liegt in Boings Ermessen.

Acrimon, der Rote Ritter

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



Re^3: Gruessen (Ringor, 14. Okt 1998, 21:40:29):
~#! rn=Acrimon rt=908382829 rg=gilden.kaempfer
~#! tid=908013318
Nein, ich habe nichts gegen ernst gemeinte Vorschlaege. 

Nur bin ich der Meinung, dass sich eine einzelne Person, der eine einzelne
Meldung nicht gefaellt, weil sie "nicht hart genug" klingt, die gewuenschte
"viel coolere" Meldung lieber fuer sich in ihrem Client setzen sollte.

Aber meine Vorschlaege scheinen ja nicht ernst gemeint zu sein. Es sei denn,
ich fordere eine Aufwertung der Kaempfer. Oder hab ich Dich da falsch
verstanden?

Ich bin durchaus fuer stimmungsfoerdernde Aenderungen. Aber das wird
sicherlich nicht dadurch erreicht, dass sich jeder seine Meldung fuer das
Salutieren selbst setzen kann. Ich denke da z.B. an ein "Du salutierst jetzt
mit: <Name> zeigt Dir seinen Mittelfinger".

Und der umgekehrte Fall, dass sich jeder definieren kann, wie er das
Salutieren eines anderen sehen will, fuehrt a) zu unnoetigem Lag und b) laeuft
es genau auf den von mir vorgeschlagenen Trigger heraus. 

Ringor

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



Re^4: Gruessen (Muadib, 15. Okt 1998, 11:37:54):
~#! rn=Ringor rt=908394029 rg=gilden.kaempfer
~#! tid=908013318
hmm spricht was dagegen, dass jemand sich seine salutiermeldung auf den
beruehmten mittelfinger setzt, wenn im gegenzug die Zalkh'Batar dafuer
verweise verteilen duerften ?

muadib

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



Re^5: Gruessen (Lyra, 15. Okt 1998, 14:06:07):
~#! rn=Muadib rt=908444274 rg=gilden.kaempfer
~#! tid=908013318
nein, bestimmt nicht. aber wie willst du alle gemeinen meldungen automatisch
bestrafen?

lyra gruesst immer noch nach 0/8/15

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



Re^6: Gruessen (Acrimon, 15. Okt 1998, 16:09:55):
~#! rn=Lyra rt=908453167 rg=gilden.kaempfer
~#! tid=908013318
automatisch?
Muadib hat nicht "NPC" geschrieben, sondern "Zalkh'Batar". Da ist nichts
automatisch ... naja, bis auf TF :-)

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



Re: Re: Gruessen (Twinsen, 15. Okt 1998, 21:23:05):
~#! rn=Ringor rt=908176791 rg=gilden.kaempfer
~#! tid=908013318
hae ?
twingo

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



Re^3: Gruessen (Twinsen, 15. Okt 1998, 21:24:47):
~#! rn=Acrimon rt=908382829 rg=gilden.kaempfer
~#! tid=908013318
Das ist sogar sehr gut :)
warum mach ich immer so dumme einzeiler ? *grins*
Twingo :)

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



Re^4: Gruessen (Zardoz, 17. Okt 1998, 17:52:40):
~#! rn=Twinsen rt=908479487 rg=gilden.kaempfer
~#! tid=908013318
Also ich finde es empoerend, wenn hier ploetzlich ein paar Trves beim Gruessen
kreativ werden! Sowas gehoert sich einfach nicht, es wird gegruesst nach
Dienstvorschrift! Also wirklich...

Zdrozz :)

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



Re^5: Gruessen (Twinsen, 17. Okt 1998, 17:54:40):
~#! rn=Zardoz rt=908639560 rg=gilden.kaempfer
~#! tid=908013318
Gegen ein bisserl Kreativitaet ist ja wohl nichts einzuwenden oder ?
Es muss ja ned jeder was anderes haben sondern jeder das gleiche aber nicht
das was es jezt ist.

Twingo

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



Re^6: Gruessen (Teddy, 17. Okt 1998, 19:52:40):
~#! rn=Twinsen rt=908639680 rg=gilden.kaempfer
~#! tid=908013318
Der wiederspricht, gleich rausschmeissen.

Teddy ;)

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



Re^7: Gruessen (Astar, 22. Okt 1998, 14:07:46):
~#! rn=Teddy rt=908646760 rg=gilden.kaempfer
~#! tid=908013318
Jaja, gleich rausschmeissen, so wie es sich fuer Kaempfer gehoert... ;)

Astar

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



Re^8: Gruessen (Lug, 24. Okt 1998, 01:00:05):
~#! rn=Astar rt=909065266 rg=gilden.kaempfer
~#! tid=908013318
Hmpf,

ich bin begeistert von Ringors Vorschlag mit dem Mittelfinger! Wuerde auch
viel besser zu mir passen. Weg mit den Hacken! ;)
 FidKG
Lug

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



Re^4: Gruessen (Birdy,  3. Nov 1998, 18:15:07):
~#! rn=Ringor rt=908394029 rg=gilden.kaempfer
~#! tid=908013318
Was haltet ihr davon, Meldungen zu sammeln und jeden Tag wird nach Zufallswahl
eine Meldung fuer alle genommen, am naechsten wieder durch Zufall eine usw. ?

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



Re^5: Gruessen (Novastorm,  3. Nov 1998, 19:00:18):
~#! rn=Birdy rt=910116907 rg=gilden.kaempfer
~#! tid=908013318
Dagegen!

In jeder militaerisch angehauchten Gruppe ist das Gruessen nichts, was
irgendwie dem Zufall zu ueberlassen ist. 
Es sollte einheitlich sein und das es dem Gruessenden gefallen soll liegt auch
nicht in den Grundbedingungen dafuer, schliesslich ist es eine
Respektbezeugung, welche selten angenehm sind.

     Nova*

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



Re^6: Gruessen (Sharia,  3. Nov 1998, 20:19:33):
~#! rn=Novastorm rt=910119618 rg=gilden.kaempfer
~#! tid=908013318
soll ich mal nen paar ausfuehrungen ueber ZUFAELLE halten ?

Nee besser nicht... gruesst ihr mal schoen :-)

Sharia betet inbruenstig.

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



"Erhoehe-Programm" (Arath, 16. Nov 1998, 16:05:22):
Hi Kaempfer,

da es mich immer ziemlich nervt, bei den Anforderungen fuer den naechsten
Level die zig Faehigkeiten in Prozente umzurechnen, was soll/ist betrifft
(Fuer Ist gibts ja skills.tf von Ringor, aber fuer soll nicht), schreib ich
grad ein Quick-and-dirty-hack, das folgendermassen aussieht:
Man loggt seine eigenen Faehigkeiten ("schaetz") und die Ausgabe von "frag
briesel nach befoerderung" in eine Datei und jagt diese durch das Programm,
das daraus Soll/Ist herausfiltert und schoen in einer Tabelle mit
Prozentwerten anzeigt, sodass man sofort sieht, was man noch wiegut zum
naechsten Level koennen muss.
Daher meine Bitte, besonders an die "kleineren" Spieler: Schickt mir doch
bitte mal moeglichst viele "Anforderungen", die Briesel so von sich gibt, also
z.B. "Deine Geschicklichkeit muss mindestens einen Wert von 17 haben" etc.,
damit ich das alles einbauen kann.

Gruss und Dank,
Arath

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



Lernen beim Erfolg (Boing,  2. Dez 1998, 15:43:46):
Ab sofort lernt man, wenn man eine Technik hervorragend kann auch aus
besonders gut gelungenen Aktionen. Diese Lernrate ist allerdings sehr
gering, also erhofft euch da nicht zuviel.
Der Vorschlag kam von Mindblade und wurde von Silvana genehmigt.
  Boing

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



Re: Lernen beim Erfolg (Belgariad,  2. Dez 1998, 15:44:42):
~#! rn=Boing rt=912613426 rg=gilden.kaempfer
~#! tid=912613426
Coole Sache... Lob an Mitwirkenden.

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



Re: Lernen beim Erfolg (Tarina,  2. Dez 1998, 15:53:58):
~#! rn=Boing rt=912613426 rg=gilden.kaempfer
~#! tid=912613426
Passend zur Jahreszeit:

Luja, sag i!

Tarina

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



Schnellkampf (Boing,  9. Dez 1998, 12:55:46):
Der Schnellkampf wurde jetzt geaendert, so dass die Anzahl der Attacken
von der tatsaechlich gezueckten Waffe abhaengt und nicht von der Waffe,
mit der der Schnellkampf begonnen wurde. Dank an Morgoth der den
entscheidenden Tip hatte. 
Damit da ueberhaupt etwas passiert MUSS man einmal ende machen, geht leider
nicht anders.
  Boing

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



Re: Schnellkampf (Lug, 10. Dez 1998, 03:05:22):
~#! rn=Boing rt=913208146 rg=gilden.kaempfer
~#! tid=913208146
Hah!

Alles was dazu dient das Gehampel abzustellen ist zu begruessen.

WmdZ
Lug

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



Aehem... (Lug, 12. Dez 1998, 03:35:37):

Wie waers denn, wenn man ab 100% auch seine Kampftaktik vorher (!) einstellen
kann? Ist doch wohl nicht unlogisch Defensiv oder Offensiv in ein Gefecht zu
gehen. Warum das nur im Kampf gehen soll ist mir unklar.

Senf
Lug

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



Kaempfer und Magie (Tower, 17. Dez 1998, 15:07:21):
Da wir Trves ja bekanntermassen keine magiefaehigkeiten habe, passt das
Schaetz so nicht mehr zu unserer Gilde. Da es ja wie ein "Spell" abgewehrt
werden kann, es also Magie ist, wuerde ich vorschlagen, das ebenfalls an die
Yrdmagie zu koppeln und dafuer die Zahl der Yrdsteine die zur Verfuegung
stehen zu vergroessern.

Tower (immer noch der Meinung das Schaetz der Kaempfer ist KEIN Spell)

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



Re: Kaempfer und Magie (Ringor, 17. Dez 1998, 15:09:58):
~#! rn=Tower rt=913907241 rg=gilden.kaempfer
~#! tid=913907241
Du hast es also noch immer nicht verstanden?

Ringor

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



Re: Kaempfer und Magie (Boing, 17. Dez 1998, 15:15:15):
~#! rn=Tower rt=913907241 rg=gilden.kaempfer
~#! tid=913907241
1. Was hat die Anzahl der Yrdsteine damit zu tun, ob das schaetzen Magie
   ist oder nicht?
2. Das Schaetzen kann nicht wie ein "Spell" abgewehrt werden.
3. Der Teil, der tatsaechlich 'abgewehrt' (oder sagen wir besser
   verschleiert) werden kann, benutzt nur die selbe Implementierung, die
   bei richtigen Spells auch benutzt wird.
 Boing

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



Re: Kaempfer und Magie (Lug, 18. Dez 1998, 03:04:37):
~#! rn=Tower rt=913907241 rg=gilden.kaempfer
~#! tid=913907241

Tower?

Scheissidee.

Kurz
Lug

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



Re: Re: Kaempfer und Magie (Jasonrigid, 18. Dez 1998, 17:16:52):
~#! rn=Lug rt=913950277 rg=gilden.kaempfer
~#! tid=913907241

Lug?

Schlechte Umgangsformen.

Fast genauso kurz
Jason

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



Re^3: Kaempfer und Magie (Lug, 19. Dez 1998, 00:39:51):
~#! rn=Jasonrigid rt=914001412 rg=gilden.kaempfer
~#! tid=913907241

Jason?

Mir scheissegal, Du Niete!

Laenger
Lug

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



Re^4: Kaempfer und Magie (Jasonrigid, 19. Dez 1998, 15:09:52):
~#! rn=Lug rt=914027991 rg=gilden.kaempfer
~#! tid=913907241

Lug?

War mir klar, ist mir aber auch scheissegal!

Lang genug
Jason, spart sich Beschimpfungen

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



Re^5: Kaempfer und Magie (Lug, 20. Dez 1998, 00:35:43):
~#! rn=Jasonrigid rt=914080192 rg=gilden.kaempfer
~#! tid=913907241

Hah,

Du 0 hast Beschimpfen doch nicht ueber 20%...

Kurz
Lug

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



Re^6: Kaempfer und Magie (Jasonrigid, 21. Dez 1998, 11:37:36):
~#! rn=Lug rt=914114143 rg=gilden.kaempfer
~#! tid=913907241

Lug?

Dafuer aber Beschimpfungen belaecheln auf 100%

Jason laechelt

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



Re^7: Kaempfer und Magie (Lug, 22. Dez 1998, 00:47:40):
~#! rn=Jasonrigid rt=914240256 rg=gilden.kaempfer
~#! tid=913907241


Boah,

verdammich, wo hab ich nur meinen Kopf? Lile, haste ihn gesehen?
Ich vergass, dass Du superdupertoll bist, JasonR.

Es wird nie nie wieder vorkommen...
Lug

P.S.: Und wenn ich Dich beleidigt haben sollte, naja hier ist meine
Entschuldigung und nochwas:
Geh in die Klerikergilde...

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



Befoerderung ... (Lillebror, 31. Dez 1998, 20:48:06):
Huhu Trves,
ich habe eben meinen Bericht bei Kloiren ausgehaengt und bitte Euch nun, ihn
durchzulesen und zu bewerten. Wenn ich dann endlich befoerdert werden kann,
kommt das gerade den Takal'Mor unter Euch sehr zugute, denn ich darf dann
ENDLICH wieder ausbilden!
Danke schonmal, ciao
                              - Lillebror -

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



Teamkampf (Boing, 14. Jan 1999, 09:04:46):
Ich habe die Gilde so umgestellt, dass die meisten Techniken die
sich direkt auf einen Gegner auswirken (Kampftritt, Finte, Block etc.)
nicht mehr aus der zweiten Reihe wirken. Waffenwurf bildet hier natuerlich
die Ausnahme.
Falls es Probleme gibt, sagt Bescheid.
  Boing

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



Lebensgeschichten (Zardoz, 18. Jan 1999, 11:43:49):
Ich hab mir mal ein paar alte Log-files angeschaut und bin ueberrascht wie
wenig Leute eine Lebensgeschichte bei der Anmeldung zur Gilde schreiben. Hier
mal eine Auswahl an witzigen Geschichten:

KyleValkan:
Ich wurde als Bastard geboren. Erst mit 18 Jahren erfuhr ich meine wahre 
Herkunft und mein Geheimnis. Ich trage den Schluessel zu einer maechtigen 
Waffe in mir. Nun bin ich auf der Suche nach dem "Hammer der Valkans".

Selissa:
Also, am Anfang waren da meine Eltern die es miteinander getrieben hatten. 
Nicht lange darauf schluepfte ich aus meiner Mutter aus. Darauf folgte eine 
fuer mich sehr schwere Zeit, ich musste am laufenden Band Abenteuer bestehen 
und den Maennern willig sein. Doch nun hoff ich all dem ein Ende zu bereiten.

Dakhath:
Schon baertig geboren, entwickelte ich mich bald zu einem Musterzwerg. 
Naja, fast. Ich trinke weniger als die anderen, ich metzel weniger als 
die anderen und ich sterbe weniger als die anderen. Ansonsten bin ich 
aber ein richtiger Zwerg.

Nietzsche:
bin ne ganz arme stulle

Galdor:
Es hat sich in meinem bisherigen Legen noch nicht sehr viel ereignet, 
dies will ich mit meinem Eintritt in die Gilde der Tves aendern. 
Ich moechte grosse Abenteuer erleben und so gross und stark werden 
wie mein Vorbild, Anakin ;).

Acrimon:
Acrimon hat sehr frueh eine starke Identitaet bekommen. Er war zum Roten 
Ritter geboren und durchstreift seitdem das MorgenGrauen auf der Suche 
nach Unrecht und Unglauben, um diese erbarmungslos auszurotten und Recht 
und Ordnung wiederherzustellen. Mittlerweile fuerchten sich nicht nur 
viele NPCs vor ihm, sondern auch namhafte Seher und Magier 
(insbesondere Zuerileu). Acrimon hat im Gebirge ein sehr verstecktes 
Tal entdeckt und dort eine riesige unterirdische Burg gebaut.

Trunceff:
Ich habe ein zu schlechtes Gedaechtnis, um mich auch nur an ein wichtiges 
Erlebnis hier zu erinnern. Vielleicht hat das auch andere Gruende. Ach 
ja, ich bin erfolgreich aus der Karate-Gilde ausgetreten.


Morrigan:
Als Kind hatte ich nie nen Teddy und in der Schule waren sie alle gemein zu 
mir und nu mach ich sie alle nieder, jawoll!


Rantanplan:
GEboren als juengster aus einem Wurf von sieben, von Oetti gerettet aus 
der Verdammnis und seitdem immer brav hinterher getrottet, SCHiess Leben !


Turtle Nesaja
An einem der ganz normalen Tage kam die kleine arme Nesaja aus 
einem goldenen Ei gekrochen, doch niemand war da um sie zu 
empfangen....sie war Waise.....sie durchstreifte das Mg und lernte eine 
menge lieber leute kennen :) ......doch eines Tages traf sie auf den 
furchteinfloessenden Drachen Tyrion. Doch sie hatte keine Angst vor ihm, 
sondern aergerte ihn und schloss ihn schnell in ihr kleines Herz :)


Cyradis:
Als erfolglose Karateka aufgewachsen, an der Wolpiquest gescheitert, 
einige Quests ohne Kaempfen geloest, jetzt moecht mich mal schlagen. 


Berth:
Tja, leider leide ich an einer teilweisen Amnesie, ich kann mich nur an die 
letzten beiden Jahre erinnern. Damals - so etwa im Dezember - wurde ich 
als Traeger einer damaligen Spielerin eingestellt, die sich inzwischen 
zu diesen seltsamen Magiern zaehlt. Danach hatte sie keine Verwendung 
mehr fuer mich und ich wurde mehr oder weniger vergessen. Bis mein kleiner 
satanischer Bruder Atoz unterstuetzung braucht und sich ploetzlich an mich 
erinnerte. Seitdem helfe ich ihm wo ich kann. Sei es Sachen tragen oder mein 
spaerlichen Faehigkeiten einsetzen um ihn zu heilen oder so...


Lahm:
Entstanden, um waehrend eines Lags Illian Sachen zu bringen und jetzt der 
Versuch, endlich ein guter Kaempfer zu werden


Toeter:
Mein Leben begann in einer kalten Winternacht, der Mond verdunkelte sich 
und die Woelfe heulten. Ein eisiger Wind strich um den Ort meiner 
Niederkunft und in der Ferne grollte verhalten der Geist des Donners. 
Aber es war ein schoener Tag, denn es war mein Geburtstag. (to be continued)


One:
Ach ich hab keine richtige Lebensgeschicht. Ich bin nur ein armer kleiner 
Zwerg, der Gold haeufen will und damit gluecklich wird. Solange ich denken 
kann bekomme ich Gold von anderen Spielern und darf es behalten. Dunkle 
Stunden in meinem Leben gab es genug, genau immer dann, wenn ich mein Gold 
wieder abgeben musste. Das war immer hart. 


Krellja:
Bisher war ich ein frustrierter Zauberer, der vom ewigen Ueben genervt war. 
Habe zum Ausgleich froehlich wandernd das MG erkunded.


Vismahel:
Geboren, zwischendurch in den Ruinen der Akademie umgekommen...  
Zwei abenteuer: Waldbauernhof und Schrat


Betunie:
Seit ich das Licht der Welt erblickte , verbrachte ich die meiste Zeit 
meines Lebens damit , auf dem Balkon eines unbedeutenden Magiers rumzustehn. 
Da mir das Leben als Topfpflanze zu langweilig wurde und ich nur 
unregelmaessig geduengt und gegossen wurde ( mein Herrchen war die 
meiste Zeit idle ) , entwurzelte ich mich und machte mich in die Welt 
auf, um Abenteuer zu erleben.



Tantal:
Ich wurde von einem Zwerg und einer Zwergin geboren, auch wenn es bei 
Zwergen shwer faellt die Geschlechter aus ein anderzuhalten, mit 253 
des Herrn. Eigendlich wollte ich ja Halb-Elf werden, aber das war bei 
zwei Zwergeneltern etwas schwirig. Als ich etwa 100 Jahre alt war hatte 
ich auch gelernt Waffen zu benutzen und so zog ich durch die Gegend und 
pruegelte mich von einem Abenteurer ins naaechste. Eines Tages traf ich 
Zaknafein, der mich dann zu dieser Gilde schickte, damit ich meine 
Kampffaehigkeiten richtig entfalten kann. Und jetzt bin ich hier und 
fuelle dieses tolle Formular aus.


Sprotte:
Meine Mutter war ein Hering, mein Vater ein faehiger 
Kampffisch. In meiner Jugend hatte ich viel zu leiden. Meine Krankheiten 
waren Hautschuppenroeteln, Blubberbums und Wildwasserpocken. Doch nach 
einiger Zeit und guter Schuledurch meinen Vater sowie gute Tips meines 
Freundes Skipper habe selbst ich kaempfen gelernt.


Ezo:
Als junger Zwerg die HE unsicher gemacht, bald Bierschuettler geworden, 
an die Grenzen der Zaubersprueche gestossen, bei den Zauberern versauert 
und schliesslich hier gelandet


Hamlet:
Mein Vorstrafenregister ist zu lang um hier alles aufzuzaehlen. Im 
polizeilichen Fuehrungszeugniss ist jedoch alles hargenau aufgelistet.



Soran:
Ich habe keine Vergangenheit, keine Gegenwart und keine Zukunft. Ich bin 
aus der Asche des Krieges entstanden, geboren um ein einziges Ziel zu 
erreichen. Die Kunst des Kaempfens zu perfektionieren und den Tod ueber 
andere zu bringen ist meine Bestimmung.



Morgon:
Auf Grund meiner dunklen Aura, (Wenige koennen sich damit anfreunden 
staendig von Krankheiten befallen zu werden.) ist mir sozialer Kontakt 
ein wenig fremd. Ich hoffe, dass ich als Kaempfer mich nicht mit Spielern 
herumschlagen muss, sondern Ihnen meinen Sohn, den Tod, zeigen kann. Und 
noch was: ICH HASSE ZWERGE! (Vor allem meine Eltern, die sind ja daran 
schuld. :(   )




Steve:
Also, irgenwann kam ich zur Welt, aber die Welt war trist und leer, also 
schuf ich mir ein paar Elfen, die ich niedermetzeln konnte


Dolph:
Ich wuchs bei meinen Adoptiveltern in Port Vain auf. Als Sohn eines 
Schmiedes kannte ich in Kuerze die verschiedenen Waffengattungen und 
auch Ruestungen. Nach einem Meuchelmord an meinen Eltern wanderte ich 
ziellos umher und gewann durch die Abenteuergilde viel Erfahrung im 
Schwertkampf und der Magie. Jedoch fuehlte ich mich in dieser Gilde 
unterfordert, so dass ich in jungen Jahren aufbrach, um einen neuen 
Platz in einer anderen Gilde zu erlangen. Die freudige Botschaft ueber 
die Existenz der Kaempfergilde, lies mich keine Minute zoegern, mich auf 
eine lange beschwerliche Reise zu begeben. Ich hoffe ich werde dieser Gilde 
gute Dienste erweisen und fuer sie bis zu meinem Tod gegen jede Gefahr 
verteidigen.


Slirper:
Die Lebensgeschichte eines Kerls, der durch das geschickte Zusammenwirken 
von endlich vielen 0en und 1en entstanden ist? Nein, das krieg ich niemals 
in diese Eingabezeile hier...



Ciao Zardoz

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



Mal wieder ein Artikel hier (Lyra, 22. Feb 1999, 10:46:17):
Nach dem hier ja schon ewig nichts mehr stand, muss ich doch mal wieder einen
Thread los lassen und einige Flames mit meinem Vorschlag provozieren ;)

Und hier ist er:

Wie waere es, wenn wir die Moeglichkeiten zur 1. Hilfe haetten? Ich stelle es
mir so vor:
nicht nur fuer uns Trves gelten.

Also schreibt mal Eure Meinungen und Flames.

Lyra, die die Trves aufruetteln will

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



Re: Mal wieder ein Artikel hier (Hobo, 22. Feb 1999, 10:53:23):
~#! rn=Lyra rt=919680377 rg=gilden.kaempfer
~#! tid=919680377
Seid Ihr Kaempfer oder Rot-Kreuz-Schwestern?

  Hobo

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



Re: Re: Mal wieder ein Artikel hier (Highlander, 22. Feb 1999, 10:54:16):
~#! rn=Hobo rt=919680803 rg=gilden.kaempfer
~#! tid=919680377
"I am a fighter, not a doctor."  (McCoy reverse)

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



Re: Mal wieder ein Artikel hier (Lyra, 22. Feb 1999, 10:54:46):
~#! rn=Lyra rt=919680377 rg=gilden.kaempfer
~#! tid=919680377
Leider ist ein Teil meines Postings nicht aufgetaucht. Darum noch mal.

Also 1. Hilfe in diesem Sinne:
Bedingungen:
man kaempft gerade nicht und man hat ein Medi-Pack

Verlauf:
Treffen beide Bedingungen zu, benoetigt man etwas Zeit und Konzentration, um
die Wunde(n) zu saeubern und zu verbinden.

Erfolg:
die Regenerationsrate der LPs wird fuer einen bestimmten Zeitraum erhoeht (und
nur die).

Misserfolg:
Blutvergiftung, Wundbrand...

Ich hoffe, diesmal ist alles da

Lyra

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



Re: Mal wieder ein Artikel hier (Ariana, 22. Feb 1999, 12:56:28):
~#! rn=Lyra rt=919680377 rg=gilden.kaempfer
~#! tid=919680377
waere schon nett, vor allem bei fehlenden gliedmassen, was ja oefter vorkommt
*GGG*

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



Re: Re: Mal wieder ein Artikel hier (Ariana, 22. Feb 1999, 12:59:01):
~#! rn=Ariana rt=919688188 rg=gilden.kaempfer
~#! tid=919680377
ich meine, mir als zauberer gefaellt v.a. wundbrand ausgesprochen gut *GG*

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



Re. fehlende Gliedmassen (Sigura, 22. Feb 1999, 20:11:12):

Bei fehlenden Gliedmassen schlage ich die Erweiterung der Funktion
des Klebers in der SSP vor...

Dr. Sigura Brinkmann :)

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



Re: Re: Mal wieder ein Artikel hier (Ark, 22. Feb 1999, 20:50:32):
~#! rn=Lyra rt=919680886 rg=gilden.kaempfer
~#! tid=919680377
Dagegen. Eher fuer Einfuehrung eines (schon mal angeplanten?!) Skillsystems.
Kaempfer sind Kaempfer, keine Ambulanz, Kleriker haben schliesslich auch noch
eine Daseinsberechtigung. Bin auch gegen einen allgemeinen Entgifte-Skill,
komme damit aber eh zu spaet und kaempfe sowieso gegen Windmuehlen, also was
soll's :-)


              *** ARK * the * Magnificent ***


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



Re^3: Mal wieder ein Artikel hier (Mindblade, 22. Feb 1999, 21:16:11):
~#! rn=Ark rt=919716632 rg=gilden.kaempfer
~#! tid=919680377
Dafuer hast Du ja genug neue Krankheiten geschaffen, die mit "entgifte" nicht
zu behandeln sind!;)

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



Re^4: Mal wieder ein Artikel hier (Rochus, 22. Feb 1999, 21:19:25):
~#! rn=Mindblade rt=919718171 rg=gilden.kaempfer
~#! tid=919680377
Es gibt auch genug ALTE Krankheiten, die mit
"entgifte" nicht zu behandeln sind :-)

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



Re^4: Mal wieder ein Artikel hier (Ark, 22. Feb 1999, 21:40:43):
~#! rn=Mindblade rt=919718171 rg=gilden.kaempfer
~#! tid=919680377
Genau.


              *** ARK * the * Magnificent ***


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



Re^5: Mal wieder ein Artikel hier (Novastorm, 23. Feb 1999, 11:15:28):
~#! rn=Ark rt=919719643 rg=gilden.kaempfer
~#! tid=919680377
Gab es sowas wie 1. Hilfe nicht bereits durch die Benutzung eines gewissen
Tools ?
Und das irgendein 'nichtausgebildeter Arz^H^HKleriker die schlimmen Sachen
behandeln sollte, halt ich fuer so ziemlich nett :) aber unnoetig.
       Nova

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



Re: Re: Mal wieder ein Artikel hier (Jiddu, 24. Feb 1999, 00:38:40):
~#! rn=Lyra rt=919680886 rg=gilden.kaempfer
~#! tid=919680377
also Dann will ich sicher nicht, dass jemand an mir den Skill trainert! ;)
SIcher ne nette PK-Methode :)
Jiddu.

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



Re^3: Mal wieder ein Artikel hier (Teddy, 25. Feb 1999, 20:28:14):
~#! rn=Ariana rt=919688341 rg=gilden.kaempfer
~#! tid=919680377
Naja, son Chaosball Feuer koennte auch so manche Wunde ausbrennen und mit Eis
koennte man die KNochen ruhigstellen ;-)

Teddy

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



Re^3: Mal wieder ein Artikel hier (Teddy, 25. Feb 1999, 20:29:40):
~#! rn=Ark rt=919716632 rg=gilden.kaempfer
~#! tid=919680377
Kleriker werden immer ne Daseinsberechtigung haben, irgendwen muss ich als
Chaot ja schaenden ;)

Teddy

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



Stufe 24 ??? (Soyo, 22. Mar 1999, 08:27:03):
Hi Leute !

Nicht das mich das jucken wuerde, aber tut sich in unserer Gilde
eigentlich auch was ?? Ok ok, ich bin villeicht noch Stufe 17 (bald 18)
aber ich schau halt auch ein bischen in die Zukunft !

Gruss Soyo - will auch Bescheid wissen

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



Re: Stufe 24 ??? (Boing, 22. Mar 1999, 09:49:24):
~#! rn=Soyo rt=922091223 rg=gilden.kaempfer
~#! tid=922091223
Es tut sich was, ueber den Zeitpunkt kann ich aber keine Auskunft geben.
  Boing

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



Re: Re: Stufe 24 ??? (Tsunami, 22. Mar 1999, 12:07:56):
~#! rn=Boing rt=922096164 rg=gilden.kaempfer
~#! tid=922091223
Es tut sich was, und zwar ganz fest :) Bendeigid, Tilly und meine Wenigkeit
sind fleissig dran. Ueber einen definitiven Zeitpunkt zu reden, waere
allerdings noch etwas verfrueht.

  Tsunami.

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



Donnerstag Metzeltag (Tower, 22. Mar 1999, 18:36:56):
Hi,
ich suche Leute, die Donnerstag Nachmittag/Abend Zeit und Lust haben etwas in
der neuen FE zu metzeln 
Genaue Zeit wird sich ergeben.
Ziel Hez`Zoaht killen..

Tower.

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



Re^3: Stufe 24 ??? (Soyo, 22. Mar 1999, 20:12:59):
~#! rn=Tsunami rt=922104476 rg=gilden.kaempfer
~#! tid=922091223
Ok ok, das reicht mir schon :)

Soyo - sich jetz mal an Stufe 18 machend

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



Re: Donnerstag Metzeltag (Hobo, 23. Mar 1999, 20:11:41):
~#! rn=Tower rt=922127816 rg=gilden.kaempfer
~#! tid=922127816
Tststs, 
Du musst ihn Dir wirklich noch ein paar mal anschauen. Du hast irgendwo im
Namen einen Sonnengott vergessen :)

 Hobo - unsichtbar und arbeitend

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



Bericht (Tower,  2. Mai 1999, 16:53:27):
Zur Information :
Ich habe soeben meinen Pflichtschuldigsten Bericht zum Thema: "Das
Xanti-Schwert und wie man es bekommen kann" ausgehaengt.

Mit bitte um freundliche Beachtung,
Tower.

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



Bericht (Matis, 12. Mai 1999, 08:55:58):
Hallo Trves,

endlich habe auch ich meinen Bericht ans Schwarze Brett gehangen.
Also auf in die Gilde, fleissig lesen und fair bewerten :o).

Matis

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



Parade (Boing, 26. Mai 1999, 09:47:06):
Ich hab nen kleinen Bug in der Parade gefixed, dadurch kann sich das
Verhalten evtl. deutlich aendern. Ich weiss es ehrlichgesagt nicht, und
ich weiss nicht einmal in welche Richtung. Probiert's einfach aus.
  Boing

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



Re: Parade (Ark, 27. Mai 1999, 22:00:19):
~#! rn=Boing rt=927704826 rg=gilden.kaempfer
~#! tid=927704826
He cool, darf ich jetzt auch mal so ein paar ... Sachen anschliessen?
Probiert es einfach aus ... klingt gut, haehae ;^)


              *** ARK * the * Magnificent ***


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



Fernabfrage der Faehigkeiten (Apsu, 31. Mai 1999, 19:24:00):
Was spricht eigentlich dagegen, dass man bei Briesel per Teilemit von Ferne
seine Skills abfragen kann? Besonders, da es ja auch noch einige Nichtseher
unter den Trves gibt :) und der weg zur Gilde fuer diejenigen doch lang und
muehselig ist.

Nur mal so fragend
Apsu

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



Re: Fernabfrage der Faehigkeiten (Apsu, 31. Mai 1999, 19:26:41):
~#! rn=Apsu rt=928171440 rg=gilden.kaempfer
~#! tid=928171440
Argl ich wollte sagen, nicht faehigkeiten sondern Befoerderungsanforderungen

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



Re: Fernabfrage der Faehigkeiten (Novastorm, 31. Mai 1999, 19:26:49):
~#! rn=Apsu rt=928171440 rg=gilden.kaempfer
~#! tid=928171440
Bist Du Kaempfer oder Kleriker ? Willst Du rumjammern oder Deine Geduld und
sonstigen (Un)Faehigkeiten verbessern ? Willst Du wirklich immer nur
Annehmlichkeiten ? 
     Nova, frueher... _frueher_ war alles besser

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



Re: Re: Fernabfrage der Faehigkeiten (Friedel, 31. Mai 1999, 19:38:26):
~#! rn=Apsu rt=928171601 rg=gilden.kaempfer
~#! tid=928171440
Wie waers denn wen man die Anforderungen in PV in der aufnahmestell abfragen
kann?

Friedel findet das er auch mal einen guten Gedanken hatte ;)

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



Re^3: Fernabfrage der Faehigkeiten (Zook, 31. Mai 1999, 19:39:46):
~#! rn=Friedel rt=928172306 rg=gilden.kaempfer
~#! tid=928171440
Zook hat mal gehoert, dass man sich die Werte auch mit Papier und Bleistift
notieren kann.

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



Re^4: Fernabfrage der Faehigkeiten (Zillus, 31. Mai 1999, 19:40:28):
~#! rn=Zook rt=928172386 rg=gilden.kaempfer
~#! tid=928171440
Papier und Bleistift? *gruebel* In welchen Zeitalter lebst Du ueberhaupt  :)

Z.

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



Re^5: Fernabfrage der Faehigkeiten (Rochus, 31. Mai 1999, 19:41:14):
~#! rn=Zillus rt=928172428 rg=gilden.kaempfer
~#! tid=928171440
Im Zeitalter des papierlosen Bueros (siehe c't 11/99).

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



Re^4: Fernabfrage der Faehigkeiten (Friedel, 31. Mai 1999, 19:41:18):
~#! rn=Zook rt=928172386 rg=gilden.kaempfer
~#! tid=928171440
Friedel hat das mal gemacht aber als er nach einer weile draufschaute konnte
er nicht glauben das er taktik 7% ueben soll und ist in die gilde gerannt

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



Re^5: Fernabfrage der Faehigkeiten (Apsu, 31. Mai 1999, 19:42:00):
~#! rn=Zillus rt=928172428 rg=gilden.kaempfer
~#! tid=928171440
heb beine
heb beine
heb beine
heb beine
heb beine
heb beine
heb beine
heb beine
heb beine
heb beine
heb beine
heb beine
Besonderst wo gewisse Wurstgilden *zu Zillus rueberschiel :))* sowas haben,
und besagte nicht so weit ab vom Schuss sind.


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



Re^4: Fernabfrage der Faehigkeiten (Mupfel, 31. Mai 1999, 19:42:08):
~#! rn=Zook rt=928172386 rg=gilden.kaempfer
~#! tid=928171440
$ hilfe papier
Dazu ist keine Hilfe verfuegbar.
$ hilfe bleistift
Dazu ist keine Hilfe verfuegbar.

tja. das duerfte manche schon ueberfordern :-)

-mupfel-

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



Re^5: Fernabfrage der Faehigkeiten (Golas, 31. Mai 1999, 19:42:18):
~#! rn=Friedel rt=928172478 rg=gilden.kaempfer
~#! tid=928171440
man kann sich seinen trainigsplan auch per mail schicken.
ich mach das so und habe so immer alles aktuell und bei der hand

golas

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



Re^5: Fernabfrage der Faehigkeiten (Zillus, 31. Mai 1999, 19:42:32):
~#! rn=Friedel rt=928172478 rg=gilden.kaempfer
~#! tid=928171440
Naja, tretet doch der Chaos-Gilde bei, wir koennen unsere Faehigkeiten aus der
Ferne abfragen :-))

Z.


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



Re^6: Fernabfrage der Faehigkeiten (Novastorm, 31. Mai 1999, 19:43:42):
~#! rn=Zillus rt=928172552 rg=gilden.kaempfer
~#! tid=928171440
a) Nettes Skript, Apsu.
b) Ich geb Zillus Recht, die Chaoten brauchen auch mal gute Maenner!
     Nova

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



Re^7: Fernabfrage der Faehigkeiten (Zillus, 31. Mai 1999, 19:46:20):
~#! rn=Novastorm rt=928172622 rg=gilden.kaempfer
~#! tid=928171440
Ach was. Bleib bei den Kaempfern und bleib ne Wurst. Wir sind schon genug gute
Maenner bei den Chaoten :-)) Und sogar ein paar Frauen ;)

Zillus denkt . o O (teile kruuolq mit faehigkeiten...) ;-))

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



Re^8: Fernabfrage der Faehigkeiten (Bendeigid,  1. Jun 1999, 10:19:27):
~#! rn=Zillus rt=928172780 rg=gilden.kaempfer
~#! tid=928171440
Tach Maenners,

und von mir aus, eh es Geschrei gibt, auch die "anderen"), ich tu mal meinen
Senf, der allerdings diesmal (fast) absolut ist:

1) Wir sind KEINE Magiergilde hier, also nix mit telepathischen Kraeften, wie
sie Kruuolq oder Llystradingens haben 
2) Hier sind doch hoffentlich keine Memmen anwesend, hm????
3) Briesel ist der einzige, der fuer Befoerderungen zustaendig ist, und er
wird diesen Job auch absolutistisch weitermachen. Ergo: ER bestimmt allein
ueber die Anforderungen fuer den naechsten level, und das wird er an niemand
(schon gar nicht diesen abgehalfterten Typen in Port Vain) abgeben.
4) Ein bissel Sport tut unseren Neuen ganz gut; dann merkt maan die
Alkoholexzesse in der Kneipe nicht so.
5) Die, bei denen die Anforderungsliste zu lang wird sind entweder zu faul (da
hilft das rennen) oder schon Seher (dann haben sie das Portal).

Langer Liste kurzer Sinn:
Nein, eine Fernabfrage wirds nicht geben, weder fuer Faehigkeiten noch fuer
Befoerderungsanforderungen. Punkt.

Z'par Servu,
              Bendeigid


P.S.: Vielleicht koennte man ja mal ein schnelles Kampfruderboot bauen, das
den Direktverkehr vom Kontinent zu der einzig wirklich wichtigen Insel
aufnimmt?
Nein, ich nicht, bin kein Inselmagier und werde es auch nicht!

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



Re^9: Fernabfrage der Faehigkeiten (Gnome,  1. Jun 1999, 20:37:05):
~#! rn=Bendeigid rt=928225167 rg=gilden.kaempfer
~#! tid=928171440
hi,

na endlich... ein mann, ein wort.
ich dachte schon, das geheule hier hoert niemals auf... memmen, allesamt!
schon die 'abkuerzung' nach PV ist der pure luxux.
fernabfrage? pffffffff! (c) Zephyr.

kampfruderboot? nette idee... aber nur, wenn man selber rudern muss! :)

gnOme singt: frueher war alles viel besser...

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



Fernabfrage der Skills (Srabi,  2. Jun 1999, 10:32:34):
Hi Kaempfers,

werdet doch Seher, dann seid Ihr schneller bei Brieseltrim, ansonsten hilft da
wirklich
Zettel und Bleistift. Ich war auch mal Spieler und mir hat es nichts
ausgemacht,
mal oefters Briesel meinen Besuch abzustatten.
Fuer die Leute, die zu faul sind, empfehle ich die eine oder andere Spellgilde
mit Abfrage der Spells aus
der Ferne.

Gra'Takal Srabi, der Streitwart

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



Re: Fernabfrage der Skills (Novastorm,  2. Jun 1999, 10:33:20):
~#! rn=Srabi rt=928312354 rg=gilden.kaempfer
~#! tid=928312354
Oh, danke Srabi! Endlich einer der genau den Punkt trifft, ohne dabei
vergangenes zu wiederholen!
    Nova

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



Re^10: Fernabfrage der Faehigkeiten (Mahatmu,  2. Jun 1999, 11:40:10):
~#! rn=Gnome rt=928262225 rg=gilden.kaempfer
~#! tid=928171440
Die Idee find ich Klasse :) Kampfruderboot ab Osterbachmuendung. Nur mit
gelungenem Sprung erreichbar und mindestens drei Trves muessen rudern :)
Der Erfolg des Kampfsprungs entscheidet ueber ... naja, springt doch da
mal einfach so ;-)

Mahatmu

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



Re^9: Fernabfrage der Faehigkeiten (Amaryllis,  2. Jun 1999, 12:08:20):
~#! rn=Bendeigid rt=928225167 rg=gilden.kaempfer
~#! tid=928171440
voll und ganz meine Meinung!

Ich waer sogar dafuer, die Abkuerzung umzudrehen, d.h. nicht von der Gilde
nach PV, sondern umgekehrt... dann sind diese memmenden Hausmeister ruckzuck
in der Gilde, weg vom Schuss und koennen da in Ruhe vermodern, ohne jemanden
zu stoeren *kicher*

Feechen Ama*
PS: --> Schmarrn?

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



Re^10: Fernabfrage der Faehigkeiten (Householder,  2. Jun 1999, 13:25:37):
~#! rn=Amaryllis rt=928318100 rg=gilden.kaempfer
~#! tid=928171440
Eigentlich sollten die Seha unter euch doch besondas hachte Kerle sein und
sowas wie ein Pochtal in der Naehe der Gilde uebahaupt nicht noetig haben.
Also: schafft das doofe Sehapochtal ab, damit sich zeigt welche Kaempfa
uebahaupt richtige Maenna sind !!!

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



Re^11: Fernabfrage der Faehigkeiten (Householder,  2. Jun 1999, 13:26:23):
~#! rn=Householder rt=928322737 rg=gilden.kaempfer
~#! tid=928171440
ach so fuer die Kaempfer*innen* muss natuerlich weitahin ein Portal zur
Verfuegung stehen ...

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



Ferabfrage (Hight,  2. Jun 1999, 16:34:55):
Man was macht ihr es euch so kompliziert ... wozu gibt es copy an paste ...
man copier den muell den briesel so abgibt und paste es in den zmud editor ...
dann safe as und die sache is gegessen ... oki tfnutzer habens dann schwer ...
abba das is pech *eg*

hight seine anforderungen verzweifelnd

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



Re: Ferabfrage (Shannara,  2. Jun 1999, 16:40:58):
~#! rn=Hight rt=928334095 rg=gilden.kaempfer
~#! tid=928334095
Es gibt auch durchaus Leute, die mit einen telnet vorlieb nehmen muessen.

Naja, fuer was gibts halt Editoren :)

Shannara

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



Massaker-quest (Tower,  2. Jun 1999, 17:26:46):
Ein paar Ideen und Vorschlaege zur Gildenquest Massaker in der SSP.

Da ja seit erstellen der Quest doch eine ganze Reihe von NPC dazugekommen sind
(und nicht nur in der Parawelt), koennte man die Anforderung heraufsetzen.
Da Seher auch noch die NPC der Parawelt (ich sage nur Glasbene) auch noch
nutzen koennen, sollten Seher automatisch noch etwas mehr NPC killen muessen)

Optional koennte man dann fuer Seher die "echte" Massakerquest machen, bei der
man jeden (ohner ausnahme) NPC in der SSP killen muss, als Belohnung darf man
sich dann mit einem Orden schmuecken.

Tower, heute mal mit Vorschlaegen.

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



Re: Massaker-quest (Householder,  2. Jun 1999, 18:21:38):
~#! rn=Tower rt=928337206 rg=gilden.kaempfer
~#! tid=928337206
ihr seid ja alle metzelgeile psychopathen :-(

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



Re: Ferabfrage (Apsu,  3. Jun 1999, 18:38:02):
~#! rn=Hight rt=928334095 rg=gilden.kaempfer
~#! tid=928334095
Von wegen. Cut&Paste geht auch mit TF



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



Re: Re: Ferabfrage (Hight,  3. Jun 1999, 20:32:16):
~#! rn=Apsu rt=928427882 rg=gilden.kaempfer
~#! tid=928334095
Woher soll ich das wissen *g* ich benutz tf nur im aeusersten notfall ,o)

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



Yrdsteine (Apsu,  4. Jun 1999, 20:11:14):
Selbst auf die Gefahr hin, Memme genannt zu werden, Hab ich die letzte Woche
_keinen_ Yrdstein mehr bekommen. Hat das nen bestimmten Grund, dass Krnivos so
schlecht bestueckt ist? es waere schoen, wenn der beschwerliche Weg nicht
_ganz_ umsonst ist.

Apsu, rummemmend

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



Yrdsteine und so (Srabi,  5. Jun 1999, 18:06:01):

Also, es scheint immer noch einige Kaempfer zu geben, die nicht wissen, dass
nur eine bestimmte Anzahl Yrdsteine vorhanden ist. Wenn man mal einen
ergattert, braucht man ihn auch nicht, wenn er braun ist zu vernichten,
sondern man frage einen lieben netten Zauberer seines vetrauens, ob er ihn
wieder aufladen kann.

Gra'Takal Srabi

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



Re^5: Yrdsteine (Sting,  5. Jun 1999, 19:17:33):
~#! rn=Trug rt=928602805 rg=gilden.kaempfer
~#! tid=928519874
Also, ich kann beide Gruppen verstehen. Fuer Friedel + Co. (die Spieler) ist
es klar nervig, dass ihre Gilde auf ner Insel liegt, die nicht gerade
supergeil zu erreichen ist. Andererseits frage ich mich: warum muss man so oft
dahin ? Es reicht doch wenn man zum befoerdern hingeht und den anderen
amtlichen Dingen, wie Ausbilder/Auszubildende eintragen lassen. Die
Seherportale heissen deshalb Seherportale weil sie fuer Seher sind. Und Seher
sollen deshalb Vorteile im Spiel haben, weil sie dazu auch einiges tun
mussten. (Fast) jeder Spieler der mal Seher werden will, wird das auch
schaffen, der eine frueher, der andere spaeter, und dann koennen auch sie die
Vorzuege eines Sehers wie zb. die Portale geniessen. Wenn sie es dann sind,
freuen sie sich um so mehr. Und wem das mit der Kaempfergilde zb. zu stressig
ist als Spieler: Nun, dann bleibt Abenteurer bis ihr Seher seid (das geht auch
wunderbar) oder wechselt die Gilde, es gibt auch andere sehr schoene Gilden,
die auch sehr aktiv sind (wie zb. CHAOS).

Sting
PS: Ein bisschen Werbung muss sein :)

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



Re^6: Yrdsteine (Trug,  5. Jun 1999, 19:39:34):
~#! rn=Sting rt=928603053 rg=gilden.kaempfer
~#! tid=928519874
Mh sting, das hast du schon gut erklaert, nur moechte ich dich bei einer Sache
korrigieren:

Ich beziehe da bei keiner Seite die Stellung, nur waren eben die Artikel
vielleicht zu einzeilernd oder zu gehaessig. 

Naja, was solls. 

Trug.

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



Re^6: Yrdsteine (Tarina,  5. Jun 1999, 19:48:03):
~#! rn=Sting rt=928603053 rg=gilden.kaempfer
~#! tid=928519874
Also vielleicht habt ihr den Anfang des Threads nicht mehr ganz in Erinnerung:
Apsu forderte die Leute auf, ihn Memme zu nennen. Dieser Aufforderung sind die
Leute nachgekommen. Man achte auf den Smilie hinter den einzeiligen
Kommentaren.

Mal abgesehen davon: ich kann das hoellisch gut verstehen mit dem Yrdstein.
Ich war erst level 17, als ich zu den Trves ging. Aber habt ihr mal ueberlegt,
dass es solche Huerden fast in jeder Gilde gibt? Guckt Euch mal die
Karatekas an. Wenn die wissen wollen, ob sie Fortschritte gemacht haben, dann
muessen sie mit der Karawane nach Fernwest (aua!).
Das ist mit Sicherheit noch viel unkomfortabler als die Reise nach TI.

Der kuerzeste Weg zum Struv ist uebrigens (argl!) "ende". Ich hab das als
Spieler haeufig genug gemacht. Es ist zwar nicht so toll fuers Feeling, fuehrt
aber sehr schnell in den Struv.

Was auch hilft: wenn man mal wieder ohne yrdstein da rumsteht: den naechsten
Trves fragen, ob er einem einen besorgen kann. Wenn man Trves ist, sollte man
eine gewisse Portion Gemeinschaftsgeist haben und solchen Bitten auch mal
nachkommen.

Tarina

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



Re: Re: Massaker-quest (Muaddib,  6. Jun 1999, 10:47:25):
~#! rn=Householder rt=928340498 rg=gilden.kaempfer
~#! tid=928337206
Sonst waeren wir kaum Kaempfer geworden, oder? 

Mua

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



Re^9: Yrdsteine (Nevok,  7. Jun 1999, 01:25:48):
~#! rn=Tarina rt=928699517 rg=gilden.kaempfer
~#! tid=928519874
es waere wenigstens nett, wenn es NACH dem reboot/crash Yrdsteine gaebe......

Nevok steinlos

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



Re^8: Yrdsteine (Novastorm,  7. Jun 1999, 07:39:35):
~#! rn=Alpha rt=928699381 rg=gilden.kaempfer
~#! tid=928519874
Womit wieder einer genau den Punkt getroffen haette.
Danke Alpha.
     Nova

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



Re: Yrdsteine und so (Gor,  7. Jun 1999, 14:21:21):
~#! rn=Srabi rt=928598761 rg=gilden.kaempfer
~#! tid=928598761
Nicht nur Zauberer koenen Steine aufladen. Die kann jeder Kaempfer selber
aufladen mit einem kleinen Aufwand von Konzentrationskraft.

Gor Exkaempfer

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



Offizielle Entschuldigung (Hight,  8. Jun 1999, 18:12:28):

Soderla. Nachdem mich am Sontag einige Leute zu ernst genommen haben bzw. mich
missverstanden haben, entschuldige ich mich hiermit fuer den kommentar, dass
Kaempfer Level 23 in 4 wochen ne mindestanzahl an Ausbilderkills abarbeiten
muessen. 
Es war nicht so gemeint *winselndineineeckezurueckzieh*

Ich hatte nur an dem Tag wenig zeit und mir haben nurnoch die kills zur
befoerderung gehfehlt ... nerja wie auch immer 

cya Hight

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



Ende des Fusswegs (Bendeigid, 10. Jun 1999, 08:48:21):
Sorry, aber das mit dem Weg nach Fernwest hat in dieser Rubrik NICHTS
verloren. Wer den thread weiterverfolgen will, siehe d.unterwelt. 

Z'par Servu,
               Bendeigid

P.S.: Hier will ich NICHTS mehr zu dem Thema hoeren... sorry, dass ihr das
nochmal lesen muesst (bei nn)

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



Re: Ende des Fusswegs (Golas, 11. Jun 1999, 13:28:40):
~#! rn=Bendeigid rt=928997301 rg=gilden.kaempfer
~#! tid=928997301
danke *g*
golas, der grade den ganzen kram in d.unterwelt gelesen hat :)

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



Re^9: Yrdsteine (Caramon, 22. Jun 1999, 00:40:09):
~#! rn=Novastorm rt=928733975 rg=gilden.kaempfer
~#! tid=928519874
Ohne jetzt persoenlich zu werden ... aber Deine Artikel strotzen auch nicht
grad von Intelligenz ... die kannste dir auch sparen. 

Cara* ... auch nurn Zweitie

PS: meiner is genau so sinnlos, aber vielleicht erreicht der ja, das andere
mit son schwachsinn aufhoern.

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



Update der www-seiten! (Gnome, 22. Jun 1999, 22:09:07):
hi trves,

ohja, lasset euch gesagt sein: nicht nur bei den chaoten passiert was,
sondern auch bei uns! wenn auch nicht in diesem enormen umfang, so doch
aber klein und fein.

beim koru-tschakar: es gibt seit heute ein update der trves-seiten!
schoener, schneller, breiter, tief... aeh, lassen wir das :)

ich moechte mich dafuer ganz herzlich bei Guard bedanken, der mal wieder
ziemlich viel zeit und muehe dafuer aufgewendet hat.

auch moechte ich an dieser stelle mal wieder die neulinge unter uns
drauf hinweisen, dass sich ein besuch der seiten wirklich lohnt.

bugs, typos und lob as usual to Guard or me (na gut, auch kritik, wenns
denn sein muss :))

gnOme

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



soso... (Unasai, 23. Jun 1999, 12:29:25):
Begebenheiten eines Kaempferlebens unter der Gewaltherrschaft alternder
Magier...
[Trves:Bendeigid] Hinter List ist ja auch schon alt
[Trves:Unasai sieht hier noch ein Alterchen]
[Trves:Bendeigid droht Unasai mit seinem Krueckstock]
[Trves:Unasai wirft Bende* sein Gebiss hninterher

BUMM! Ein dicker Fles rauscht an Deinem Kopf vorbei und rummst auf den Boden.
Haarscharf!

[Trves:Bendeigid] tschuess maenners und der rest
Du denkst o 0 ( jetzt kommt der her und haut mich )
Ein waberndes Gebilde erscheint urploetzlich vor Dir.
Bendeigid I S T  J E T Z T  N I C H T OD J E T Z T   N I C H T   M E H R   D A

hm...wie auch immer..aus der Ferne werfen ist feige Bende*, obwohl ich mich
wohl lieber nicht mit Dir anlegen sollte *duck*
 
*eine stillstehende und ordnungsgemaess salutierende Una*

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



FAQ auf den WWW-Seiten (Lyra, 24. Jun 1999, 11:02:38):
nach dem Hinweis auf die ueberarbeiteten WWW-Seiten, habe ich sie mir nochmal
angeschaut. Dabei ist mir eins aufgefallen:

Anforderung fuer GL 22: Spielerlevel 41 und 20 MEPs

Hm, mom bin ich GL 20 und Briesel* will von mir fuer GL 21 20 MEPs haben.
Heisst das, dass ich dann fuer GL 22 keine weiteren EPs brauch? ;-)

Lyra auf der Suche nach der Wahrehit

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



Re: FAQ auf den WWW-Seiten (Gor, 24. Jun 1999, 12:20:57):
~#! rn=Lyra rt=930214958 rg=gilden.kaempfer
~#! tid=930214958
War GL 22 nicht 30 MEPS und GL 23 40 MEPS?

Gor gruebelnd

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



Re: FAQ auf den WWW-Seiten (Novastorm, 24. Jun 1999, 12:23:26):
~#! rn=Lyra rt=930214958 rg=gilden.kaempfer
~#! tid=930214958
Stand da nich was, bei Fehlern oder Bugs per Mail?
Auch egal, wenigstens was zu lesen.
    Nova

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



Re: Re: FAQ auf den WWW-Seiten (Guard, 24. Jun 1999, 13:28:24):
~#! rn=Novastorm rt=930219806 rg=gilden.kaempfer
~#! tid=930214958
klar stand da was von mails, aber hier wird nur gemutmasst und nix definitives
gesagt und da mach ich auch nix :)

Guard

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



Faq (Twinsen, 24. Jun 1999, 13:29:52):
auf welcher Seite steht was man fuer die naechste Stufe braucht ?

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



Re: Faq (Apsu, 24. Jun 1999, 13:40:56):
~#! rn=Twinsen rt=930223792 rg=gilden.kaempfer
~#! tid=930223792
Und sowas fragt ein Seher mit GL 13????

Apsu, kopfschuettelnd

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



Re: Re: FAQ auf den WWW-Seiten (Lyra, 24. Jun 1999, 13:41:22):
~#! rn=Novastorm rt=930219806 rg=gilden.kaempfer
~#! tid=930214958
Ich kenne ja nicht die Anforderungen fuer GL 22., nur eben die fuer GL 21. Und
der rest ist Vermutung.

Ausserdem steht so auch mal wieder was bei uns in der MPA ;-)

Lyra schreibt mehr als eine Zeile

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



Re: Faq (Lyra, 24. Jun 1999, 13:42:22):
~#! rn=Twinsen rt=930223792 rg=gilden.kaempfer
~#! tid=930223792
In der FAQ stehen nur einige Beispiele fuer die Anforderungen.

Lyra jetzt doch kurz

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



Re: Re: Faq (Guard, 24. Jun 1999, 13:44:02):
~#! rn=Lyra rt=930224542 rg=gilden.kaempfer
~#! tid=930223792
die seiten sollen schliesslich auch keine KL fuer die Kaempferkarriere sein
...

Guard

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



Re^3: Faq (Lyra, 24. Jun 1999, 13:47:59):
~#! rn=Guard rt=930224642 rg=gilden.kaempfer
~#! tid=930223792
Hm, zu mindestens bei mir will briesel neben Spielerlevel und EPs auch noch
was von Gildenquests und einen bestimmten Stand von Ausbildung/Ausbilden und
Waffen(technik-)beherschung wissen.
Ist das bei EUch nicht so?

Lyra qualmt schon der Kopf vom vielen Denken

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



Re^4: Faq (Novastorm, 24. Jun 1999, 13:49:45):
~#! rn=Lyra rt=930224879 rg=gilden.kaempfer
~#! tid=930223792
Niemals nich. Als vorbildliche Kaempfer haben wir alle Gildenquesten, als
fleissige Metzler besitzen wir mehr als genug Eps und als unvorstellbare
Uebeskri^H^H^H^H^Holzpuppenbenutzer brauchen wir nie ueben.
Soweit alles klar ?
   Nova --> schmarrn

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



Kniestos und Kampftritt (Twinsen, 26. Jun 1999, 17:39:15):
Ich mache schon seit 3 Jahren Kickboxen und es gibt fort einen tritt bei dem
man zuerst einen Kniestoss macht und dann das Bein durchdrueckt und einen
"kampftritt" macht also sollte man doch den kniestoss mit dem Kampftritt
koppeln was dann natuerlich den Kampftritt runtersetzt wenn man davor einen
Kniestoss gemacht hat ist ja klar also dass man schwaecher zuhaut.

Ich dachte es geht :)

Twingo!

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



Re: Kniestos und Kampftritt (Sting, 26. Jun 1999, 18:54:36):
~#! rn=Twinsen rt=930411555 rg=gilden.kaempfer
~#! tid=930411555
Sind die Kaempfer Kickboxer ?

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



Re: Kniestos und Kampftritt (Samtpfote, 26. Jun 1999, 20:45:03):
~#! rn=Twinsen rt=930411555 rg=gilden.kaempfer
~#! tid=930411555
Kickboxer laufen nicht in schwerer Ruestung und allen moeglichen Mordswerkzeug
rum.

Ausserdem ist das MUD ein SPIEL (ok, fuer manche mehr, um Flames vorzubeugen)
und nicht unbedingt die Realitaet. Oder hat jemand schon das Weghier rumlaufen
sehen? :)

Alles mal vorsichtig anfassen. Samtpfote.

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



Re^3: FAQ auf den WWW-Seiten (Boing, 27. Jun 1999, 16:56:36):
~#! rn=Lyra rt=930224482 rg=gilden.kaempfer
~#! tid=930214958
Ich kenne die Anforderungen fuer GL 21, 22 UND 23 ... ich verrat sie
aber nicht.
  Boing

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



Re^4: FAQ auf den WWW-Seiten (Tarina, 27. Jun 1999, 20:39:33):
~#! rn=Boing rt=930495396 rg=gilden.kaempfer
~#! tid=930214958
Das ist nichts neues :-)

Tarina

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



www-seiten (Guard, 30. Jun 1999, 13:02:47):
hi,

es soll ja leute geben, die per modem ins netz gehen oder uralte browser
benutzen oder textbrowser oder so. na jedenfalls gibbet jetzt die
kaempferseiten auch als textversion. wer keine frames kennt, bekommt sie
automatisch und sonnst halt ueber den link auf der home-page

hoffe , ess gefaellt :)

Guard (KEIN Kaempfer!)

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



Re: www-seiten (Gor, 30. Jun 1999, 13:04:31):
~#! rn=Guard rt=930740567 rg=gilden.kaempfer
~#! tid=930740567
Ich hab mir mal die Seiten angeschaut. Eventuell waere es empfehlenswerts wenn
du die JPGs ein bisschen kleiner machen wuerdest vor allen Dingen die Kraegen
brauchen ewig :))

Gor hat auch noch ein Modem

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



Bericht fuer Gildenstufe 23 (Boing, 26. Jul 1999, 16:30:55):
Es gibt wieder Themen ...
  Boing

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



Winterburg (Zephyr, 26. Jul 1999, 22:19:47):
Hi Ihrs!

Diejenigen von Euch, die sich im Kampf gegen schmutziges Geschirr,
Kruemel aufm Boden, rumstehende Tische/Baenke o.ae. beteiligt
haben, moegen sich mit einer mail bei mir melden, fuer den
Fall, dass ich jemand uebersehn hab :)

Gruss, C4

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



Kleiner Bug (Nachtwind, 27. Jul 1999, 13:55:43):
Hi Trves,

wer in letzter Zeit "ende" gemacht hat und danach feststellte, dass
der Schnellkampf irgendwie nix mehr ist, der moege jetzt nochmal
ende machen. Wer mit Schnellkampf mehr als 2 Attacken/Runde 
hinbekommt, ist nicht betroffen und kann das hier ignorieren.

Nachtwind.

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



Was lange waehrt... (Tower, 27. Jul 1999, 14:55:19):
Tja, da issie nun, die Bescherung...
Danke noch mal an alle, die meinen Bericht bewertet haben !

Tower, zur Zeit juengster Zalkh`Batar

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



Re: Was lange waehrt... (Lug, 28. Jul 1999, 03:45:15):
~#! rn=Tower rt=933080119 rg=gilden.kaempfer
~#! tid=933080119

Welcher Depp hat denn den Bericht bewertet? Loescht EUCH!

Bah Humbug (die Replies ahnend)
Lug

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



Re: scheiss zauberer (Patryn,  5. Aug 1999, 04:31:31):
~#! rn=Nevok rt=933814911 rg=gilden.kaempfer
~#! tid=933814911
und es hat sich doch gelohnt :)
man glaubt gar nicht, wie manche leute abjammern koennen auf trves *grins*
wer den einen oder anderen zauberer fragt, es war schliesslich ein team
von 8, der sollte auch ein log erhalten.
ich glaub, dass nevok uns eh alle fuer potentielle hitlerabkoemmlinge haelt,
ist ja schon bekannt, aber in dem log gibts noch viel mehr lustige sachen :)

------
patryn

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



Re: Re: scheiss zauberer (Bendeigid,  5. Aug 1999, 08:29:04):
~#! rn=Patryn rt=933820291 rg=gilden.kaempfer
~#! tid=933814911
Kurze Zwischenfrage, eh das hier ausartet:
Was soll das in gilden.kaempfer? Das gehoert nach
Jammerlappen.Gewaesch.Extra_dumm. 
Ich hab keine Ahnung, was Nevok da ueber die Leber gelaufen ist, aber ein paar
Anmerkungen muessen sein:
1. Das Struv bleibt so, wie es ist. Wir verwenden ausser Yrdmagie KEINE
magischen Effekte, und ein unangreifbarer NPC ist mir jedenfalls nur schwer
anders erklaerbar. Die NPCs bleiben also auch weiter metzelbar.
2. Eine Diskussion darueber, ob und wenn ja wieviel die Zauberer zu stark sind
gehoert hier nicht her. Das sollte zu Entwicklung oder in die entsprechenden
Mails der Balancemitglieder. 
3. Ein freundlicherer Tonfall waere evtl sogar geneigt, Patryn zum Ueberdenken
seiner (unangreifbaren) Gildenleute zu bringen. Bei aggressivem Ton haette ich
auch keine Lust, darueber auch nur naxchzudenken.
4. werde ich alle weiteren Flennartikel und flames verlegen (lassen).

Z'par Servu,
            Bendeigid

P.S.: Wenn sich fuer das  Struvmetzeln 8 (!) Leute zusammentun, dann finde
ich, hat das Struv seinen Zweck erfuellt: ->Multi<-UserDungeon...

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



Re: scheiss zauberer (Boing,  5. Aug 1999, 13:00:37):
~#! rn=Nevok rt=933814911 rg=gilden.kaempfer
~#! tid=933814911
Findest Du diesen Artikel nicht leicht daneben, Nevok?
  Boing

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



Re: Re: scheiss zauberer (Nevok,  5. Aug 1999, 19:18:46):
~#! rn=Boing rt=933850837 rg=gilden.kaempfer
~#! tid=933814911
mag sein dass ich ueberreagiert habe
ok
mag sein dass der artikel daneben ist, leicht oder nicht
ok
natuerlich isses klasse, wenn sich viele leute zum metzeln zusammenfinden,
aber wieso in raeumen die von anderen gebraucht werden, egal ob einer oder 20?
nerja egal, was gesagt is is gesagt und laesst sich, auch durch loeschen des
artikels, wohl net zuruecknehmen
passiert

Nevok, fast verweislos, gut ausgeschlafen und durch die leidige quest endlich
durch

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



Re^3: scheiss zauberer (Novastorm,  8. Aug 1999, 13:26:37):
~#! rn=Nevok rt=933873526 rg=gilden.kaempfer
~#! tid=933814911
Damned, wieso fehlt der lustigste Artikel (seinerseits wohl der erste zu dem
Thema) in dieser Rubrik?
Schade, schade...
  Nova

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



Re^4: scheiss zauberer (Lug, 10. Aug 1999, 01:16:18):
~#! rn=Novastorm rt=934118797 rg=gilden.kaempfer
~#! tid=933814911

Hmpf,

da stimme ich Nova unbedingt zu...

Kopfschuettelnd
Lug

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



An die Trinker unter uns ... (Golas, 11. Aug 1999, 14:56:40):
Bier unser

Ich glaube an das Bier,
kommend von der Brauerei,
ruhend unter der Theke.
Von dannen es kommen wird
zu loeschen unseren Durst.
Serviert von der Kellnerin,
niedergelaufen in den Magen,
aufgestiegen zum Gehirn,
Verwirrung stiftend
bis zum naechsten Morgen.
Bier unser,
das Du bist im Glase,
gesegnet werde Dein Erfinder!
Mein Rausch komme,
mein Filmriss geschehe,
wie im Bierzelt
so auch in der Kneipe.
Und vergib uns unsere Schulden,
wie auch wir vergeben unseren Wirten.
Und fuehre uns nicht in die Milchbar,
sondern gib uns die Kraft zum Weitertrinken!
Denn Dein ist der Rausch
und die Bierseligkeit in Ewigkeit

P R O S T

Golas mal wieder seinem Vater dankend :)))

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



Re: An die Trinker unter uns ... (Leibniz, 11. Aug 1999, 16:49:04):
~#! rn=Golas rt=934383400 rg=gilden.kaempfer
~#! tid=934383400
hmm, gehoert das nicht zu uns bierschuettlern?

Leibniz wild mit ihrem "RUELPSE fuer Schuettler" Faehnchen wedelnd

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



Re: An die Trinker unter uns ... (Grimman, 12. Aug 1999, 13:34:06):
~#! rn=Golas rt=934383400 rg=gilden.kaempfer
~#! tid=934383400
Einzig die Milchbar war schlecht gewaehlt, ist ne sehr nette Kneipe in Berlin
...

MBIMG , GrimMan *nick zustimmend*

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



Struvverteidigung (Bendeigid, 20. Aug 1999, 06:36:03):
Bekanntmachung!

Da es in der letzten Zeit haeufiger zu wuesten Uebergriffen seitens dieses
schlampigen Luschenhaufens von Pseudomagienutzern gekommen ist, die meist zu
Siestazeiten das Struv angriffen, sah ich mich gezwungen, einige Verordnungen
zu erlassen.
1) Das Pennen waherend der Wache wird mit Todesstrafe bestraft!
2) Das Tor darf ab sofort nicht nur von der zustaendigen Wache, sondern auch
von jedem/r Zalkh'Batar geschlossen/geoeffnet werden. Letzteres natuerlich nur
in Friedenszeiten oder fuer einen Ausfall!
3) Die Kneipe wurde angewiesen, bekannten Feinden des Struvs keine Naturalien
auszugeben.
4) Bulrik Thoran wird auf Anfrage das Tor nach Krisenzeiten oeffnen.

5) Wer nochmal Zauberer erwischt im Struv erwischt hat sie umgehend mit einem
Tritt in den Allerwertesten zu begruessen!

Brieseltrim Grieselhuck, Kommandant
Hinter List, Standortaeltester
Bulrik Thoran, Wachoffizier vom Dienst

P.S.: Bendeigid haben wir gezwungen, dies zu veroeffentlichen...

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



Re: Struvverteidigung (Patryn, 20. Aug 1999, 11:47:00):
~#! rn=Bendeigid rt=935130963 rg=gilden.kaempfer
~#! tid=935130963
und wann wird der wachraum endlich als arena-area gekennzeichnet?
oder seid ihr etwa zu feige dafuer...
wieviel quellcode-vorteile brauch euer armer haufen denn nu noch im struv?

------
patryn, von soviel feigheit angewiedert ;)

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



Re: Struvverteidigung (Hight, 20. Aug 1999, 15:11:24):
~#! rn=Bendeigid rt=935130963 rg=gilden.kaempfer
~#! tid=935130963
hmmmm zu punk 5 *g* heisst das das wenn wir zaubis finden die radau machen
oder so wir sie einfach toeten durefen bzw versuchen duerfen sie zu toeten
*eg*

hight

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



Re: Re: Struvverteidigung (Gnome, 20. Aug 1999, 16:56:18):
~#! rn=Patryn rt=935149620 rg=gilden.kaempfer
~#! tid=935130963
wir brauchen solange vorteile, bis wir euch in punkto gilden-gerechtigkeit
aufgeholt haben.
gebt euren zweigwuersten nen stups und uns zutritt zum zauberberg, dann
reden wir weiter.

gnOme

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



Metzeln in Port Vain ? (Sublime, 22. Aug 1999, 02:19:09):
Moin Kaempfers,

Als eines netten Abends (es war genau der 22. August um 3.55 Uhr)
meine Freundin nach Hause fuhr und ich mit Mythran metzeln
gehen wollte, da wurde es uns in der SSP zu langweilig. Also
musste ein neues Metzelgebiet her. Aber, wie das halt so ist,
ist es schwer da eine Wahl zu treffen. Die Eismine ist noch
nicht erforscht, die SSP wird langweilig, Moron ist lachhaft,
Orkhausen noch zu schwer...Also kamen wir auf Port Vain. Hmm, die
Stadt wo man die meiste Zeit mit Einkaufen und Chatten ver-
bringt ? Da muesste es auch was zu metzeln geben ... Aber es kam
ganz ganz anders ! Sam Harkwind ist lachhaft, Hans auch, Susi er-
schreckt auch nicht mit ihrem Feuerbaellen und ihren Pfeilen, von
den Muellschluckern hat man ja eh nix zu befuerchten. Frustriert
brach Mythran die Connection zum Morgengrauen ab und ich ent-
schloss mich mal was zu schreiben und um zu gucken, ob sich da
vielleicht was aendern koennte...

Deshalb wuerde ich mich als Kaempfer ueber staerkere und mehr NPCs in
Port Vain freuen.

Sublime


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



Re: Metzeln in Port Vain ? (Gast1, 22. Aug 1999, 05:19:59):
~#! rn=Sublime rt=935288349 rg=gilden.kaempfer
~#! tid=935288349
ROCHUS! :)

Da is ne freiwillige!

Gruesse
:)

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



Re: Metzeln in Port Vain ? (Pardauz, 22. Aug 1999, 16:28:33):
~#! rn=Sublime rt=935288349 rg=gilden.kaempfer
~#! tid=935288349
Metzeln in Port Vain? IMHO nicht ganz der richtige Ort dafuer.
Nimm dir doch mal die Zwergenfestung oder das Hobbitdorf vor ...
oder warte noch ein weilchen, denn fuer Leute wie Dich
werden geade neue Gaenge und Hoehlen in der Unterwelt erschlossen.

Pardauz, _noch_ nicht im Terrorteam Pa*

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



Re: Re: Struvverteidigung (Nonne, 23. Aug 1999, 09:15:06):
~#! rn=Patryn rt=935149620 rg=gilden.kaempfer
~#! tid=935130963
Die Quellcode-Vorteile liegen wohl eher in den Gilden-Files der Zauberer, als
in denen der Struv, aber das scheint hier ja keiner bemerken zu wollen.

Nonne, Zauberer-Hasser aus Ueberzeugung ;-)

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



Waffenschaerfen (Boing, 23. Aug 1999, 15:28:12):
Beim Waffenschaerfen sollte man jetzt mit hohem Skill durchschnittlich
weniger Versuche brauchen, um die Waffe maximal zu schaerfen.
  Boing

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



Re: Waffenschaerfen (Gnome, 23. Aug 1999, 15:53:27):
~#! rn=Boing rt=935422092 rg=gilden.kaempfer
~#! tid=935422092
endlich...
danke boing! :)

gnOme

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



Re: Re: Waffenschaerfen (Lyra, 24. Aug 1999, 13:47:44):
~#! rn=Gnome rt=935423607 rg=gilden.kaempfer
~#! tid=935422092
Ich erinnere mich noch genau:
Du schaerfst das Kuechenmesser. Die Klinge sieht jetzt wieder recht
gefaehrlich aus. Damit ist das Kuechenmesser jetzt  garnicht geschaerft.

Lyras Wetzstein glueht immer noch

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



Re: Waffenschaerfen (Jasonrigid, 25. Aug 1999, 12:35:39):
~#! rn=Boing rt=935422092 rg=gilden.kaempfer
~#! tid=935422092
Bravo Boing *applaudier*

Jason, der es auch immer satt hatte, mit einem waffenschaerfskill von 95 %
fuenf mal hintereinander von sehr gut auf sehr gut zu schaerfen

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



Felinen als Ausbilder (Shannara, 26. Aug 1999, 16:20:08):
Hallo,

warum gibt es eigentlich immer noch keine felinische Ausbilder(innen) im
Struv? Eigentlich sind dort alle Rassen dort vorhanden, auch solche die es
eigentlich gar net gibt (kicher).

Ich koennte mir da so ein oder zwei Ausbilder vorstellen, die Faehigkeiten
lehren, in denen sich die Felinen gut auskennen, wie zb Schnellkampf,
Kampfsprung und waffenloser Kampf.

Shannara.

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



Re: Felinen als Ausbilder (Nevok, 26. Aug 1999, 16:22:59):
~#! rn=Shannara rt=935684408 rg=gilden.kaempfer
~#! tid=935684408
koennte daran liegen dass es eigentlich ja schon eine KATZENkrieger gilde
gibt. Wenn du mal einen dieser Gilde geschaetzt hast, weisst Du was der Struv
von den Kampfkuensten der Felinen haelt... Immerhin bist Du ja bekehrt worden
und hast Dir den richtigen Kampfstil beibringen lassen... ;)

Nevok

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



Re: Re: Felinen als Ausbilder (Shannara, 26. Aug 1999, 16:24:25):
~#! rn=Nevok rt=935684579 rg=gilden.kaempfer
~#! tid=935684408
Die eine Gilde hat mit der anderen nichts zu tun.

Shannara. Einzeilernd.

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



Re: Re: Felinen als Ausbilder (Apsu, 26. Aug 1999, 21:08:53):
~#! rn=Nevok rt=935684579 rg=gilden.kaempfer
~#! tid=935684408
Apropos, wie sind eigentlich die Rassenspezifischen max-Waffenskills fuer die
wandelnden Rheumafelldecken?

Apsu, vermisst diese Information auf den Gildenseiten.

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



Re: Felinen als Ausbilder (Boing, 26. Aug 1999, 21:44:41):
~#! rn=Shannara rt=935684408 rg=gilden.kaempfer
~#! tid=935684408
Wir haben sehr faehige Ausbilder fuer die drei genannten Techniken,
es besteht kein Grund da irgendwelche Felinen ranzulassen .. :)
  Boing

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



Re^3: Felinen als Ausbilder (Boing, 26. Aug 1999, 21:45:19):
~#! rn=Apsu rt=935701733 rg=gilden.kaempfer
~#! tid=935684408
Diese Information findest Du in der Bibliothek.
  Boing

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



Massaker (Orktoeter, 27. Aug 1999, 13:08:27):
Im Auftrag von Tower :

Vorschlag : Die Gildenquest Massaker in der SSP wird von der Zahl der Opfer an
die neu hinzugekommenen NPC angepasst (fuer Seher entsprechend noch mehr)

zweitens : Es gibt eine Belohnung (Orden ?) fuer das metzeln der gesamten SSP
(also nur fuer Seher) (die KIlls zaehlen dann natuerlich nur fuer diesen
Orden)

OrkT a.A. Tower

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



Re: Re: Felinen als Ausbilder (Shannara, 27. Aug 1999, 13:18:28):
~#! rn=Boing rt=935703881 rg=gilden.kaempfer
~#! tid=935684408
Naja Trina find ich nicht gerade optimal fuer den Schnellkampf. Ist nicht mal
ein richtiger Mensch. Und was verstehen Menschen schon von Schnellkampf? :)

Abgesehen davon, ist ja immer noch (hoffentlich) offen, wer die Ausbilder fuer
zukuenftige Faehigkeiten sind.

Shannara. Denkt da eine ganz gewisse zukuenftige Offiziersaufgabe.

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



Re: Massaker (Shannara, 27. Aug 1999, 13:19:54):
~#! rn=Orktoeter rt=935759307 rg=gilden.kaempfer
~#! tid=935759307
Einen diamantenen Schreckensberg zum Anstecken? Mit einen Monsterhaufen
darunter? :)

Schneekaetzchen Shannara.

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



Re^3: Struvverteidigung (Rochus, 27. Aug 1999, 13:36:32):
~#! rn=Nonne rt=935399706 rg=gilden.kaempfer
~#! tid=935130963
*** sagt: alle Artikel "suffverteidigung" kann man getrost uebergehen

  ;-)

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



Re: Felinen als Ausbilder (Lug,  1. Sep 1999, 02:30:38):
~#! rn=Shannara rt=935684408 rg=gilden.kaempfer
~#! tid=935684408

Ahja,

ich bin nach wie vor dafuer saemtliche Felinen aus der Gilde zu werfen oder
wahlweise in den Schredder.
Felinen als Ausbilder? Nein Danke!

Kotzend
Lug

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



Disziplin (Golas,  1. Sep 1999, 14:43:12):
Wie in der einschlaegigen Literatur in unserer Bibliothek bereits mehrfach
erwaehnt, ist die Disziplin eines der wichtigsten Merkmale des echten Trves.
Dennoch musste ich in letzter Zeit immer oefter Maengel in bezug auf die
Disziplin feststellen. Nun waere es eventuell zu verzeihen, wenn dies bei
jungen Rekruten und Rekrutinnen im Range eines/einer Krakh'Getres vorkaeme.
Jedoch habe ich teilweise grobe Verstoesse gegen die allgemeine Disziplin bis
in den Rang der Gra'Takal festgestellt. Dieser Umstand veranlasste mich dazu,
dieses Schriftstueck aufzusetzen.

Ist meine Aufassung von Disziplin zu streng?
Ist meine Vorstellung von Gehorsam den Vorgesetzten gegenueber zu
weitreichend?
Ich denke nicht! Wie oft hoere ich junge Rekruten stoehnen:

"Botanos wollte mir den Schildstoss erst lehren, nachdem ich ihm ein Schild
gebracht hatte ..."
"Hinter haelt nie den richtigen Vortrag ..."
"Muss ich wirklich zum Festland zurueck und eine Erdbeere holen ..."

Stand denn irgendwo in den Musterungsunterlagen, dass der Weg eines Trves im
Koru-Tschakar-Struv ein einfacher sein wuerde?

In vielen Faellen wird es dem einzelnen Trves nicht sofort verstaendlich sein,
wieso er oder sie dies oder jenes tun oder lassen soll. Aber genau hier ist
Disziplin und Gehorsam gefragt. Habt Vertrauen zu euren Vorgesetzten!
Insbesondere in der Ausbildung! Wenn euer Ausbilder sagt, dass keine Erholung
notwendig ist, um das naechste Monster zu toeten, glaubt ihm. Ist dies nicht
der Fall, so wird er mit Sicherheit rechtzeitig den geordneten Rueckzug
befehlen. Andersherum gilt natuerlich Gleiches. Wenn euch gesagt wird, dass
ihr warten sollt, bevor ihr eure Aufmerksamkeit auf einen Gegner richtet, so
befolgt auch diesen Befehl. Es mag sein, dass ihr die Kunst des
Waffenschaerfens noch nicht beherrscht, wohl aber euer Ausbilder. Ausserdem
muss man sich auf jeden Kampf gut vorbereiten. Diese Vorbereitung kann
mitunter recht kurz ausfallen; muss jedoch nicht nur eine andere Waffe
gezueckt werden, sondern auch noch eine andere Ruestung, eine andere Hose oder
ein Schild angelegt werden, so kann dies alles etwas laenger dauern. Nicht zu
letzt kann eine gute Vorbereitung mit entscheidend fuer einen siegreichen
Kampf sein.
Euer Ausbilder wird auch oft bemueht sein, euch Hinweise zur Anwendung von
Techniken zu geben, um so euren Kampfstil zu verbessern. Wenn ihr sofort auf
das naechsten Monster los stuermt oder in die naechste Kneipe rennt, dann
bleibt dafuer meist zu wenig Zeit.

Ich habe bisher nur bezug auf die Ausbildung genommen, dennoch gilt das
bereits gesagte auch fuer den Kampf in Gruppen. Gerade die Spitzhuete sind
beruehmt fuer ihre oft langwierigen Kampfvorbereitungen, welche zu dem noch
zeiltich sehr gut abgestimmt sein wollen. Wenn ihr dagegen mit Chaoten
zusammen kaempft, dann lasst euch nicht von deren chaotischen Wutanfaellen, 
die zum Kampf fuehren, mitreissen. Wie bereits erwaehnt: Wer nicht fuer immer 
seine Gegner auf der Hochebene suchen will, sollte sich auf einen Kampf gut
vorbereiten!
Nun noch ein Wort zum Verhalten ausserhalb der Kaempfe und der Ausbildung.
Sollte ein Vorgesetzter euch einmal um einen Gefallen jedwelcher Art bitten,
so erfuellt ihn, wenn es in eurer Macht steht. Ihr wisst nicht, ob ihr einmal
in einer aehnlichen Lage sein werdet und dringend ein Seil, eine Schaufel oder
sonst etwas braucht.
Schliessen will ich mit einem Wort an die hoeheren Raenge:
Man wird respektiert, wenn man anderen Respekt entgegen bringt. Darum
behandelt niedere Raenge mit der noetigen Haerte aber stets fair.

Takal'Mor Golas

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



neulich auf Allgemein (Almdudler,  1. Sep 1999, 21:53:53):
Trves:Belgariad  will einer von euch armseeligen kaempfern noch ein wenig
Trves:Belgariad ] ausrue? :))
Du stehst auf einer Lichtung, umgeben von Untoten
Sie kommen immer naeher, und ihr Gestank nimmt Dir den Atem.
Ihr unglaublicher Hass und ihre Boshaftigkeit lassen Dich erstarren
Und schliesslich beruehren sie Dich, und ihr Schleim wird zu Deinem Schleim
Dann laechelst Du, als sie Dich nehmen und zur grossen Spinne bringen.
Und die Spinne laechelt Dich an und fluestert Dir zu: Bald. Bald.
Du schlaegst die Augen wieder auf.
Ein boeses Lachen steigt in Dir auf.
Deine Lethargie ist verflogen.

immernoch grinsend, 
Almi

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



Re: Disziplin (Gloin,  2. Sep 1999, 13:05:16):
~#! rn=Golas rt=936196992 rg=gilden.kaempfer
~#! tid=936196992
Um wahre Demut zu lernen/lehren koennte einmal pro Woche ein Hohepriester
ein Seminar im Struv halten.

Schwester Gloin

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



Re: Re: Disziplin (Heromcfly,  2. Sep 1999, 13:09:41):
~#! rn=Gloin rt=936277516 rg=gilden.kaempfer
~#! tid=936196992

hoe ? demut ? steht davon was im kodex ? :)

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



Re^3: Disziplin (Householder,  2. Sep 1999, 13:25:56):
~#! rn=Heromcfly rt=936277781 rg=gilden.kaempfer
~#! tid=936196992
genau jeden sontag gottesdienst im struv 
HH 

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



Re^4: Disziplin (Grimman,  2. Sep 1999, 13:27:16):
~#! rn=Householder rt=936278756 rg=gilden.kaempfer
~#! tid=936196992
Mann, so viel Sumpf, wie ihr hier schreibt, hab ich schon lange nicht mehr
gehoert, und ich meine nicht Golas' Artikel ...

GrimMan , versteht was er meint, und stimmt zu

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



Re^4: Disziplin (Belgariad,  2. Sep 1999, 20:14:30):
~#! rn=Householder rt=936278756 rg=gilden.kaempfer
~#! tid=936196992
Ich glaube euch brennt der heiligenschein oder wie? Im Struv jammern nur Trves
und sonst keiner. :))

Belga definitiv gegen fruehes Aufstehen am Sonntag

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



Re^5: Disziplin (Mahatmu,  3. Sep 1999, 12:52:15):
~#! rn=Belgariad rt=936303270 rg=gilden.kaempfer
~#! tid=936196992
Dann schicken Euch die Kleriker eben einen Kandri. Und Messe wird eh nur
zu besten Modem-Zeiten gehalten, also nix mit frueh aufstehen. Wer dann
schon pennt gehoert nicht in den Struv. Bis zur Messe selbst wird gesoffen,
da hat Kandri nix gegen ...

Mahatmu

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



Re^6: Disziplin (Householder,  3. Sep 1999, 12:56:47):
~#! rn=Mahatmu rt=936363135 rg=gilden.kaempfer
~#! tid=936196992
is sogar ganz gut wenn ihr vorher sauft ...
erfahrungsgemaess vergisst man seine sorgen wenn man besoffen ist, und heult
dementsprechend weniger rum  ...

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



Re^7: Disziplin (Golas,  3. Sep 1999, 13:32:13):
~#! rn=Householder rt=936363407 rg=gilden.kaempfer
~#! tid=936196992
ja ja
nutzloses und eitles tropfe ab an uns ...
golas gelangweilt laechelnd

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



Re^8: Disziplin (Grimman,  3. Sep 1999, 13:40:21):
~#! rn=Golas rt=936365533 rg=gilden.kaempfer
~#! tid=936196992
Hmmm, Mahatmu, Thema verfehlt, sechs, setzen.
Hier ging es eigentlich nicht um Messen und rumheulen, sondern eher darum, das
Verhalten zwischen den einzelnen Kaempfern etwas anzuprangern ... oftmals
(nicht immer!!!) laesst das wirklich zu wuenschen uebrig.

GrimMan , hat das Thema kapiert.

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



hat was.. (Woo,  5. Sep 1999, 22:24:34):
~#! rn=Grimman rt=936366021 rg=gilden.kaempfer
~#! tid=936196992
HM .. ich muss allerdings mal Grimman und Golas zustimmen .. der Ton
untereinander ist manchmal mehr als duerftig.
gerade in einer Ausbildung wo man sich ja dann doch erhofft mal was neues
ueber seine neuen skills zu erfahren,
gibt es dann doch nur ein lustloses teamgemetzel nach dem motto
*JESCHNELLERICHDASFERTICHHABEDESTOBESSER*
Das finde ich an manchen stellen traurig. Ich muss aber zu meiner scham auch
gestehen das ich da auch nicht viel besser bin bis jetzt,
ich werde mir aber muehe geben das  (zumindest von meiner seite aus* zu
aendern.
Woo ( mit einem nicht allzukleinem Seitenblick in die oberen Kaempferreihen)

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



Ausbildung und so.. (Soyo,  6. Sep 1999, 00:41:47):
Jup, ich muss Woo zustimmen !
In der Ausbildung versuchen die Ausbilder meist nur ihr Kills
runterzureissen ! Nicht alle, aber die meisten.
Ich persnlich beobachte erst immer zwei drei Gegner lang
und geb dann ein paar Tips oder Kommentare.
Verdammt noch mal ihr seid AUSBILDER (in dem Moment)
und keine *KillsmiteinemniedrigerenTrves-Runterreisser*
Fragen ? Keine ! Wegtreten....
Soyo, auch mal seinen Senf dazugebend.

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



Re: hat was.. (Jasonrigid,  6. Sep 1999, 07:13:43):
~#! rn=Woo rt=936570274 rg=gilden.kaempfer
~#! tid=936196992

Hi Kaempfer,

also, bei mir hat sich bisher noch kein Azubi beschwert ... und ich denke,
wenn wirklich etwas so dermassen im argen liegen sollte, dann sollten diese
auch den Mut haben, mit ihren Ausbildern direkt zu reden.

Obwohl ich einsehe, dass so eine Einstellung seitens mancher Ausbilder
sicherlich nicht angenehm fuer den Azubi ist, denke ich, dass ein direktes
Gespraech (oder vielleicht auch mal gezielte Fragen zu den Skills, wenn es das
ist, was man erfahren will), deutlich mehr bringt, als oeffentliches
Anprangern in der MPA. Mal abgesehen von der Tatsache, dass sich eh niemand
angesprochen fuehlen wird ;).

So, jetzt musste ich auch mal meinen Senf dazugeben

Jason

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



Re: Re: hat was.. (Golas,  6. Sep 1999, 07:36:00):
~#! rn=Jasonrigid rt=936602023 rg=gilden.kaempfer
~#! tid=936196992
also irgendwie hat das ganze eine mir nicht unliebe eigendynamik entwickelt.
zunaechst mal folgendes; auch wenn ich mich von dir Jasonrigid nich
angegriffen fuehle, wollte ich mal klarstellen, dass ich mit meinem artikel
nichts bewegen oder anpranger wollte!
ich wollte lediglich mal meine meinung aeussern, meine rolle hier ausleben und
unterhalten. trotz allem stimmt das, was woo gesagt hat und auch das, was
jasonrigid gesagt hat.
ich muss mich mal outen - nein nicht das, gnome! - ich habe neulich tuffi ne
frage gestellt und sie wollte mir dafuer am liebsten zehn verweise
reindroehnen - voellig zu recht, aber fragt eiure ausbilder und habt vertrauen
zu ihnen ;)
und nun noch ein lob an meine ausbilder bisher. ich habe entweder ein
schnelles abreissen bekommen, wenn ich es wollte (es fehlen nur noch 12 kills
zur befoerderung) oder eine sehr gute und ausfuehrliche anlieitung in der
ausbildung.
meine bisher beste ausbildung waren ungefaehr vier stunden mit shade,
lillebror und dirion in den katas. nicht nur weil ich alles was abfiel
ainsammeln durfte, sondern weil mir ein fuer mich neues gebiet naeher gebracht
wurde undd ich viel ueber unsere skills erfahren habe, was mir nicht so
gelaeufig war!

so als autor des steins des anstosse (rettet dem genetiv) schliesse ich diese
diskussionrunde, es folgt nun lediglich beifall und lob :)))

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



Re: Re: hat was.. (Apollonia,  6. Sep 1999, 09:09:02):
~#! rn=Jasonrigid rt=936602023 rg=gilden.kaempfer
~#! tid=936196992
Also, ich kann jetzt nur von der Azubi-Seite reden, weil ich selbst noch nie
augebildet habe... allerdings weiss ich von einigen hoeherrangigen Trves, dass
es die ein oder andere 'Katastrophenausbildung' gegeben hat, an der auch
tatsaechlich der Azubi schuld hatte und nicht der Ausbilder... Was das
Runterreissen der Ausbildungskills betrifft... den ein oder anderen (oder die)
wird es wohl schon geben, fuer den/die das einfach nur ne Pflichtuebung ist,
aber ich muss sagen, dass ich mich ueber meine Ausbilder bisher nicht im
geringsten beklagen kann!!
Aber mal im Ernst... mit ein bisschen Ruecksicht und einigermassen
ordentlichen Umgangsformen sollte es doch gehen, oder?? ;)
Apo* (die grad nix besseres zu tun hat, als die mpa vollzustopfen)

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



Re: hat was.. (Apsu,  6. Sep 1999, 17:28:13):
~#! rn=Woo rt=936570274 rg=gilden.kaempfer
~#! tid=936196992
Naja immerhin gibts durch die Ausbildungspflicht _immerhin_, wenn auch
gezwungenermassen, ein wenig Teamgeist. Ansonsten kann ich dem nur zustimmen.
Es gibt ja auch Trves, die prinzipiell keinen Nichtseher-Azubi ausbilden. Das
finde ich sehr arrogant und sehr bedenklich. Soviel zum Thema Teamgeist.

Apsu, sich Woo anschliessend.

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



Re^3: hat was.. (Grimman,  6. Sep 1999, 19:09:13):
~#! rn=Golas rt=936603360 rg=gilden.kaempfer
~#! tid=936196992
Mensch Golas ... wenn du schon so auf den Genitiv stehst, dann schreib
wenigstens : Des Steines des Anstosses ;) das eine 'e' ist wichtig ...
Und nochmal kurz zum Thema ... irgendwie laeuft das auf einen (wohl leider
wiedermal erfolglosen) Versuch raus, etwas Flair und Rollenspiel ins MG zu
bringen.

Schade das er erfolglos sein wird ...

GrimMan , Rollenspieler aus Ueberzeugung

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



Re: Re: hat was.. (Grimman,  6. Sep 1999, 19:12:13):
~#! rn=Apsu rt=936638893 rg=gilden.kaempfer
~#! tid=936196992
Ich gebe zu, das ich mir mal vorgenommen habe, niemanden unter 130 LPs
auszubilden, weil das doch ziemlich anstrengend ist, aber so langsam bin ich
so weit, alles zu nehmen, was ich so kriegen kann ;)
Ansonsten versuch ich immer, die Ausbildung so interessant wie moeglich zu
gestalten ...

GrimMan , heute mal aktiver ;)

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



Re^3: hat was.. (Jasonrigid,  7. Sep 1999, 07:56:55):
~#! rn=Golas rt=936603360 rg=gilden.kaempfer
~#! tid=936196992

Hi nochmal,

ich habe mich ueberhaupt nicht angegriffen gefuehlt, nur wollte ich mal darauf
hinweisen, dass sich manche Ausbilder dieser Lage evtl. gar nicht bewusst
sind, wenn bei den Ausbildungen zu wenig rueberkommt. Deswegen erst den
Ausbilder fragen und dann beschweren ;).

Ganz nebenbei kann ich absolut nachempfinden, wie es ist, 400 Ausbilderkills
fuer eine Befoerderung machen zu muessen, neben noch einer Reihe teilweise
utopischer Bedingungen ... naja, soll keine Entschuldigung sein, aber wenn man
schon insgesamt um die 1500 ausbilderkills gemacht hat, dann kann es
passieren, dass man dann auch keine rechte Lust mehr hat. Mir hat ausbilden
eigentlich immer Spass gemacht.

Ich fange an zu schwafeln, statt was konstruktives zu sagen, deswegen :

Bye

Jason

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



Re^3: hat was.. (Mindblade,  7. Sep 1999, 15:46:11):
~#! rn=Grimman rt=936645133 rg=gilden.kaempfer
~#! tid=936196992
Das ist die verkehrte Einstellung!;) Wenn die Azubis 40LP maximal haben wirds
lustig, ich musste mich selten so beeilen!:)
Nein, aber mal im Ernst. Wenn ich Zeit habe (was in letzer Zeit _sehr_ selten
vorkommt, zugegeben), dann bilde ich auch gerne aus. Klar kann das manchmal
vielleicht etwas "schnell" vonstatten gehen, wenn ich gerade mal noch ne halbe
Stunde Zeit habe und der Azubi noch diverse Kills machen muss, aber ansonsten
fand ich die Ausbildung immer interessant. Und was das "schnelle" Ausbilden
angeht, ich habe auch schon Azubis gehabt, die sich trotz Seher so schlecht
auskannten, dass man staendig auf sie warten musste, und das ist auch nicht
sooo angenehm, also zeigt mal ein wenig mehr Verstaendnis!;)
Oder, um dem Struv zur Ehre zu gereichen: Respekt, sonst gibts Liegestuetze
bis zum Abwinken!;)

Mind*

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



Re^4: hat was.. (Lug,  7. Sep 1999, 21:06:28):
~#! rn=Mindblade rt=936719171 rg=gilden.kaempfer
~#! tid=936196992

Was soll das ganze Geheule hier? Nur ein toter Azubi ist ein guter Azubi und
lernen sollen die auch nix...

FidKG
Lug

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



Re^5: hat was.. (Dieder,  7. Sep 1999, 21:07:42):
~#! rn=Lug rt=936738388 rg=gilden.kaempfer
~#! tid=936196992
endlich mal wieder ein Artikel von Lug so wie ich sie kenne und liebe :)

Dieder, wedelt mit einem "Kaempfer in die Tonne"-Faehnchen.

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



Re^5: hat was.. (Golas,  7. Sep 1999, 21:31:08):
~#! rn=Lug rt=936738388 rg=gilden.kaempfer
~#! tid=936196992
golas will mal von lug ausgebildet werden ... man muss key doch einholen
koennen ;)

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



Re^6: hat was.. (Tower,  7. Sep 1999, 21:37:02):
~#! rn=Golas rt=936739868 rg=gilden.kaempfer
~#! tid=936196992
Wozu, Golas ?
Bleib doch bei mir... :)

Tower killt auch Azubis.

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



Re^6: hat was.. (Lug,  7. Sep 1999, 22:11:43):
~#! rn=Dieder rt=936738462 rg=gilden.kaempfer
~#! tid=936196992

Ist doch wahr. Da wird einem ja schlecht, wenn man sowas liest. Der Ausbilder
war aber voll suess zu mir. Was ist denn das hier? Nen Maennerpuff? Ach nee.
Nur eine frauendurchseuchte GILDE; DIE VON ZUVIELEN Deppen mitgliedern geplagt
wird.

FidKGuadH
Lug

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



Re^6: hat was.. (Lug,  7. Sep 1999, 22:17:59):
~#! rn=Golas rt=936739868 rg=gilden.kaempfer
~#! tid=936196992

Melde Dich bei mir.
Lug

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



Re^4: hat was.. (Soyo,  8. Sep 1999, 05:28:02):
~#! rn=Mindblade rt=936719171 rg=gilden.kaempfer
~#! tid=936196992
Hmm, wenn bei mir ein ArschZUmBIerholen mit 40 LPs (max) antanzt schick ich
den postwendend wieder zum Orakel !

MfG Soyo, zweizeilernd und konstruktiv...

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



Re^7: hat was.. (Soyo,  8. Sep 1999, 05:30:44):
~#! rn=Lug rt=936742303 rg=gilden.kaempfer
~#! tid=936196992
FidKG<- klar ! uadH <- was heisst das jetz ?

Soyo, eine neu Seite auf seiner Abkrzungliste aufmachend.

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



Re^8: hat was.. (Ringor,  8. Sep 1999, 09:28:10):
~#! rn=Soyo rt=936768644 rg=gilden.kaempfer
~#! tid=936196992
Kochst Du etwa selber?

i.V. Ringor

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



Re^7: hat was.. (Shannara,  8. Sep 1999, 14:03:23):
~#! rn=Lug rt=936742303 rg=gilden.kaempfer
~#! tid=936196992
Armer Lug, deswegen solltest du dir nicht gleich die Seele aus den Leib
schreiben. Sowas ist ungesund :)

Shannara

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



Re^9: hat was.. (Soyo,  9. Sep 1999, 18:43:02):
~#! rn=Ringor rt=936782890 rg=gilden.kaempfer
~#! tid=936196992
gelegentlich mal.... warum die Frage ?

Soyo, sich wundernd.

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



Re^10: hat was.. (Ringor, 10. Sep 1999, 09:04:18):
~#! rn=Soyo rt=936902582 rg=gilden.kaempfer
~#! tid=936196992
Okay, dann wird Dir die Bedeutung der Abkuerzung wohl fuer immer verborgen
bleiben. ;^)

Ringor

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



Azubimangel (Apsu, 10. Sep 1999, 16:17:32):
Angesichts der Knappheit an Azubis unter GL 13 war schon mehrfach eine
Aenderung der Ausbildungsmodalitaeten im Gespraech (zumindest unter Spielern).
Hat sich da was getan?

Apsu, auf seinen 122 Ausbilderkills sitzend.

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



Re: Azubimangel (Tuffi, 10. Sep 1999, 20:32:02):
~#! rn=Apsu rt=936980252 rg=gilden.kaempfer
~#! tid=936980252
Mach den Azubis klar, wie gut es fuer sie ist ausgebildet zu werden,
und schon ist das Problem geloest.
  Tuffi

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



Re: Azubimangel (Grimman, 10. Sep 1999, 22:53:22):
~#! rn=Apsu rt=936980252 rg=gilden.kaempfer
~#! tid=936980252
Hmmmm ... gaendert hat sich da natuerlich nichts, es kommt immer noch kein
Frischfleisch nach ... aber irghendwie kriegen wir das immer noch so irgendwie
hin, oder?

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



Re: Re: Azubimangel (Apsu, 11. Sep 1999, 15:42:44):
~#! rn=Tuffi rt=936995522 rg=gilden.kaempfer
~#! tid=936980252
Aber einen Gra'Takal zum Kartoffeln schaelen abkommandieren? Das ganze
Gildengefuege wuerde ins Wanken geraten! 

Apsu, schaudernd

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



Re: Re: Azubimangel (Jasper, 14. Sep 1999, 23:25:15):
~#! rn=Tuffi rt=936995522 rg=gilden.kaempfer
~#! tid=936980252
oder mach dir nen xtie zum ausbilden

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



Re^8: hat was.. (Lug, 15. Sep 1999, 00:19:49):
~#! rn=Shannara rt=936799403 rg=gilden.kaempfer
~#! tid=936196992

Gesund ist eh Scheisse...

Lug

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



Ausbilder und Azubi - zum Abschuss freigegeben im Struv ??? (Mythran, 19. Sep 1999, 15:29:41):
Hmm...nun habe ich meinen ersten Azubi gekillt...
Da will man als guter Ausbilder beim Training des Azubis dabeisein (noch im
Team natuerlich)
und stellt sich zum Ausbilder der Waffenkuenste...
Und weil mein Azubi ja nun mit dem lieben Wuart kaempft, sehe ich das also
automatisch als ernsten
Kampf an (bin ja im Team) und greife den Trainer automatisch mit an...
Folge: Azubi tot..und ich auf der Flucht...

Heisst das, im Team bin ich zu bloed, um Training und Ernst auseinanderhalten
zu koennen ???
Ich denke, da sollte was unternommen werden...

(Nein ich steigere meine intelligenz jetzt nicht *ggg*)
Aber der Teamkampf sollte bei nem Training ja wohl deaktiviert werden...
Ich will schliesslich sehen, wen ich da ausbilden soll..

Ein verwunderter und verwirrter Mythran

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



Re: Ausbilder und Azubi - zum Abschuss freigegeben im Struv ??? (Gnome, 19. Sep 1999, 19:09:20):
~#! rn=Mythran rt=937754981 rg=gilden.kaempfer
~#! tid=937754981
1. wer verplempert seine zeit damit, den gewohnten - wenn auch guten -
   ausfuehrungskuensten unserer geschaetzten ausbilder zum wiederholten
   male zu lauschen?
   obwohl - bei einigen koennt' es nicht schaden, da magst du recht haben.

2. deaktivier ihn doch selber; ich weise da auch ein 'hilfe teamkampf' hin.

gnOme

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



taktik anschauen (Apsu, 24. Sep 1999, 18:07:13):
Wenn man in Raserei ist und seinen Taktikstatus anschaun will, kommt: in
Raserei kannst Du Deine Taktik nicht aendern! Hmmm ich wollt sie nicht aendern
sondern nur ansehen. Waere es moeglich, das einzubauen?

Apsu

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



Re: taktik anschauen (Heromcfly, 24. Sep 1999, 18:10:10):
~#! rn=Apsu rt=938196433 rg=gilden.kaempfer
~#! tid=938196433

aehm....bei raserei wird deine taktik automatisch auf 0% gestellt somit ist
eine solche anzeige sinnlos

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



oehm jo was weiss ich  (Hight,  5. Okt 1999, 15:39:06):
hmmm ich wollte mal bemerken das die berichtsthemen wieder vergriffen sind ...
is ja net so das ich in naher zukunft aufsteigen werde aber ich wuesste gerne
ueber was ich schreiben muss .o)

waehre also net wenn die herren gildenmagier nachschub liefern wuerden .o))

hight

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



Re: oehm jo was weiss ich  (Bendeigid,  6. Okt 1999, 07:54:34):
~#! rn=Hight rt=939137946 rg=gilden.kaempfer
~#! tid=939137946
Aufruf!

Wie waers, wenn sich die Herren und Frauen Zalkh'Batar (mindestens) und auch
die Takal'Mors an der "Themenbereitstellung" beteiligen wuerden? Immerhin
kennen die Spieler fuer gewoehnlich das Mud besser als wir uralten Magier. 
Dies sei also eine offizielle Aufforderung, solche Berichtsthemen per Mail an
mich einzureichen. 
Hervorragende Vorschlaege werden ausgezeichnet und an besonderer Stelle
erwaehnt!!

Z'par Servu,
      Bendeigid

Zur Kenntnis: Brieseltrim Grieselhuck                Hinter List


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



Re: Re: oehm jo was weiss ich  (Nevok,  6. Okt 1999, 19:58:31):
~#! rn=Bendeigid rt=939196474 rg=gilden.kaempfer
~#! tid=939137946
genau, schaufeln wir uns unser Grab selber :)
Warum ist die Axt die bessere Waffe? (fuer Zwerge)
Was kann ich mit meinem Speer noch machen ausser selbigen als Bratspiess zu
verwenden (Elfen)
Die Hobbitfrage, oder wie komme ich kleiner Puschelhobbit mit einem maechtigen
Kuechenmesser bewaffnet an die Kehle des Riesen? (Fuer Hobbits)
Der Mensch und seine Metzelumgebung: wo ist mein Feindbild monstertechnisch
gesehen? (Fuer Menschen)
und dass unsere pelzigen .....Freunde nicht auch ganz leer ausgehen
Vorteile der maechtigen Trves gegenueber den Wuschel-Katzenkrieger...was macht
einen Felinen zur Kampfmaschine statt zum 'Katzenkrieger' *waelz*.......aeh
fuer Felinen natuerlich

Nevok, der schon mal prophylaktisch 'nix fuer ungut' meint

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



Vorschlag meinerseits (Golas, 11. Okt 1999, 16:09:26):
Da ich nicht befugt bin, Verweise zu erteilen, schlage ich das folgende
ledoglich vor.
Wegen mehrfacher Disziplinlosigkeit den Vorgesetzten gegenueber, sollte Gra
Takal Hamlet bis zum 1. November diesen Jahres nicht ausgebildet werden. Die
Beteiligung an dieser disziplinarischen Massnahme steht jedem frei.

Takal Mor Golas leicht betruebt einen solchen Artikel zu schreiben ...

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



Re: Vorschlag meinerseits (Heromcfly, 11. Okt 1999, 20:01:21):
~#! rn=Golas rt=939650966 rg=gilden.kaempfer
~#! tid=939650966


nu mal immer mit der ruhe ... es waehre hilfreich wenn du 
das ganze spezifizieren koenntest und in etwa sagen was er den 
ueberhaupt gemacht hat

find ich


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



Re: Re: Vorschlag meinerseits (Householder, 11. Okt 1999, 21:12:54):
~#! rn=Heromcfly rt=939664881 rg=gilden.kaempfer
~#! tid=939650966
genau ohne zu sagn was er gemacht hat, kommt das irre daemlich

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



Re^3: Vorschlag meinerseits (Golas, 12. Okt 1999, 00:01:59):
~#! rn=Householder rt=939669174 rg=gilden.kaempfer
~#! tid=939650966
sollte auch unheimlich daemlich kommen, war naemlich situationsbedingt und
mehr nicht.

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



nun ja... (Unasai, 18. Okt 1999, 09:59:34):

wenn jeder wegen Disziplinlosigkeit eine Befoerderungssperre aufgebrummt
bekaeme, haetten wohl viele Kaempfer keine Azubis mehr....
So ganz nebenbei bin ich auch nicht gerade ein Ausbund an Disziplin und mich
bildet trotzdem immer jemand aus...manchmal kommt es auch auf den Vorgesetzten
und dessen Launen an, gell?
Una* (*Golas zuwzinkernd*)

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



*seufz* (Unasai, 18. Okt 1999, 10:00:21):
sollte zwinkern heissen... Una*

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



Re: nun ja... (Alcina, 18. Okt 1999, 11:09:58):
~#! rn=Unasai rt=940233574 rg=gilden.kaempfer
~#! tid=940233574


naja, das kommt ganz auf den Egoismus der/des Azubis (evtl. auch) Ausblders
an. Wer sagt denn, dass man nicht mehr ausbilden/ausgebildet werden kann als
vorgeschrieben ist?

Alcina - nie allein unterwegs.

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



Re: nun ja... (Onyx, 18. Okt 1999, 11:46:15):
~#! rn=Unasai rt=940233574 rg=gilden.kaempfer
~#! tid=940233574
Ein <Zensur> Kaempfer denkt . o O (Frauen!!!)

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



Re: nun ja... (Gnome, 18. Okt 1999, 13:22:20):
~#! rn=Unasai rt=940233574 rg=gilden.kaempfer
~#! tid=940233574
...und mich bildet trotzdem immer jemand aus...

ja una. das hat aber andere gruende.
aehem...

gnOme

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



Re: Re: nun ja... (Unasai, 18. Okt 1999, 13:26:07):
~#! rn=Gnome rt=940245740 rg=gilden.kaempfer
~#! tid=940233574

Hochverehrter Herr General,
ich glaube bei ihnen piept es unter der Kristallkrone!!! *grummel*
Ich moechte es ja nicht an Respekt mangeln lassen, aber manchmal frage ich
mich schon, wie sie in den Generalsstand erhoben werden konnten........
mit allem Respekt Sir, ich uebe standhaft, und das ist auch der einzige Grund,
warum sich fuer mich immer wieder Ausbilder finden.....
Ich moechte gar nicht wissen, welche Idee sie dabei hatten, Sir, mit allen
noetigen Respekt Sir!

Unasai *stillstehend und salutierend*

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



Re^3: nun ja... (Heromcfly, 18. Okt 1999, 19:11:54):
~#! rn=Unasai rt=940245967 rg=gilden.kaempfer
~#! tid=940233574

eine sache die jeder der takalmor irgendwann lernt ist die tatsache das man
ncht ueber die generaele herzieht solange man nicht selber einer ist 

)

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



Re^4: nun ja... (Gnome, 18. Okt 1999, 19:55:57):
~#! rn=Heromcfly rt=940266714 rg=gilden.kaempfer
~#! tid=940233574
hehe...

danke. endlich mal rueckendeckung hier, auf meine alten tage.
wir muessen schon genug aushalten und dann kommen auch noch solche
jungspunde und machen einem das leben schwer. :)

gnOme

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



Re: Senf... (Nevok, 18. Okt 1999, 20:14:52):
~#! rn=Unasai rt=940270293 rg=gilden.kaempfer
~#! tid=940270293
*bruell*
Aufstand der Zuckerschnecken, erster Teil
bitte bitte, hau mich nicht, ich lieg schon am Boden vor Lachen
was kommt als Naechstes, dass Du meine Artikel auf Rechtschreibung
korrigierst?
und von wegen grosser Klappe......wer das Scheunentor so weit wie Du aufhat
sollte aufpassen was da raus- und reinfliegt...

Nevok, vielleicht grossmaeulig aber auch die Nase voll habend von quatschenden
Emanzen

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



waffenschaerfen und so (Nevok, 22. Okt 1999, 20:54:45):
Nur mal ne ganz bescheidene Frage. In der Beschreibung des  Drakonischen
Kampfbeils aus Morgoths Drakonierfestung wird eine Klinge erwaehnt. Will ich
selbige etwas aufwerten mit meinen Schleifstein kommt die Meldung, dass
selbige Waffe nicht ueber eine Klinge verfuegt.
Um das mal auf den Punkt zu bringen: HAE?

Nevok, der gerne wuesste, ob das ein Morgoth-Fehler ist oder was

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



Re: waffenschaerfen und so (Sand, 22. Okt 1999, 20:56:29):
~#! rn=Nevok rt=940618485 rg=gilden.kaempfer
~#! tid=940618485
vielleicht einfach ein typo ? Und es sollte die Klingel des Beils beschrieben
werden ... ?
Sand

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



Re: waffenschaerfen und so (Nachtwind, 22. Okt 1999, 21:01:31):
~#! rn=Nevok rt=940618485 rg=gilden.kaempfer
~#! tid=940618485
Und wenn Du richtig hingesehen haettest, waere Dir auch aufgefallen,
dass die Klinge total hinueber ist. In dem Fall macht das Ding
nichtmal mehr Schnittschaden, und zu schaerfen ist da auch nichts
mehr.
Waffen die nur Schlagschaden machen kann man nunmal nicht schaerfen.

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



Re: Re: waffenschaerfen und so (Nevok, 22. Okt 1999, 21:03:39):
~#! rn=Nachtwind rt=940618891 rg=gilden.kaempfer
~#! tid=940618485
wenn DU mal richtig hinschauen wuerdest, Erzieneuling...
Dies ist ein kleines, aber sehr gefaehrliches Beil. Die Klinge ist so stumpf,
dass Du damit nicht mal mehr einen frischen Weichkaese schneiden kannst. An
einigen Stellen blubbert die Klinge etwas.
Es ist eine 1-Handwaffe und gehoert der Gruppe der Klingen-Hiebwaffen an.
frag niemals Zauberer nach Waffen....

Nevok

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



Re^3: waffenschaerfen und so (Sharia, 22. Okt 1999, 21:04:09):
~#! rn=Nevok rt=940619019 rg=gilden.kaempfer
~#! tid=940618485
haste mal schaetz gemacht ? was kommt da noch ? :)


Sharia

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



Re^4: waffenschaerfen und so (Nevok, 22. Okt 1999, 21:13:07):
~#! rn=Sharia rt=940619049 rg=gilden.kaempfer
~#! tid=940618485
also nochmal........Sharia meinte das war unvollstaendig........
Du betrachtest das drakonische Kampfbeil eingehend.
Es ist eine 1-Handwaffe und gehoert der Gruppe der Klingen-Hiebwaffen an. Es
macht sicherlich einen mittelmaessigen Schaden. Es trieft geradezu von Saeure.
Es kann pruegeln. 
Es hat ungefaehr ein Gewicht von 472 Gramm. Du wuerdest seinen Wert auf etwa
397 Muenzen schaetzen. Es ist nicht beschaedigt.
Lieber Nachtwind, liebe Besserwisser.....da steht NIX davon dass die Klinge
weg ist oder sonstwas
das Pruegeln deutet darauf hin, dass ein falscher DT (damage type) verwendet
wurde fuer eine Klingenwaffe
Nachdem eine Klinge , die vor Saeure trieft, erwaehnt wird, ist der Kommentar,
dass die Klinge weg waere und es deshalb eine stumpfe Hiebwaffe waere,
Schwachsinn. SIe ist, laut Beschreibung, nur so stumpf dass man nicht mal
Weichkaese damit schneiden koennte.
Lieber Nachtwind, wirf Du mir nicht vor dass ich nicht lesen koennte wenn es
scheinbar bei Dir selber hapert.

Nevok

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



Re^5: waffenschaerfen und so (Heromcfly, 22. Okt 1999, 21:37:55):
~#! rn=Nevok rt=940619587 rg=gilden.kaempfer
~#! tid=940618485

aehm...eine klinge kann immer noch als klinge bezeichnet werden sofern sie als
solche zu erkennen ist was aber nicht heist das man selbige auch noch
schaerfen koennen muss ... nachtwind hat da vollkommen recht

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



Re^6: waffenschaerfen und so (Friedel, 22. Okt 1999, 21:38:37):
~#! rn=Heromcfly rt=940621075 rg=gilden.kaempfer
~#! tid=940618485
mein ihr nicht ihr zieht euch etwas zu sehr an der klinge hoch??

Friedel

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



Re^7: waffenschaerfen und so (Heromcfly, 22. Okt 1999, 21:40:51):
~#! rn=Friedel rt=940621117 rg=gilden.kaempfer
~#! tid=940618485

etz fang halt an hier mit bremskeilen zu werfen ... solche diskussionen sind
eine beschaeftigung sie muessen nicht zweingen einen grund haben :)

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



Re^8: waffenschaerfen und so (Friedel, 22. Okt 1999, 21:45:04):
~#! rn=Heromcfly rt=940621251 rg=gilden.kaempfer
~#! tid=940618485
ok Chef ;)
wie waers mit der disskussion wozu Taktik da ist?? ;)


Friedel, immernoch stundenlang im imbiss stehend und taktik eingebend

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



Re^9: waffenschaerfen und so (Sky, 22. Okt 1999, 21:48:19):
~#! rn=Friedel rt=940621504 rg=gilden.kaempfer
~#! tid=940618485
Am Rande bemerkt:
Taktik ist einer der wichtigsten Skills :)


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



Re^5: waffenschaerfen und so (Gnome, 23. Okt 1999, 05:20:41):
~#! rn=Nevok rt=940619587 rg=gilden.kaempfer
~#! tid=940618485
das schaetz einer waffe sagt noch lange nix ueber die wirkliche
beschaffenheit derselbigen aus, da es nicht unzaehlige waffenklassen geben
kann...
wenn eine waffe den waffentyp keule hat, ist es auch nicht grundsaetzlich
unmoeglich, sie nicht zu schaerfen.
viel wichtiger als der DT ist also das 'unt' der waffe.

gnOme

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



Re^6: waffenschaerfen und so (Nevok, 23. Okt 1999, 06:41:49):
~#! rn=Gnome rt=940648841 rg=gilden.kaempfer
~#! tid=940618485
verdammt noch mal............
der vollstaendigkeit halber nun halt auch noch die drei mal verfluchte
Beschreibung des unschaerfbaren Beils
Dies ist ein kleines, aber sehr gefaehrliches Beil. Die Klinge ist so stumpf,
dass Du damit nicht mal mehr einen frischen Weichkaese schneiden kannst. An
einigen Stellen blubbert die Klinge etwas.

Cut me some fucking slack, will ya?

Nevok, der langsam echt genug hat......

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



Re^7: waffenschaerfen und so (Anatol, 23. Okt 1999, 14:25:04):
~#! rn=Nevok rt=940653709 rg=gilden.kaempfer
~#! tid=940618485
Alles, was von Dir hier erwartet wird, Nevok, ist ein wenig Nachsicht
mit den programmierenden Magiern. Von denen kann man naemlich NICHT 
verlangen, dass sie beispielsweise fuer ihre Axt noch alternative
Beschreibungen vorsehen, fuer den Fall, dass

    a) die Waffe wiederholtem Waffenbruch zum Opfer fiel
    b) die Waffe wiederholt mit einem Steintrollpanzer in Kontakt kam
    c) die Waffe zu oft geschaerft wurde
    d) die Waffe zu oft als Tueroeffner missbraucht wurde.
    e) ....

Wie Deine letzten Artikel zeigten, macht diese Waffe laut Deinem
"schaetz" _keinen_ Schnittschaden mehr, ist quasi zu einem giftigen
Knueppel mutiert. Wirf' Dein Hirn an und loese fuer Dich ganz allein
das Problem "Wem soll ich glauben? Der statischen Beschreibung oder
der dynamischen Einschaetzung?".

Oder werde Zauberer.
Mit der Lizenz zu jammern.

Anatol


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



Re^7: waffenschaerfen und so (Grimman, 23. Okt 1999, 14:27:47):
~#! rn=Nevok rt=940653709 rg=gilden.kaempfer
~#! tid=940618485
Oki, Nevok, ich verstehe was du meinst ...
Da IST eine klinge dran, aber die ist ,aus Gruenden die nur Morgoth weiss,
nicht mehr zu schaerfen (abgeranzt ohne Ende, Stumpf wie ne Scheibe Brot usw
...) und daher, wegen dem schieren gewicht der Klinge, nur noch als Keule
einzusaetzen ...
Versuch doch mal nen Rundstahl mit nem Handschleifstein scharf zu kriegen ...
das klappt eher nicht :)

Im Gegenzug verstehe ich allerdings auch nicht, wieso man nen Morgenstern
schaerfen kann :) ist aber auch egal ...

GrimMan , heute mal lieb und nett :)

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



Re^7: waffenschaerfen und so (Morgoth, 25. Okt 1999, 09:18:14):
~#! rn=Nevok rt=940653709 rg=gilden.kaempfer
~#! tid=940618485
So, jetzt darf ich auch mal, ja?

Also, wenn Du Dir mal mehrere von den Beilen besorgst und 'ansiehst' UND
'einschaetzt', wirst Du bemerken, dass es vielleicht doch Absicht ist, dass
manche Klingen 'stumpf' sind.

This is no bug, its a feature !

M*

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



Re^8: waffenschaerfen und so (Mahatmu, 25. Okt 1999, 12:37:04):
~#! rn=Grimman rt=940681667 rg=gilden.kaempfer
~#! tid=940618485
Wie ... werauchimmer ... vorher sagte: Gewisse Keulen kann man schaerfen,
und ein Morgenstern hat bekanntlich viele spitze Stachelchen an denen Du
herumschleifen kannst :)

Mahatmu

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



Re^9: waffenschaerfen und so (Shannara, 25. Okt 1999, 12:41:52):
~#! rn=Mahatmu rt=940847824 rg=gilden.kaempfer
~#! tid=940618485
Gewisse Leute scheinen wohl die Erbsenzaehlerei fuer sich gepachtet haben, hm?

Shannara.

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



Re^10: waffenschaerfen und so (Boing, 25. Okt 1999, 12:44:36):
~#! rn=Shannara rt=940848112 rg=gilden.kaempfer
~#! tid=940618485
Mahatmus Antwort war absolut richtig. Das hat nix mit Erbsenzaehlerei
zu tun.
  Boing

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



Re^11: waffenschaerfen und so (Shannara, 25. Okt 1999, 12:48:47):
~#! rn=Boing rt=940848276 rg=gilden.kaempfer
~#! tid=940618485
Ich hab mich nicht direkt auf Mahatmu bezogen, sondern das Hickhack hier
sticht einen schon ins Auge, wenn man eine Weile nicht hier im MUD war. Meist
geht es eh nur um Lappalien und Profilierungssuechteleien.

(Das mit 'Heul doch' koennt ihr euch ruhig ersparen, das ist doch abgelutscht)

Was das Waffenschaerfen von Keulen und aehnlichen Geraets betrifft, das Nevok
so auch gerne schaerfen wuerde: Soll ers ruhig machen, aber wenn er da mit nen
Schnitzmesser an einer Holzkeule rumschnippelt, dann bleibt halt ned viel von
der Keule ueber... Ja, und mit den Schleifstein wird halt die Oberflaeche
schoen glatt abgeschmirgelt. Darin koennen sich wenigstens dann die Monster
spiegeln, bevor deren Schaedel und Gliedmassen zerdeppert werden.

Shannara.

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



Re^12: waffenschaerfen und so (Anatol, 25. Okt 1999, 12:53:10):
~#! rn=Shannara rt=940848527 rg=gilden.kaempfer
~#! tid=940618485
> Meist geht es eh nur um Lappalien und Profilierungssuechteleien.

Da Du das so gut erkannt hast, Shannara, warum schreibst Du Deinen ganz
persoenlichen Muell auch noch dazu? Willst Du das "Nerv' im Turi weiter!"
unbedingt hoeren? Meine Guete, da Du masochistisch veranlagt bist, ...

Nerv' im Turi weiter.

Anatol - verschenkt Rosea Profilialis neo ;)


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



Re^13: waffenschaerfen und so (Nevok, 25. Okt 1999, 14:58:37):
~#! rn=Anatol rt=940848790 rg=gilden.kaempfer
~#! tid=940618485
kann ich mich nur anschliessen, bin ich neurotischer Feline dass ich mit
meinen Klauen an ner Keule rumschleifen muss?
Nerv im Turi weiter, vielleicht findest Du ja mal wieder jemand dem Du die
Frau vorspielen kannst....

Nevok, der Dein Anti-MG Getue im Turi nicht mehr abkann und findet, dass
wenn's Dir net passt, Shannara, Du Dich hier halt loeschen solltest

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



Re^7: waffenschaerfen und so (Gor, 25. Okt 1999, 21:57:43):
~#! rn=Nevok rt=940653709 rg=gilden.kaempfer
~#! tid=940618485
LIber Nevok man koennte sich auch einfach vorstellen, dass der Magier nicht
wollte, dass man die KLinge schaerfen kann.

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



Re^8: waffenschaerfen und so (Mupfel, 25. Okt 1999, 21:59:15):
~#! rn=Gor rt=940881463 rg=gilden.kaempfer
~#! tid=940618485
Man ja, Nevok nicht.

-mupfel-

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



Re^12: waffenschaerfen und so (Lug, 27. Okt 1999, 01:08:56):
~#! rn=Shannara rt=940848527 rg=gilden.kaempfer
~#! tid=940618485

LD!

Lutschend
Lug

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



Re^9: waffenschaerfen und so (Lug, 27. Okt 1999, 01:10:47):
~#! rn=Mupfel rt=940881555 rg=gilden.kaempfer
~#! tid=940618485

Wenn mans nicht schaerfen kann ist es keine Klinge. Basta. Pasta und mir doch
egal.

Stoehnend
Lug

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



Rangabzeichen (Krellja, 31. Okt 1999, 16:24:45):
Kommt mir das eigentlich nur so vor oder gibt es tatsaechlich keine
Stelle, wo ein Trves sich ueber die Rangabzeichen informieren kann?
Das waer doch eigentlich was fuer die Bibliothek oder fuer einen kleinen
Vortrag von Hinter List.

Ach ja, ich suche was im MG, der Hinweis Gildenseiten im WWW mag
zwar richtig sein, passt aber nicht so recht in diese von der Stimmung
her gut gelungene Gilde. Schleim :-)

Krellja

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



Re: Rangabzeichen (Lug,  3. Nov 1999, 01:01:04):
~#! rn=Krellja rt=941383485 rg=gilden.kaempfer
~#! tid=941383485
Hm,

toll. Nach Listengeilheit und Levelgeilheit nun noch Rangabzeichensucht?

Uniformfetischisten...

Lug

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



Re: Re: Rangabzeichen (Wurzel,  4. Nov 1999, 20:36:24):
~#! rn=Lug rt=941587264 rg=gilden.kaempfer
~#! tid=941383485
ist doch nur die logische fortsetzung einer kommisskoppgilde. stimmig ist es
dabei allemal.

wurzel

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



Re^3: Rangabzeichen (Lug, 15. Nov 1999, 01:13:58):
~#! rn=Wurzel rt=941744184 rg=gilden.kaempfer
~#! tid=941383485

Bah...

Meuterei auf der Briesel...

Nicht salutierend
Lug

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



neue themen (Boing, 18. Nov 1999, 18:28:57):
Es gibt wieder ein paar Themen.
  Boing

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



Re: neue themen (Lug, 24. Nov 1999, 01:00:01):
~#! rn=Boing rt=942946137 rg=gilden.kaempfer
~#! tid=942946137

*raeusper*


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



Ist Brieseltrim senil? (Lyra,  2. Dez 1999, 18:35:17):
Also olle Briesel* merkt wohl wirklich nichts mehr. Mann kann ihn treten oder
beko..en ohne das er reagiert. Als Gefuehlvolle Frau reagiert Amanda ja
wenigstens auf einen Fusstritt hin. Aber Briesel...

Oder ist Brieseltrim der typische Vertreter der Spezies Mann: merk nichts,
kann nichts, sollte eindeutig zu den Klerikern.

Lyra versteht nicht, wie Maenner es ueberhaupt soweit hier bringen konnten und
tippt dabei auf Vetternwirtschaft

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



Re: Ist Brieseltrim senil? (Gnome,  3. Dez 1999, 00:04:32):
~#! rn=Lyra rt=944156117 rg=gilden.kaempfer
~#! tid=944156117
aehem...

wieso sollte sich unser chef von dem gefuehlvollen tritt einer moechtegern-
trvesine beeindrucken lassen?
andererseits: wenn er sich muehe gibt, merkt er deinen tritt ja doch, macht
die buerotuer zu und schickt dich schneller zu lars als dir lieb ist?
sei bloss froh, dass ich nie magier werde, aber man kann ja vorschlaege
machen... boing?

gnOme

p.s. woher weisst du das mit den klerikern eigentlich so genau?

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



Re: Ist Brieseltrim senil? (Jasonrigid,  3. Dez 1999, 09:29:03):
~#! rn=Lyra rt=944156117 rg=gilden.kaempfer
~#! tid=944156117

Tja, wenn Du der Ansicht bist, dass er senil ist und nix kann ... wieso
greifst Du ihn dann nicht einfach mal an. BIn gespannt, ob Du dann noch lebend
aus dem Struv rauskommt.

Jason, der frueher einen gegen Hinter List durch ein falsches macro gefuehrten
Angriff nur durch reinen Zufall ueberlebt hat ... und das genau vor dem
Ausgang.

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



Re: Re: Ist Brieseltrim senil? (Puk,  3. Dez 1999, 15:24:49):
~#! rn=Jasonrigid rt=944209743 rg=gilden.kaempfer
~#! tid=944156117
taeuscht das oder werden die maennlichen Kaempfer immer rabiater gegen ihre
weiblichen gegenstuecke ?
Man koennte das natuerlich mit natuerlicher frustration abtun die diese Herren
verspueren, da sie Angst haben das man ihnen den Rang ablaeuft :)

Koennen Kaempfer noch Wurstiger werden ?

Puk (KaempfER sind doch nix ;)

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



Kriegerdenkmal (Lillebror,  5. Dez 1999, 18:55:15):
Huhu,
ich weisst ja net, wie Ihr das so seht. Aber ich stehe manchmal vor einem
kleinen Problem: Hab zuviel Muenzen im Haus, keiner meiner Freunde braucht was
davon. Wohin damit? 
Spendensammler laufen nun nicht immer herum, also wieso kann man Kloiren nicht
erneut dazu ueberreden, nochmal Spenden zu sammeln wenn man diese Aufgabe
schon gemacht hat?  
Ich zumindest wuerds sicher ab und an mal machen :-)

 - Lillebror -

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



Re: Kriegerdenkmal (Padreic,  5. Dez 1999, 19:02:13):
~#! rn=Lillebror rt=944416515 rg=gilden.kaempfer
~#! tid=944416515
Ich verkuende hiermit, das mein Privatsekretaer im Elfenbaum jederzeit Spenden
in beliebiger Hoehe wohlwollend entgegennimmt. Also wenn ihr wieder mal nicht
wisst, kein Problem.

Padreic, immer gern auf Spieler eingehend.

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



Re: Re: Kriegerdenkmal (Lillebror,  5. Dez 1999, 19:03:53):
~#! rn=Padreic rt=944416933 rg=gilden.kaempfer
~#! tid=944416515
Hmja Padreic,
bei Dir wuerd ich das dann eher als Bestechungsgeld ansehen. Und ich weiss
spontan wirklich nicht, was Du fuer mich tun koenntest ;-)

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



Kriegerdenkmal (Conner,  5. Dez 1999, 19:04:03):
Ich glaube Du hast da was nicht richtig verstanden Padreic wenn man das Geld
fuer das Kriegerdenkmal spendet dann ist es sinnvoll eingesetzt und bereichert
nicht einen einzelnen Magier (Spieler).
Conner

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



Re: Kriegerdenkmal (Padreic,  5. Dez 1999, 19:14:56):
~#! rn=Conner rt=944417043 rg=gilden.kaempfer
~#! tid=944417043
Das Geld kommt einer ausserordentlich sinnvollen und wichtigen Sache zu gute.
Hast Du eigentlich eine Vorstellung wie teuer heute gutes Personal ist? Unter
100 muenzen am Tag arbeitet mein Butler nicht mehr und dann der ganze Marmor
fuers Casino....
Das Casino vermittelt eine angenehme Atmosphaere und vermittelt nicht solche
Gedanken wie Reboot oder Conner zappen....

Padreic, findet den Zweck sogar ausserordentlich gemeinnuetzig.

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



Re: Kriegerdenkmal (Hight,  5. Dez 1999, 20:37:58):
~#! rn=Lillebror rt=944416515 rg=gilden.kaempfer
~#! tid=944416515
wenn du zuviel geld hast gibs mir ich hab gennerellen muenzen magel .o)

hight muenzenfressend

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



Re: Kriegerdenkmal (Parsival,  5. Dez 1999, 22:12:04):
~#! rn=Lillebror rt=944416515 rg=gilden.kaempfer
~#! tid=944416515
Ich finde die Idee gut. Damit koennte man sich ja dann auch den gelb-gruenen
Sternenorden verdienen, wenn man ihn beim ersten Anlauf nicht bekommen hat...

Parsival 

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



Re: Re: Kriegerdenkmal (Heromcfly,  5. Dez 1999, 22:37:54):
~#! rn=Parsival rt=944428324 rg=gilden.kaempfer
~#! tid=944416515
ich denk mal das wahr auch der sinn des ganzen :)

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



Re^3: Kriegerdenkmal (Doderic,  5. Dez 1999, 22:39:42):
~#! rn=Heromcfly rt=944429874 rg=gilden.kaempfer
~#! tid=944416515
Der erste der sich traut auf den Artikel zu antworten hat den 
Sternenorden. Die anderen wollten sich wohl nicht outen ;)

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



Re^3: Kriegerdenkmal (Parsival,  5. Dez 1999, 22:40:43):
~#! rn=Heromcfly rt=944429874 rg=gilden.kaempfer
~#! tid=944416515
Denke ich auch und da man durch geschickte "Manipulation" den Orden so wie ich
das sehe erhalten kann, ist es doch nur fair, dass es auch einen "ehrlichen"
Weg gibt, diesen zu bekommen, wenn man im ersten Anlauf eben normal gesammelt
hat und es nicht reichte (es waere ja auch mit zusaetzlicher Arbeit
verbunden).

Parsival

P.S.: Bevor mich jemand falsch versteht : ich sage _nicht_, dass jeder, der
den Orden hat, "manipuliert" hat, osndern weise nur darauf hin, dass es
moeglich ist und somit eine Alternative nicht schaden kann....

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



Re^4: Kriegerdenkmal (Anatol,  5. Dez 1999, 22:42:05):
~#! rn=Parsival rt=944430043 rg=gilden.kaempfer
~#! tid=944416515
 [3] Verstandesklarheit und Sinnesschaerfe leite unser Denken. Nutzloses und
     Eitles tropfe ab an uns, verachtenswert seien Dummheit und Ignoranz.

Anatol

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



Re^4: Kriegerdenkmal (Rardian,  5. Dez 1999, 23:23:01):
~#! rn=Parsival rt=944430043 rg=gilden.kaempfer
~#! tid=944416515
Man koennte ja auch die Grenze, ab der man den Orden bekommt hoeher ansetzen
(so um den Faktor 100 oder so) und dann dafuer aber durch wiederholtes Sammeln
sein persoenliches "Spendenkonto" auffuellen, so dass man den Orden dann erst
nach jahrelangem Sammeln erhaelt...

War nur ein Vorschlag ! *indeckungspring*

Rar.

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



Re^5: Kriegerdenkmal (Nevok,  5. Dez 1999, 23:27:21):
~#! rn=Rardian rt=944432581 rg=gilden.kaempfer
~#! tid=944416515
aber eigentlich gar kein so schlechter....

Nevok, neben Rardian stehend

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



Re^6: Kriegerdenkmal (Heromcfly,  5. Dez 1999, 23:38:52):
~#! rn=Nevok rt=944432841 rg=gilden.kaempfer
~#! tid=944416515
der gelbgruenesternenorden gehoert zu den nutzlosesten gimmicks 
die im morgengrauen existieren es ist doch schei**endrecksegal 
ob man ihn nun am kragen haengen hat oder nicht 
und wer meint das er ihn trotzdem unbedingt braucht der kann immernoch 
aus der gilde austreten und das ganze noch mal machen 

HeroMcFly poliert derweil seinen ganz persoehnlichen Spendensammelorden :)


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



Re^7: Kriegerdenkmal (Nevok,  5. Dez 1999, 23:40:15):
~#! rn=Heromcfly rt=944433532 rg=gilden.kaempfer
~#! tid=944416515
eben da der orden nutzlos ist und nix bringt....eben deshalb koennte man ihn
doch dazu benutzen geld aus dem umlauf zu ziehen dass net immer alle mehrere
hundertausend in ihren truhen rumfahren haben, oder?
wem tut's denn weh, wenn er sich den orden kaufen kann?

Nevok

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



Re^8: Kriegerdenkmal (Heromcfly,  5. Dez 1999, 23:41:23):
~#! rn=Nevok rt=944433615 rg=gilden.kaempfer
~#! tid=944416515



welchen sinn macht eine besondere auszeichnung wenn sie jeder hat ? :)

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



Re^9: Kriegerdenkmal (Nevok,  5. Dez 1999, 23:42:09):
~#! rn=Heromcfly rt=944433683 rg=gilden.kaempfer
~#! tid=944416515
war das ding nich gerade noch nutzlos und schei**endrecksegal?

Nevok, grinsend

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



Re^9: Kriegerdenkmal (Padreic,  5. Dez 1999, 23:43:03):
~#! rn=Heromcfly rt=944433683 rg=gilden.kaempfer
~#! tid=944416515
welchen sinn macht diese diskussion hier?
war _sinn_ schon jemals ein kriterium hier in der mpa etwas zu schreiben? :)

Padreic

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



Re^8: Kriegerdenkmal (Rardian,  5. Dez 1999, 23:43:19):
~#! rn=Nevok rt=944433615 rg=gilden.kaempfer
~#! tid=944416515
Ausserdem ist das hier doch immer noch ein Rollenspiel (zumindest teilweise).
Und fuer welchen Trves ist es keine Ehre, sich einen solchen Orden zu
erarbeiten?

Rar, dankt Nevok fuer die RD.


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



Re^10: Kriegerdenkmal (Tarina,  5. Dez 1999, 23:44:43):
~#! rn=Nevok rt=944433729 rg=gilden.kaempfer
~#! tid=944416515
Also wenn son Orden, dann sollte die Anzahl begrenzt sein. Und es duerfen
nur die 10 besten son Orden haben. Wenn einer davon ueberholt wird, ist der
Orden weg. Das wuerde mir gefallen :-)

Tarina

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



Re^11: Kriegerdenkmal (Nevok,  5. Dez 1999, 23:45:53):
~#! rn=Tarina rt=944433883 rg=gilden.kaempfer
~#! tid=944416515
Au ja, der McDonalds Mitarbeiter des Monats auf trvesisch.
Fein, evt. ne Tafel mit Plakette des monatlichen Hoechstsammlers?

Nevok

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



Re^12: Kriegerdenkmal (Nevok,  5. Dez 1999, 23:46:27):
~#! rn=Nevok rt=944433953 rg=gilden.kaempfer
~#! tid=944416515
selbige Tafel wuerde natuerlich beim Zahlmeister aushaengen...

Nevok

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



Re^11: Kriegerdenkmal (Heromcfly,  5. Dez 1999, 23:47:34):
~#! rn=Tarina rt=944433883 rg=gilden.kaempfer
~#! tid=944416515

aber die idee ansich is gut von dem ueberschuessigen geld koennte man endlich
mal ne vernuenftige besoldung unserer schwerarbeitenden ueberlasteten
generaele einfuehren 

HeroMcFly heute mal uneigennuetzig :)

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



Re^12: Kriegerdenkmal (Padreic,  5. Dez 1999, 23:50:04):
~#! rn=Nevok rt=944433953 rg=gilden.kaempfer
~#! tid=944416515
Also wenn ihr unbedingt nen orden und ne tafel wollt...
Nun also mein Sekretaer verteilt dann auch Orden
ab 1 mio  den schwarzen dummheitsorden am Bande
ab 10 mio. den silbernen dummheitsorden am Bande
ab 20 mio. den goldenen dummheitsorden am Bande und die berechtigung den Titel
'der kleine Oberdepp' zu tragen
ab 50 mio. gibt es dann den gelben Orden und den Titel "grosser ehrwuerdiger
Oberdepp."

Padreic

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



Re^13: Kriegerdenkmal (Nevok,  5. Dez 1999, 23:50:54):
~#! rn=Padreic rt=944434204 rg=gilden.kaempfer
~#! tid=944416515
Ne lass mal, Padreic, is zwar net gemeint, aber es gibt schon genug buggenden
Schwachsinn im MG....da musst Du nichts neues dazusetzen ;)

Nevok

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



Re^13: Kriegerdenkmal (Heromcfly,  5. Dez 1999, 23:51:52):
~#! rn=Padreic rt=944434204 rg=gilden.kaempfer
~#! tid=944416515

geh was sinnvolles programmieren padreic :)


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



Re^12: Kriegerdenkmal (Dieder,  6. Dez 1999, 00:47:15):
~#! rn=Heromcfly rt=944434054 rg=gilden.kaempfer
~#! tid=944416515
schwerarbeitende Generael??? Ich lach mich gleich schlapp...

Dieder, chaotisch provokativ

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



Re^14: Kriegerdenkmal (Silvana,  6. Dez 1999, 12:47:01):
~#! rn=Heromcfly rt=944434312 rg=gilden.kaempfer
~#! tid=944416515
Seid vorsichtig mit dem, was ihr Euch wuenscht. Es koennte in Erfuellung
gehen...

  Silvana (kennt Padreic)

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



Re^8: Kriegerdenkmal (Gnome,  6. Dez 1999, 13:29:40):
~#! rn=Nevok rt=944433615 rg=gilden.kaempfer
~#! tid=944416515
und wem tut es weh, wenn die muenzen in der truhe bleiben?
plaediert lieber fuer nen banksystem, als sich zu ueberlegen, ob es sinn-
voll waere zur geldvernichtung die orden kaufbar zu machen... argl!

gnOme

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



Re^9: Kriegerdenkmal (Parsival,  6. Dez 1999, 17:50:24):
~#! rn=Gnome rt=944483380 rg=gilden.kaempfer
~#! tid=944416515
Wer redet den von "kaufbar machen" ? Man kann auch jetzt schon die
Spendenhoehe beim ersten Durchspielen der Quest beliebig manipulieren, aber
die Moeglichkeit, sich den Orden langfristige "ehrlich" zu verdienen, ist
meiner Ansicht nach genau im Sinne des Trves-Konzepts (ist ja z.B. beim
Sportabzeichen genauso, dass man es sich erarbeiten muss).

Parsival - findet die Idee, den Orden verdienen zu koennen, gut

P.S.: Ad Sublime: gerade bei den Trves kann ich mir sehr gut vorstellen, dass
viele (v.a. Zweities) diese Gilde vornehmlich wegen der exzellenten
Atmosphaere spielen (da bei vielen die Ersties ohnehin schon maechtig genug
sind)

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



Re^3: Ist Brieseltrim senil? (Lug,  9. Dez 1999, 00:27:03):
~#! rn=Puk rt=944231089 rg=gilden.kaempfer
~#! tid=944156117
Also Puk:

Es gibt KEINE weibliche Gegenstuecke zu Kaempfern, denn Schnitten sind
Kleriker.

Merk Dir das endlich
FidKG
Lug

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



Re^4: Kriegerdenkmal (Lug,  9. Dez 1999, 00:31:21):
~#! rn=Parsival rt=944430043 rg=gilden.kaempfer
~#! tid=944416515
Bah Humbug.

Der Sternenorden ist ein Bloedigkeitsanzeiger. Wer zu daemlich ist die Aufgabe
oekonomisch zu loesen und sich als daemlicher Schleimer outet, kriegt so ein
Ding.

Heulsusenbande.
FidKG
Lug

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



Re^9: Kriegerdenkmal (Lug,  9. Dez 1999, 00:33:01):
~#! rn=Rardian rt=944433799 rg=gilden.kaempfer
~#! tid=944416515

Fuer mich.

IidKG
Lug

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



Re^13: Kriegerdenkmal (Lug,  9. Dez 1999, 00:33:58):
~#! rn=Padreic rt=944434204 rg=gilden.kaempfer
~#! tid=944416515

Hm,

Padreic, seit wann machst Du Vorschlaege in meinem Stil? Aber prog das rhig,
Du wirst sehen, einige beissen an...

DidKG
Lug

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



Re^9: Kriegerdenkmal (Anakin, 10. Dez 1999, 14:35:31):
~#! rn=Heromcfly rt=944433683 rg=gilden.kaempfer
~#! tid=944416515
Hi,

kann man irgendwo nachlesen oder rausbekommen wer den
zweifachen Stahlkreuzorden hat wo hier doch gerade die 
Rede von Orden ist?

Thx, Anakin.

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



Re^10: Kriegerdenkmal (Boing, 10. Dez 1999, 14:47:40):
~#! rn=Anakin rt=944832931 rg=gilden.kaempfer
~#! tid=944416515
Soviel ich weiss nicht, und da so eine Liste etwas nutzloses und eitles
ist, wird auch jeder echte Trves liebend gerne darauf verzichten. :)
  Boing

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



Sowas... (Lug, 14. Dez 1999, 22:57:25):

  ....normal/Diamantschwe Du........... : Gardewaechter ******** -> sehr hart
  ....normal/Langschwert. Gardewaechter : Dich......... ******** <- verfehlt
  ....normal/Diamantschwe Du........... : Gardewaechter ******** -> sehr hart
  ....normal/Langschwert. Gardewaechter : Dich......... ******** <- verfehlt
  ....normal/Diamantschwe Du........... : Gardewaechter ******** -> sehr hart
  ....normal/Langschwert. Gardewaechter : Dich......... ******** <- verfehlt
  ....normal/Diamantschwe Du........... : Gardewaechter ******** -> hart
  ....normal/Langschwert. Gardewaechter : Dich......... ******** <- getroffen
Dir gelingt es, die Waffe des Gardewaechters zu unterlaufen.
  ....normal/Diamantschwe Du........... : Gardewaechter ******** -> sehr hart
  ....normal/Langschwert. Gardewaechter : Dich......... ******** <- verfehlt
Du machst einen Waffentrick gegen den Gardewaechter.
  ....normal/Diamantschwe Du........... : Gardewaechter ******** -> hart
  ....normal/Langschwert. Gardewaechter : Dich......... ******** <- verfehlt
[D-chat:Stoerti@AnderLand] darf nur nix kosten?
  ....normal/Diamantschwe Du........... : Gardewaechter ******** -> sehr hart
  ....normal/Langschwert. Gardewaechter : Dich......... ******** <- getroffen
Du machst doch schon die Kampftechnik 'Schlange'.
  ..Schlange/Diamantschwe Du........... : Gardewaechter ******** ->
Schmettern
  ....normal/Langschwert. Gardewaechter : Dich......... ******** <- verfehlt
  ..Schlange/Diamantschwe Du........... : Gardewaechter ******** ->
Schmettern
  ....normal/Langschwert. Gardewaechter : Dich......... ******** <- hart
  ..Schlange/Diamantschwe Du........... : Gardewaechter ******** ->
Schmettern
  ....normal/Langschwert. Gardewaechter : Dich......... ******** <- gekratzt
  ..Schlange/Diamantschwe Du........... : Gardewaechter ******** ->
Schmettern
Der Gardewaechter faellt tot zu Boden.

Muss man erst dran erinnern oder was?
Tsstsend
Lug

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



Re: Sowas... (Hight, 14. Dez 1999, 23:43:35):
~#! rn=Lug rt=945208645 rg=gilden.kaempfer
~#! tid=945208645
oehm ja ... stark du schaffst nen elfenwaechter .... abba was sollte das ?

*muedguck*

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



Re: Re: Sowas... (Lug, 14. Dez 1999, 23:44:23):
~#! rn=Hight rt=945211415 rg=gilden.kaempfer
~#! tid=945208645

Nicht muede gucken, sondern lesen und verstehen. Aber dazu fehlts Dir
offensichtlich. 

Ab in die Klerikergilde
Lug

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



Wissenwertes von den Haustieren im MG (Karic, 15. Dez 1999, 00:15:03):
Targ kaempfendes Volk!

Fuer alle Gra'Takal, Takal'Mor und Zalkh'Batar die es interessiert, habe 
ich meinen Bericht ueber die Haustiere des Morgengrauens geschrieben.
Der Bericht haengt am schwarzen Brett aus und wartet auf eine Bewertung.

Karic
.#
*tastaturunddickefingeranbrummel*

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



Re: Wissenwertes von den Haustieren im MG (Lug, 15. Dez 1999, 00:17:16):
~#! rn=Karic rt=945213303 rg=gilden.kaempfer
~#! tid=945213303
 Jo,

6 6 6 6

the Number of the Beast
Lug

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



Re: Re: Wissenwertes von den Haustieren im MG (Jamalski, 15. Dez 1999, 17:54:23):
~#! rn=Lug rt=945213436 rg=gilden.kaempfer
~#! tid=945213303
So zum Y2K vierstellig, oder ist meine Bibel ueberholt?

Nyarlathothep Jamalski

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



Re^3: Sowas... (Mammi, 20. Dez 1999, 19:13:39):
~#! rn=Lug rt=945211463 rg=gilden.kaempfer
~#! tid=945208645
Also ich versteh diese Anzeige da nicht.
Mammi

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



Re: vai tvo tsch (Sublime, 20. Dez 1999, 20:00:29):
~#! rn=Afterburn rt=945716358 rg=gilden.kaempfer
~#! tid=945716358
Der Name ist Programm ;) Ist das Deine Geraeuschkulisse, burner ? ;)

liebe pupsis
subl

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



Re^4: Sowas... (Menace, 21. Dez 1999, 14:16:34):
~#! rn=Mammi rt=945713619 rg=gilden.kaempfer
~#! tid=945208645
Ich schon.

Anfangs hat Lug nur sehr hart getroffen, als er aber "daran erinnert" hat,
dass er doch mit der Technik Schlange kaempft...
"Du machst doch schon die Kampftechnik 'Schlange'."
... da hat er dann auch mit Schmettern getroffen.

Menace *aufklaerend

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



Re^4: Sowas... (Lug, 26. Dez 1999, 02:37:52):
~#! rn=Mammi rt=945713619 rg=gilden.kaempfer
~#! tid=945208645

Bist ja auch ne Frau.

Lug

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



Re^5: Sowas... (Lug, 26. Dez 1999, 02:39:48):
~#! rn=Menace rt=945782194 rg=gilden.kaempfer
~#! tid=945208645
Hm,

da muss wohl einer Menace befoerdern...

Knurrend
Lug

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



Das nenne ich hingabe! (Grimman, 29. Dez 1999, 18:21:50):
Oham sagt: Hat jemand Lust, fuer das Kriegsdenkmal der Trves zu spenden?? Es
Oham sagt: kann ja wohl nicht nagehen, dass die Gefallenen der Schlacht von
Oham sagt: Igraz Lumbar nicht gewuerdigt werden. Viele Frauen wurden Witwen
Oham sagt: und viele Maenner verloren ihre Tapferen Ehefrauen. Solche Taten
Oham sagt: muessen gewuerdigt werden, damit sie nie in Vergessenheit geraten!
Oham sagt: Spendet Leute, denn das Denkmal kann eine weitere Politur
Oham sagt: vertragen. Du selbst kannst nun dafuer sorgen, dasss die Helden des
Oham sagt: Angriffs der orks nicht in Vergessenheit geraten, sondern in
Oham sagt: unseren Herzen und den Herzen aller Mudder weiterleben!!!
Oham schuettelt mit seiner Spendenbuechse. Du solltest lieber ein paar Muenzen
spenden, schliesslich ist das Geld fuer einen guten Zweck.

So muss es sein ... weiter so !!!

GrimMan ... ist ueberrascht :)

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



Re: Das nenne ich hingabe! (Heromcfly, 29. Dez 1999, 19:17:54):
~#! rn=Grimman rt=946488110 rg=gilden.kaempfer
~#! tid=946488110

wahren es nicht trolle und keine orks ? :) aber ansonsten nett ja



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



Re: Das nenne ich hingabe! (Jamalski, 29. Dez 1999, 19:58:51):
~#! rn=Grimman rt=946488110 rg=gilden.kaempfer
~#! tid=946488110
Ich wuerde es auch Hingabe nennen, wenn es nicht um Trvys gehen wuerde. Wer
will schon an Witwen und Waisen erinnert werden?
Das zeigt doch nur, dass die Arbeit nicht vollstaendig erledigt worden ist.
Wenn Chaoten das getan haetten, wuerde es kein Denkmal mehr brauchen!

Jamalski

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



Re: Das nenne ich hingabe! (Shannara, 31. Dez 1999, 15:13:26):
~#! rn=Grimman rt=946488110 rg=gilden.kaempfer
~#! tid=946488110
Och, viele Maenner verloren ihre Frauen. Armer Manschkers... warum sind diese
Maenner auch so bloed und gehen bei einer Schlacht drauf?

-> schmarrn.

Shannara

PS: Hm sollte wieder mal meinen Sold einfordern.

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



Re: Re: Das nenne ich hingabe! (Oham,  4. Jan 2000, 13:21:05):
~#! rn=Shannara rt=946649606 rg=gilden.kaempfer
~#! tid=946488110
Da bemueht man sich einmal politisch korrekt zu sein...schon wirds
falsch ausgelegt.

Und ja: Es waren tatsaechlich Trolle. Sorry.


Oham

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



Re^3: Das nenne ich hingabe! (Grimman,  4. Jan 2000, 22:11:07):
~#! rn=Oham rt=946988465 rg=gilden.kaempfer
~#! tid=946488110
Hey ... ich hab das echt positiv gemeint :) und so nen kleinen Versprecher
kann man dann ja auch verzeihen ...

GrimMan

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



Re: Das nenne ich hingabe! (Lug,  4. Jan 2000, 23:17:47):
~#! rn=Grimman rt=946488110 rg=gilden.kaempfer
~#! tid=946488110

Unfug, Grimhorn. Toetet die Witwen, dann leiden sie nicht laenger. Tapfere
Ehefrauen? Melde Dich schnell in der KGilde. Taten wuerdigen? Wuerg! Helden
des Angriffs der Orks? Honeckers Erben oder was?

RAAAAAAAAAUUUSSSSSSSSSSSSSS1
Lug

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



Re: Re: Das nenne ich hingabe! (Lug,  4. Jan 2000, 23:18:43):
~#! rn=Shannara rt=946649606 rg=gilden.kaempfer
~#! tid=946488110

toete shannara

Das sollte Bezahlung genug sein.
Ich

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



Bericht! (Muddel,  1. Feb 2000, 12:05:36):
Salut Kaempfer!

Im Struv haengt ein Bericht von mir, den ihr bitte lesen und bewerten sollt.

Gruss, 

Muddel

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



Re: Bericht! (Lug,  2. Feb 2000, 03:07:26):
~#! rn=Muddel rt=949403136 rg=gilden.kaempfer
~#! tid=949403136

666 the Number of the Beast...

Traellernd
Lug

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



Was ist denn nun kaputt? (Lug,  4. Feb 2000, 01:57:50):

Moin,

eben im Elfenwald:

 Waffenwurf/Zauberstab.. Gardewaechter : Dich......... ******** <- verfehlt


Wie bitte?
Lug

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



Re: Was ist denn nun kaputt? (Amaryllis,  4. Feb 2000, 02:01:19):
~#! rn=Lug rt=949625870 rg=gilden.kaempfer
~#! tid=949625870
a) wie soll man das lesen? Du machst Waffenwurf mit Zauberstab auf
Gardewaechter, und er verfehlt Dich.... oder wie?und was heissen die *********
?
b) ich liebe diese Triggersyntax, da weiss jeder gleich Bescheid.

Amaryllis, Lug die Zunge rausstreckend.

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



Re: Re: Was ist denn nun kaputt? (Lug,  4. Feb 2000, 02:02:49):
~#! rn=Amaryllis rt=949626079 rg=gilden.kaempfer
~#! tid=949625870

Heul doch. Wenn Du es nicht lesen kannst: PECH!

FidKG
Lug

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



Re: Re: Was ist denn nun kaputt? (Wim,  4. Feb 2000, 02:03:45):
~#! rn=Amaryllis rt=949626079 rg=gilden.kaempfer
~#! tid=949625870
Also da hast Du voellig recht. Was auch immer dieses Zeug heissen soll. 
Lug, eine Verwarnung wegen Unleserlichkeit.

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



Re^3: Was ist denn nun kaputt? (Lug,  4. Feb 2000, 02:04:23):
~#! rn=Wim rt=949626225 rg=gilden.kaempfer
~#! tid=949625870

Mir doch egal.
 Beschwer Dich bei Tiamak.
Lug

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



Re^4: Was ist denn nun kaputt? (Amaryllis,  4. Feb 2000, 02:28:50):
~#! rn=Lug rt=949626263 rg=gilden.kaempfer
~#! tid=949625870
Lug?

                        ._________________________.
                /\__/\  |                         |
               /   O O\_|    HALZ                 |
              /          \          MAUL          |
             /      \     \                !!!    |
            /   _    \     \______________________!
           /    |\____\     \      ||
          /     | | | |\____/      ||
         /       \| | | |/ |      _||
        /  /  \   -------  |_____| ||
       /   |   |           |       __)
       |   |   |           |_____  __)
       |  |_|_|_|          |     \___)
       /\                  |       !!
      / /\        |        /
     / /  |       |       |
 ___/ /   |       |       |
|____/    c_c_c_C/ \C_c_c_c


Ama*, heute mal extrem konstruktiv :)

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



Re^5: Was ist denn nun kaputt? (Lug,  4. Feb 2000, 02:29:10):
~#! rn=Amaryllis rt=949627730 rg=gilden.kaempfer
~#! tid=949625870

Nie.

Knapp
Lug

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



Re^6: Was ist denn nun kaputt? (Boing,  4. Feb 2000, 11:54:21):
~#! rn=Lug rt=949627750 rg=gilden.kaempfer
~#! tid=949625870
Gerade vom Vorsitzenden des Vereins zur Reinhaltung der deutschen Sprache
im MorgenGrauen haette auch ich einen lesbaren und verstaendlichen
Artikel erwartet. Also gehe in Dich und bereue, Lug! :)
  Boing

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



Re: Was ist denn nun kaputt? (Jasonrigid,  4. Feb 2000, 15:24:26):
~#! rn=Lug rt=949625870 rg=gilden.kaempfer
~#! tid=949625870
Tja, entweder Ringors Trigger buggen oder der Gardewaechter ist unter die
Kaempfer gegangen. Oder ein fieser Magier hat Dir ein echo untergeschoben, um
Dich zu verwirren :)

J.R.

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



Re: Re: Was ist denn nun kaputt? (Anatol,  4. Feb 2000, 15:26:09):
~#! rn=Jasonrigid rt=949674266 rg=gilden.kaempfer
~#! tid=949625870
Wenn der Gardewaechter unter die Kaempfer ging, so ist er ein sehr
lausiger. Denn a) wirft er ausgerechnet einen Zauberstab [1] und b)
trifft er Lug nicht. Und Lug trifft man doch sooo leicht... :)

Anatol

[1] Naja, ok: Was sollen Kaempfer mit einem Zauberstab auch anderes tun
    als moeglichst schnell moeglichst weit wegwerfen?


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



Re: Re: Was ist denn nun kaputt? (Nonne,  4. Feb 2000, 15:26:17):
~#! rn=Jasonrigid rt=949674266 rg=gilden.kaempfer
~#! tid=949625870
Koennte aber auch daran liegen, dass der Gardi schon im Kampf war. Dann wird
die Waffe nicht angezeigt und Ringors Trigger setzen automatisch die letzte
bekannte Waffe ein. Bei mir war der Kommandofuehrer auch schonmal Krateka ;-)

Nur so ein Tipp
Nonne.

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



Einfuehrung von Studiengebuehren (Bendeigid,  4. Feb 2000, 15:36:26):
Hallo Trves,

im Zuge der allgemeinen Verknappung der Haushaltsmittel und des, gemaess
Gramdala, erhoehten Verbrauchs an Kriegsmaterial ueberlegt die Struvleitung
die Einfuehrung von Studiengebuehren. 
Prinzipiell kann man wohl von jedem der Lernen moechte, einen gewissen Beitrag
zu seiner Ausbildung (ausser der Bereitstellung seines Lebens) fordern. Da
Brieseltrim auch zunehmend unter der Verwaltungslast durch staendige
Azubiwechsel versinkt und demgemaess kaum noch Zeit fuer ernsthafte
Betaetigungen hat, befuerwortet er eine Verwaltungsgebuehr pro Azubiwechsel
von 1000 Muenzen. Der exakte Betrag unterliegt noch der Diskussion innerhalb
der Struvleitung.
Der zahlungsmodus ist aber bereits fesgelegt: Faellig wird die gebuehr beim
ersten erfolgreichen Kill des Ausbilder/Azubi-Teams. Dies soll Missbrauch
vorbeugen.
Der Vorschlag von Zalkh'Batar Karis, Strafgebuehren bei nicht erfolgter
kompletter Ausbildung (also alle faelligen Kills in einem Aufwasch) zu erheben
stoesst noch auf Ablehnung, besonders hinsichtlich der Ruhezeiten, die einige
Trves staendig einzuhalten scheinen.

Diese Vorschlaege seien hiermit zur Diskussion unter zalkh'Batars freigegeben,
Artikel von niedriger graduierten Trves oder Fremdlingen werden ignoriert.
Das neue System wird vermutlich innerhalb der naechsten Woche ohne Aenderung
implementiert.

i.A. fuer die Struvleitung,

Schlachtfeldmarschall Bendeigid

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



Re: Einfuehrung von Studiengebuehren (Sky,  4. Feb 2000, 17:53:35):
~#! rn=Bendeigid rt=949674986 rg=gilden.kaempfer
~#! tid=949674986
Soll doch Kloiren Eisenhelm lieber die Spenden fuer das Kriegsdenkmal auf n
schwarzes Konto bringen... :)

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



Re: Re: Einfuehrung von Studiengebuehren (Anatol,  4. Feb 2000, 18:24:57):
~#! rn=Sky rt=949683215 rg=gilden.kaempfer
~#! tid=949674986
Warte ab was passiert, wenn publik wird, dass Kloiren Eisenhelm
Spendengelder von Llystrathe und Bruno entgegengenommen hat...

Anatol ;o)

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



Re^3: Einfuehrung von Studiengebuehren (Kerrier,  4. Feb 2000, 18:31:08):
~#! rn=Anatol rt=949685097 rg=gilden.kaempfer
~#! tid=949674986

Psssssssssssssst.

*knebel Anatol*

Denn 'der groesste Lump im ganzen Land,
      das ist und bleibt der Denunziant.' (H. Geissler)

In diesem Sinne auf weiter Kooperation beim naechsten Struv'besuch' hoffend

Kerrier

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



Re: Einfuehrung von Studiengebuehren (Goofy,  4. Feb 2000, 19:17:57):
~#! rn=Bendeigid rt=949674986 rg=gilden.kaempfer
~#! tid=949674986
Azubis sollen fuer die Ausbildung loehnen? Das klingt ja doch sehr als koennte
man die Kills kaufen. Oder sollen die Ausbilder zahlen? Der Passus "...eine
Verwaltungsgebuehr pro Azubiwechsel von 1000 Muenzen" klingt sehr danach.
Jeder Trves der sich mit Freuden dem Nachwuchs widmet und andere an seinem
Wissen teilhaben laesst oder aber an der Vervollkommnung seiner Faheigkeiten
arbeitet und dazu mit aelteren Trves durch die Lande zieht um sich Feinden zu
stellen sollte dafuer belohnt werden anstatt Briesel neue Diamanten an seinem
Schwert zu sponsern. Das ganze ruft mir sehr den dritten Schwur ins
Gedaechtnis.

Goofy, Waffenmeister, dagegen

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



Re: Re: Einfuehrung von Studiengebuehren (Belgariad,  4. Feb 2000, 19:19:52):
~#! rn=Goofy rt=949688277 rg=gilden.kaempfer
~#! tid=949674986
Belgariad zahlt keine einzige Muenze!!!!!

Belgariad haelt Studiengebuehren fuer ne Schweinerei! :)

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



Cash (Sky,  4. Feb 2000, 19:49:59):
Wegen den paar Muenzen isses mir eigentlich grad egal...wenn damit irgendwem
geholfen ist..von mir aus.
Fuer einen Kaempfer sollte Geld ja keine Rolle spielen (zumindest nicht in dem
bereits angesprochenen Bereich)
Folge davon wird hoechstens sein, dass diejenigen die Ausbildung brauchen um
Aufzusteigen es nun, u.U. noch schwerer haben werden Ausbilder zu finden. 
Lieber ne NPC-Torwache, die Nicht-Kaempfern n bisschen "Eintrittsgeld"
abkassiert.


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



Re: Cash (Belgariad,  4. Feb 2000, 19:52:03):
~#! rn=Sky rt=949690199 rg=gilden.kaempfer
~#! tid=949690199
Genau! Eine Torwache, die beim Betreten und Verlassen Geld verlangt. ein
Betrag der Random bestimmt wird, und genau bezahlt werden muss. Damit es die
Zaubies etwas schwerer haben unsere Struvies zu metzeln.

Belgariad is voll dafuer.

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



Re: Re: Cash (Sky,  4. Feb 2000, 19:52:23):
~#! rn=Belgariad rt=949690323 rg=gilden.kaempfer
~#! tid=949690199
so wars auch gemeint :)

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



Re^3: Cash (Goofy,  4. Feb 2000, 19:52:57):
~#! rn=Sky rt=949690343 rg=gilden.kaempfer
~#! tid=949690199
Goofy, Waffenmeister, dafuer

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



Re^3: Cash (Pardauz,  4. Feb 2000, 19:54:41):
~#! rn=Sky rt=949690343 rg=gilden.kaempfer
~#! tid=949690199
Pah! Eintrittsgelder! wieder bei den Chaoten abgeguckt oder wie?

Pardauz meint: lasst euch was neues einfallen!

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



Re^4: Cash (Sky,  4. Feb 2000, 19:55:25):
~#! rn=Pardauz rt=949690481 rg=gilden.kaempfer
~#! tid=949690199
noe die chaoten hams von Morgoth abgeguckt...aber darum gehts hier nich

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



Re^5: Cash (Gor,  4. Feb 2000, 19:56:41):
~#! rn=Sky rt=949690525 rg=gilden.kaempfer
~#! tid=949690199
Und Morgoth hat es von den Roemern. Die Typen mit den Mautstellen waren das!
;)

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



Das Anmelden (Dolph,  4. Feb 2000, 20:04:52):
Ich finde die Anmelderei eher laestig. Warumm muss ich einen so langen
Weg ueberhaupt aufnehmen, damit ich jemanden im Struv zur Ausbildung
anmelden muss. Ein kleines Beispiel:
Seit Wochen erforsche ich schon die Wueste und dir Tundra. Aus der Ferne
hoere ich ein Rufen. Ob man wohl meine Hilfe benoetigt ? Ich mache mich 
auf und finde voellig ueberascht ein Mitlied unserer Gilde. Sofort faellt man
in ein Gespraech. Ich merke sofort, dass er noch ein wenig Ausbildung
benoetigt,
also biete ich ihm meine Hilfe an.
Autsch geht ja nicht...ich muss ja erst zu Onkel Briesel... hm was soll das...
es wuerde langen, wenn ich ihm irgendwann mal was davon erzaehle,oder ?

so denk ich halt 
Dolph

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



Re: Das Anmelden (Gor,  4. Feb 2000, 20:07:10):
~#! rn=Dolph rt=949691092 rg=gilden.kaempfer
~#! tid=949691092
Hmm,
da koennte man ja so ne Art Block machen wie beim Hausbau. Der ist Autoload
und immer wenn Azubi und Ausbilder nen Kill machen werd ein Strichen auf der
Karte gemacht. Voraussetzung ist natuerlich, dass beide eine solche Karte bei
sich fuehren. Dann ist jeder selber dafuer verantwortlich.

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



Re: Das Anmelden (Goofy,  4. Feb 2000, 20:09:59):
~#! rn=Dolph rt=949691092 rg=gilden.kaempfer
~#! tid=949691092
Goofy kanns kaum glauben und zitiert nochmal Bendes Artikel um den es hier
ging:
"Artikel von niedriger graduierten Trves oder Fremdlingen werden ignoriert."

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



Re: Re: Das Anmelden (Gor,  4. Feb 2000, 20:56:14):
~#! rn=Goofy rt=949691399 rg=gilden.kaempfer
~#! tid=949691092
Gor empfiehlt ein 'finger gor'

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



Re: Das Anmelden (Goofy,  4. Feb 2000, 21:37:35):
~#! rn=Dolph rt=949691092 rg=gilden.kaempfer
~#! tid=949691092
Oki Dolph, ein Vorschlag zur Guete: Wenn du so viel forschst, leg dir doch ein
Wegescript zu Briesel auf 'unt brieseltrim'. Waer das nicht was tolles?

Goofy wedelt mit dem 'Ein-Herz-fuer-Forscher'-Faehnchen.

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



Re: Das Anmelden (Gnome,  4. Feb 2000, 22:15:27):
~#! rn=Dolph rt=949691092 rg=gilden.kaempfer
~#! tid=949691092
dolph: ein /azubi <name> loest dein 'problem' innerhalb von hoechstens
       2 sek. ich erlaube dir 5 sek mehr, wenn du erst noch bei lag zum
       portal scripten musst...

bende: der 1. april kommt doch erst noch, stell mal deinen kalender zurueck :)

gnOme

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



Re: Cash (Wim,  4. Feb 2000, 22:16:45):
~#! rn=Sky rt=949690199 rg=gilden.kaempfer
~#! tid=949690199
Eintrittsgeld? Jetzt auch noch fuer das Treten von Torwachen zahlen? Und dann
nur einen Tritt? Ne, dann lieber eine Toetungsgebuehr die man dann aus der
Leiche nehmen kann.

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



Re: Cash (Rardian,  6. Feb 2000, 01:03:44):
~#! rn=Sky rt=949690199 rg=gilden.kaempfer
~#! tid=949690199
Eintrittsgeld in den Struv fuer Nicht-Kaempfer? was haben denn Nicht-Kaempfer
ueberhaupt im Struv zu suchen?
Ich bin dafuer, als Torwache einen unkillbaren NPC hinzustellen, der keine
Nicht-Kaempfer vorbeilaesst ( ausser Abenteurer mit Musterungsbescheid inner
Tasche ) ...

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



Re: Re: Cash (Wurzel,  6. Feb 2000, 01:04:52):
~#! rn=Rardian rt=949795424 rg=gilden.kaempfer
~#! tid=949690199
wenn du die ausnahme noch weglaesst, bin ich dafuer.

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



Re^3: Cash (Rardian,  6. Feb 2000, 01:08:47):
~#! rn=Wurzel rt=949795492 rg=gilden.kaempfer
~#! tid=949690199
Hm...
dann gibts ja keinen Nachwuchs mehr, wodurch auch der Thread mit den
Studiengebuehren hinfaellig wuerde...

Rar.


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



Re: Re: Cash (Arancia,  6. Feb 2000, 11:47:14):
~#! rn=Rardian rt=949795424 rg=gilden.kaempfer
~#! tid=949690199
noe, vereidigungen ohne zaubis waeren langweilig

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



Re^3: Was ist denn nun kaputt? (Jamalski,  7. Feb 2000, 19:46:30):
~#! rn=Anatol rt=949674369 rg=gilden.kaempfer
~#! tid=949625870
Ich denke ja, der zauberstab wollte Lug garnicht treffen.

Jamalski kann das gut verstehen!

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



Re: Re: Cash (Sublime,  7. Feb 2000, 20:30:09):
~#! rn=Rardian rt=949795424 rg=gilden.kaempfer
~#! tid=949690199
Ja, genau Rardian ;) Das ist auch genau meine Meinung. Das Struv ist und
sollte kein Metzelgebiet
fuer irgendwelche Spieler (ganz egal von welcher Rasse/Gilde) werden, sonder
dazu da sein, den
Kaempfern, die von ihren langen Raubzuegen wiederkommen, ein Dach ueber dem
Kopf zu bieten... Ich
denke, da wuerde ein unkillbarer NPC mit Gildenabfrage genau richtig
hinpassen. Waere ehrlich gesagt
auch viel realistischer, ich mein, dann kann man ja immer noch 'ne neue Region
proggen,wo sich
Zaubis und Trves gegenseitig bekriegen koennen,...quasi Gotcha im MG ;)

liebe gruesse
subl

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



Re^3: Cash (Sublime,  7. Feb 2000, 20:30:49):
~#! rn=Sublime rt=949951809 rg=gilden.kaempfer
~#! tid=949690199
Sorry, fuer die Formatierung ;)
-
)

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



Re^7: Was ist denn nun kaputt? (Lug,  7. Feb 2000, 23:45:34):
~#! rn=Boing rt=949661661 rg=gilden.kaempfer
~#! tid=949625870
Hae?

Reue? Kann man das essen?

GidKG
Lug

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



Re^4: Was ist denn nun kaputt? (Lug,  7. Feb 2000, 23:52:49):
~#! rn=Jamalski rt=949949190 rg=gilden.kaempfer
~#! tid=949625870

Der Zauberstab ist ne feige Sau.

Basta
Lug

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



Re^3: Cash (Vector,  8. Feb 2000, 09:19:25):
~#! rn=Sublime rt=949951809 rg=gilden.kaempfer
~#! tid=949690199

Wenn ihr wollt, dass keine Rasse/Gilde mehr im Struv metzelt, dann

 --schafft die NPCs dort ab, oder
 --macht sie unangreifbar, oder
 --sorgt dafuer, dass selbige keine Stupse geben

So wie es jetzt ist, ist fuer uns kill- und stupsgeilen Spieler _jederzeit_ 
die Gerechtfertigung gegeben, den Struv in Schutt und Asche zu legen.

--Vector--

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



Re^4: Cash (Anatol,  8. Feb 2000, 09:28:49):
~#! rn=Vector rt=949997965 rg=gilden.kaempfer
~#! tid=949690199
... und eigentlich ist das auch ganz gut so, finde ich. Bleibt nur
zu hoffen, dass irgendwann auch Llystrathes Heerscharen der geistigen
Kraft sowohl bekaempfbar als auch eine Herausforderung werden. 

Wir wollen ja auch unsere Killstatistik. ;o)

Anatol

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



Re^5: Cash (Vector,  8. Feb 2000, 09:31:41):
~#! rn=Anatol rt=949998529 rg=gilden.kaempfer
~#! tid=949690199

Genau, nichtkillbare NPCs sollte man eh abschaffen... (ausser die
quest-relevanten).

--Vector--

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



Re^6: Cash (Anatol,  8. Feb 2000, 09:33:31):
~#! rn=Vector rt=949998701 rg=gilden.kaempfer
~#! tid=949690199
SO pauschal wuerde ich das nicht sagen. :) Wenn ein NPC als Halbgott
mit grosser Macht beschrieben ist, zapt er Spieler in der ersten Runde
weg. Wenn so ein Biest Stupse geben wuerde, griffen Spieler nur in die
Bug-Trickkiste oder zum Karaterudel. Das wollen wir doch vermeiden. :)

Anatol :o)


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



Re^5: Cash (Sky,  8. Feb 2000, 12:17:04):
~#! rn=Anatol rt=949998529 rg=gilden.kaempfer
~#! tid=949690199
*grins* so nach dem Motto:
teile Llystrahte mit: Heimweh
LLystrahte ist leider gerade unpaesslich

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



Re^4: Cash (Heromcfly,  8. Feb 2000, 16:08:30):
~#! rn=Vector rt=949997965 rg=gilden.kaempfer
~#! tid=949690199

das problem ist eher der neid als das metzeln an sich :)
welcher kaempfer hat sich nicht schon geaergert das im diese stupse 
auf ewig verwaehrt bleiben werden oder nur miot recht ...schmerzahften
nebenwirkunngen geholht werden koennen :)

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



Re^5: Cash (Boing,  8. Feb 2000, 16:09:56):
~#! rn=Heromcfly rt=950022510 rg=gilden.kaempfer
~#! tid=949690199
Ein echter Kaempfer aergert sich nicht darueber, denn er empfindet tiefen
Respekt fuer seine Ausbilder und kaeme nie auf die Idee wegen ein paar
Punkten zum Moerder seiner Vorgesetzten zu werden. :)
  Boing

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



Re^6: Cash (Heromcfly,  8. Feb 2000, 16:12:40):
~#! rn=Boing rt=950022596 rg=gilden.kaempfer
~#! tid=949690199

ehemalige ausbilder ;)
und damit ersetzbar

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



Re^7: Cash (Gloinson,  8. Feb 2000, 16:23:08):
~#! rn=Heromcfly rt=950022760 rg=gilden.kaempfer
~#! tid=949690199
Ein echter Kaempfer hat die Ausbilder erst gekillt und ist dann
in die Gilde eingetreten :>

Gloinson

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



Re^6: Cash (Gnome,  8. Feb 2000, 17:04:50):
~#! rn=Boing rt=950022596 rg=gilden.kaempfer
~#! tid=949690199
ganz recht, boing.
und wenn unsere ausbilder nun noch gute rue und auch mal echte waffen in
die hand bekaemen (wie lebensgefaehrlich ist wohl ein holzschwert?), wuerde
sich das struv auch wieder den respekt holen, den es verdient hat.
selbst bei den zaubis.

gnOme

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



Re^7: Cash (Anatol,  8. Feb 2000, 17:07:28):
~#! rn=Gnome rt=950025890 rg=gilden.kaempfer
~#! tid=949690199
Ich kann mich nicht daran erinnern, dass ich Ausbilder um Struv traf,
die defaultmaessig tatsaechlich nur ein Holzschwert bei sich trugen...

Aber richtig, tolle Ausruestung ist auch ein Breitschwert nicht ;)

Anatol

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



Re^6: Cash (Lug,  9. Feb 2000, 01:30:13):
~#! rn=Boing rt=950022596 rg=gilden.kaempfer
~#! tid=949690199

Das ist grober Unfug. Zumindest ich wuerde meine Ausbilder liebend gerne
killen. Allesamt. Die ganze Rotte. Und besonders Trina. Geb mir wenigstens
einen Freischein fuer Trina, oh Ihr Goetter.

FidKg
Lug

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



Re^7: Cash (Novastorm,  9. Feb 2000, 12:55:38):
~#! rn=Gnome rt=950025890 rg=gilden.kaempfer
~#! tid=949690199
Auja, nehmt den Typen endlich das Holzzeuchs weg... wuerde vielleicht auch
diese ganze Offiziersschwemme ein wenig eindaemmen.
  Nova*

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



Re^6: Cash (Sublime,  9. Feb 2000, 23:29:57):
~#! rn=Vector rt=949998701 rg=gilden.kaempfer
~#! tid=949690199
Das ist auch irgendwie Schwachsinn. Wenn dann sollte man das Problem so
loesen,
wie in unserer allseits beliebten 'Schrat'-Quest ! Versucht man Mecki zu
killen,
wird man einfach mal schnell in etwas gefaehrlichere Metzelgebiete
teleportiert.
Damit will ich nicht sagen, dass die FE der SSP fuer erfahrene Spieler ein
Problem darstellt, die werden aber auch wohl kaum Gefallen daran finden, Mecki
mal ein bisschen zu massakrieren.

blutige gruesse
subl

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



Re^7: Cash (Sublime,  9. Feb 2000, 23:48:51):
~#! rn=Sublime rt=950135397 rg=gilden.kaempfer
~#! tid=949690199
Nachschlag :
Viele scheinen immer noch nicht zu kapieren, dass das Struv eine Art
Spielerareal
sein soll, dass auch ein bisschen Flair vermitteln soll und sowas wie
Kasernen-
atmosphaere besitzt. Zum metzeln gibt's genug Katakomben oder Hoehlen...

Btw, wie waers mit 'nem Gebiet, indem 2 Burgen stehen, die von je einer Gruppe
bzw. Gildengruppen besetzt werden und die sich dann selber bekriegen koennen.
So 'ne Art, 'Capture the Flag' auf Textebene,..,oder ist das eher was fuer's
PK-Mud ?

subl ;)

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



Re^8: Cash (Gnome, 10. Feb 2000, 03:07:40):
~#! rn=Sublime rt=950136531 rg=gilden.kaempfer
~#! tid=949690199
herrgottnocheins... ob du das mal mit den 80 zeichen pro zeilen irgendwann
hinbekommst?

gnOme

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



Re^8: Cash (Golas, 10. Feb 2000, 10:17:47):
~#! rn=Sublime rt=950136531 rg=gilden.kaempfer
~#! tid=949690199
in meinen augen ist es doch nur fuer nicht-seher unangenehm, die gerne
aufsteigen wuerden oder sich irgendwas holen wollen und deswegen den weiten
weg machen. klar ist es nervig dann einen leeren struv vorzufinden, aber das
ist auch das einzige ...
wer gerne gildenschlachten austragen will sollte sich mal das schlachtfeld
ansehen. ansonsten wuerd ich vorschlagen nicht darauf einzugehen, wenn die
spitzhuete sich damit bruesten in 0,4 sekunden alleine den struv leergemetzelt
zu haben. lasst sie angeben, dann regelt sich das von ganz alleine.

golas auch schon mal im leeren struv nach befoerderung gefragt habend.

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



Re^9: Cash (Hood, 10. Feb 2000, 11:45:53):
~#! rn=Golas rt=950174267 rg=gilden.kaempfer
~#! tid=949690199
ach was, da machts ja nur noch halb so viel spass, wenn nich wenigstens
ein paar kaempfer herrlicher rumflennen als jede babystation...aber
wir sind dann doch guter dinge, dass dein aufruf ins leere laufen wird
und auch deine diesbezueglich aufgesetzte lockerheit lediglich mehr
schein als sein darstellt. innerlich moechtest du doch mitheulen,
wenn wir eure chefs niedermachen: lass es raus.

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



Re^8: Cash (Karam, 10. Feb 2000, 13:39:04):
~#! rn=Sublime rt=950136531 rg=gilden.kaempfer
~#! tid=949690199
Sicher soll das Struv eine Kasernen- bzw. Festungsatomsphaere vermitteln.
Doch dazu gehoert IMHO, dass die Ausbilder nicht endlos wie angewurzelt in
ihrem Raum stehen und ab und zu mit ihren Holzschwertern spielen, sondern
auch mal was Ernsteres machen. Ohne gelegentliche Angriffe auf das Struv
waere das alles doch langweiliger.

Und was die betrifft, die ihre Befoerderung auf Knopfdruck haben wollen:
Waere denen vielleicht geholfen, wenn bei einem "erhoehe" in der AG gleich
noch das Gildenlevel inkrementiert wird? Doch hoffentlich nicht.

--
Karam

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



Re^5: Was ist denn nun kaputt? (Jamalski, 10. Feb 2000, 20:42:58):
~#! rn=Lug rt=949963969 rg=gilden.kaempfer
~#! tid=949625870
Oder er hat G-Schmack

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



Re^9: Cash (Jamalski, 10. Feb 2000, 20:54:52):
~#! rn=Karam rt=950186344 rg=gilden.kaempfer
~#! tid=949690199
Ich moechte dazu noch anmerken, dass es bei den Samurai Holzschwerter gab, die
locker mal den Rumpf von der Ruebe befreit haben. 
Aber Briesel und Konsorten kloppen sich vermutlich mit zwei Brettern und nem
Nagel.
Jamalski :)

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



Re^6: Cash (Rardian, 11. Feb 2000, 00:05:15):
~#! rn=Vector rt=949998701 rg=gilden.kaempfer
~#! tid=949690199
Was heisst denn hier "ausser die quest-relevanten" ??? Wenn der NPC einen
Grund hat, unangreifbar zu sein, dann sollte er es sein, ansonsten nicht...

Rar.

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



Re^6: Cash (Rardian, 11. Feb 2000, 00:08:39):
~#! rn=Boing rt=950022596 rg=gilden.kaempfer
~#! tid=949690199
Dabei faellt mir ein: Suchst Du nicht noch was fuer Gildenlevel 24? Wie waers
denn mit einem Rentenlevel. Die Hochverdienten Recken setzen sich zur Ruhe und
bilden im Struv von nun an Kaempfer aus, verteidigen den Struv gegen
Karatezweitiearmeen und Zaubis...

Das waer doch was!

Rar.

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



Re^7: Cash (Zook, 11. Feb 2000, 00:14:33):
~#! rn=Rardian rt=950224119 rg=gilden.kaempfer
~#! tid=949690199
Also fuer Lvl 24 wird nichts mehr gesucht... es muesste nur mal fertig
programmiert werden... *in bestimmte Richtungen schiel und grins*

Zook geht in Deckung und proggt weiter an seinem Teil...

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



Re^8: Cash (Rardian, 11. Feb 2000, 00:25:07):
~#! rn=Zook rt=950224473 rg=gilden.kaempfer
~#! tid=949690199
Na dann habt ihr jetzt eben schon was fuer Level 25...

Rar.

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



Re^9: Cash (Sublime, 11. Feb 2000, 01:20:28):
~#! rn=Gnome rt=950148460 rg=gilden.kaempfer
~#! tid=949690199
Ich tu Dir ab jetzt einen Gefallen, Gnome, und zaehle mit. Hmm, sind das jetzt
80 ?

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



Re^10: Cash (Sublime, 11. Feb 2000, 01:22:42):
~#! rn=Sublime rt=950228428 rg=gilden.kaempfer
~#! tid=949690199
Nein ! ;)
-

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



Re^10: Cash (Lug, 11. Feb 2000, 01:56:57):
~#! rn=Jamalski rt=950212492 rg=gilden.kaempfer
~#! tid=949690199

Nicht nur Samurai. Holzschwerter gabs auch bei den Germanen. Waren aber nicht
so doll, wie es scheint...

Lug

-----------------------------------------------------------------------------



Re^11: Cash (Grimmborn, 11. Feb 2000, 09:47:49):
~#! rn=Lug rt=950230617 rg=gilden.kaempfer
~#! tid=949690199
Da duerfte Varus gaenzlich anderer Meinung gewesen sein. 
Hinterher.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^12: Cash (Lug, 13. Feb 2000, 02:53:37):
~#! rn=Grimmborn rt=950258869 rg=gilden.kaempfer
~#! tid=949690199

Da haben die Germanen ja auch roemische Waffen benutzt.

Tjae
Lug

-----------------------------------------------------------------------------



Re^13: Cash (Grimmborn, 13. Feb 2000, 15:07:30):
~#! rn=Lug rt=950406817 rg=gilden.kaempfer
~#! tid=949690199
Behauptest Du. Ich hingegen behaupte, die roemischen Waffen, die man ausgraben
wuerde, wenn man den Ort kennen taete, waeren die die Waffen der Roemer. Nicht
die der Germanen, weil die verrottet sind in der Zwischenzeit. Die waren
naemlich aus Holz.
Aber wenn Du ein Livevideo von der Veranstaltung hast sag Bescheid, das wuerde
ich schon gerne sehen. :-)

Grimmborn der Atheist. Kann ein sumerisches Zeremonienschwert nicht von einem
germanoroemischen Gladius unterscheiden.

-----------------------------------------------------------------------------



Re^14: Cash (Ender, 14. Feb 2000, 11:03:41):
~#! rn=Grimmborn rt=950450850 rg=gilden.kaempfer
~#! tid=949690199
Warum wird den Kaempfern fuer den Erhalt der Stupse nicht gestattet, die
Ausbilder zum fairen Kampf herauszu fordern, in der Arena oder so? Passt doch
bestimmt besser ins Gildenfeeling als ein Gemeiner Ueberfall im Struv.
Naechstens warum duerfen nicht Kaempfer, wenn Ihre aAusbilder angegriffen
werden mit eingreiffen ins Kampfgeschehen? Eigentlich auch seltsam?

Ender, nur mal so.

-----------------------------------------------------------------------------



Re^11: Cash (Jamalski, 14. Feb 2000, 15:55:47):
~#! rn=Lug rt=950230617 rg=gilden.kaempfer
~#! tid=949690199
Ach, dann stammen die Struv von den Germanen ab?
Oder zumindest ihre Holzschwerter...

Jamalski

-----------------------------------------------------------------------------



Re^12: Cash (Jamalski, 14. Feb 2000, 15:58:20):
~#! rn=Jamalski rt=950540147 rg=gilden.kaempfer
~#! tid=949690199
Struv oder trves!
ist doch einerlei!

-----------------------------------------------------------------------------



Re^15: Cash (Makish, 14. Feb 2000, 18:59:52):
~#! rn=Ender rt=950522621 rg=gilden.kaempfer
~#! tid=949690199
Die duerfen wahrscheinlich aus demselben Grund nicht
mitverteidigen, wie Hobbits beim Hobbit-ZT eingreifen duerfen...

An sich waere es aber ne interessante Variante... *g*

Makish

-----------------------------------------------------------------------------



Re^14: Cash (Lug, 16. Feb 2000, 01:10:13):
~#! rn=Grimmborn rt=950450850 rg=gilden.kaempfer
~#! tid=949690199

1) Man kennt inzwischen den Ort: Kalkriese.

2) Natuerlich liegen da auch roemische Waffenteile.

3) Gegen den Handel mit Waffen an die Germanen hatten die roemischen
Autoritaeten nach Ausweis der Schriftquellen was.

4) Roemische Waffenfunde aus daenischen Mooropfern stammen aus Norwegen.
Verwirrt? Lies die Illerup Adal Publikationen. Um Dich zu beruhigen: es sind
Beutopferfunde, die eindeutig von Angreifern aus Norwegen stammen, wie
bestimmte Ausruestungsteile belegen.

5) Holzschwerter erhalten sich unter bestimmten aneroben Bedingungen, z.B.
Brunnensohlen oder Moore und da wurden welche gefunden.

6) Das Livevideo will ich auch, hat das einer?

7) Kapiert?

8) Lug


-----------------------------------------------------------------------------



Re^12: Cash (Lug, 16. Feb 2000, 01:11:12):
~#! rn=Jamalski rt=950540147 rg=gilden.kaempfer
~#! tid=949690199

Die Struv? Wenn es die gibt, stammen die von den Alkoholikern (nicht anonym)
ab.

Geh einen saufen Jamal
Lug

-----------------------------------------------------------------------------



Re^15: Cash (Grimmborn, 16. Feb 2000, 11:56:15):
~#! rn=Lug rt=950659813 rg=gilden.kaempfer
~#! tid=949690199
1) Nicht alles, was in "Spektrum der Wissenschaft" steht ist das Wort Gottes.

2) Klar, wer die Schlacht nicht ueberlebt, der laesst auch seine Waffen da.
   Aber diese Waffen sind von Roemern, nicht von den Germanen.

3) Eben, wenn sie was dagegen hatten dann war er verboten, und hat somit 
   nicht stattgefunden. Also hatten die Germanen nur Holz. Logisch.

4) Ich hab Erdkunde abgewaehlt. Wusste gar nicht, dass Norwegen Teil des
   roemischen Weltreichs war.

5) Klar. Aber nicht in den kalkarmen Boeden von Kalkriese. Dort findet man 
   nur schwermetallverseuchtes Heu, ansonsten nur Metall. Also roemische
   Waffen. Weil die ueberlegenen Holzwaffen der Germanen verrottet sind.

6) Ich jedenfalls nicht (haette ich sonst danach gefragt?).

7) Klar. Die Germanen haben die Varusschlacht mit Holzschwertern gewonnen.
   Begruendung hast Du ja auch selber geliefert (siehe 3 und 5).

8) Grimmborn der Atheist (immer noch keine Ahnung von Archaeologie)

-----------------------------------------------------------------------------



Re^13: Cash (Jamalski, 16. Feb 2000, 14:10:45):
~#! rn=Lug rt=950659872 rg=gilden.kaempfer
~#! tid=949690199
Jetzt weiss ich auch woher die bezeichnung Struv-Suff kommt!

Jamal, antiAlkoholiker

-----------------------------------------------------------------------------



Re^16: Cash (Jamalski, 16. Feb 2000, 14:11:35):
~#! rn=Grimmborn rt=950698575 rg=gilden.kaempfer
~#! tid=949690199
Hast Du jetzt von Anatol dieses tolle Punktesystem beim posting geerbt?

-----------------------------------------------------------------------------



Re^17: Cash (Grimmborn, 16. Feb 2000, 18:03:22):
~#! rn=Jamalski rt=950706695 rg=gilden.kaempfer
~#! tid=949690199
Ich habe auf Lug Punkt fuer Punkt geantwortet.
Wenn Du ueberall Anatol siehst, solltest Du vielleicht mal mit einem Fachmann
drueber reden. Zahlt neuerdings auch die Krankenkasse.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^16: Cash (Lug, 17. Feb 2000, 02:58:53):
~#! rn=Grimmborn rt=950698575 rg=gilden.kaempfer
~#! tid=949690199
1) Ich lese archaeologische Fachblaetter und nicht Bild der Wissenschaft. Hat
was damit zu tun, das ich KEIN Informatiker bin. Die Beweise fuer Kalkriese
sind mehr als schluessig. Haette man auch schon frueher wissen koennen, wie
das Beispiel Mommsen zeigt.

2) Du hast voellig falsche Vorstellungen von der Behandlung zrueckgelassener
Waffen auf Schlachtfeldern.

3) Was ein Unfug. Seit wann haelt sich irgendwer an Gesetze, gerade bei
Waffenhandel? Karl der Grosse hat z.B. per Kapiltularien den Waffenhandel an
Wikinger und Slawwn zu verboten gesucht. Seltsam nur das die meisten Klingen
in Wikingergraebern aus rheinischer Produktion sind.

4) Du hast es nicht kapiert. Rom hat durchaus Politik fernab seiner Grenzen
getrieben. Macht sogar Sinn: Gib den Leuten hinter Deinen Feinden Waffen, dann
kloppen die denen in den Ruecken und man hat Ruh. Das Ausmass roemischer
Fernpolitik wird erst seit wenigen Jahren und ausschliesslich durch die
Archaeologie erkannt. Althistoriker tragen da nichts zu bei. Aber Dein Stand
ist offensichtlich der von vor 15 Jahren.

5) Haeh? Welche Drogen nimmst Du?

6) War als Aufruf an die Allgemeinheit zu verstehen.

7) Aua, ich denk Du besteitest die Ausruestung von Germanen mit roemischen
Waffen und nicht ich. Ich stellte lediglich fest, das es Holzschwerter gegeben
hat. Nachweislich. Die waren aber offensichtlich kein grosser Erfolg.

8) Lug (Archaeologisch durchaus nicht ohne jegliche Kenntnis)

-----------------------------------------------------------------------------



Re^17: Cash (Mahatmu, 17. Feb 2000, 11:39:42):
~#! rn=Lug rt=950752733 rg=gilden.kaempfer
~#! tid=949690199
1) passe
2) Grimmborn geht von voelliger Vernichtungsschlacht aus :>
   Da stuerzen sich die Sieger in die hoelzernen Waffen der Germanen
   und ergo bleibt alles liegen :> Die Bewohner ringsum wurden
   praeventiv ausgeloescht, damit es die Archaeologen spaeter leichter
   haben.
3) hihi ... Waffenschieberei
4) Zu den Zeiten bluehte trotz Unkenntnis ein reger Handel in Europa.
   Es kann sich ja jeder mal die germanischen Muenzen aus griechischer
   Praegung im Pergamon-Museum anschauen.
5) Cola und Alkohol. Manchmal ASS.

Mahatmu

PS: Das Holzschwerter schlecht seien, ist mit ein paar gewonnenen Schlachten
    noch nicht bewiesen. Die Amis hatten in Vietnam auch 'bessere' Waffen ...

-----------------------------------------------------------------------------



Re^17: Cash (Grimmborn, 18. Feb 2000, 18:32:09):
~#! rn=Lug rt=950752733 rg=gilden.kaempfer
~#! tid=949690199
1) He, Du kannst lesen. Cool. Ich dachte, dass sich so Leute wie Du eher
   mithilfe von Hoehlenbildern verstaendigen. OK, vielleicht noch
   Keilschrift.

2) Ich bin Kriegsdienstverweigerer und Pazifist. Macht man da etwa keine
   Pflugscharen draus?

3) Irrelevant, da es nach Meinung "anerkannter Fachleute" (oder was war da
   neulich noch die Bezeichnung fuer Herrn Illig?) Karl den Grossen nicht
   gegeben hat.
4) Damals war ich fuenfzehn. Koennte stimmen, dass ich nach wie vor in 
   dem Bereich auf dem damaligen Stand bin. 

5) Kein Kommentar ohne meinen Anwalt!

6) Ahso.

7) Eben. Germanen hatten nur Holzschwerter, die waren wirkungsvoll. Das
   koennte Varus bestaetigen.

8) Grimmborn der Atheist. Kann Keilschrift von Hiroglyphen unterscheiden.
   Anhand der (deutschen) Beschriftung der Abbildungen.

-----------------------------------------------------------------------------



Re^18: Cash (Jamalski, 22. Feb 2000, 20:10:27):
~#! rn=Grimmborn rt=950720602 rg=gilden.kaempfer
~#! tid=949690199
hab ich doch letztens gerade gemacht....

Fachmann, hmm.... ne, warte! War ja ein Flachmann!
sorry, du!
Jamalski
* * * R U F  A N * * *

-----------------------------------------------------------------------------



Neue Themen! (Boing, 17. Apr 2000, 15:01:04):
Die neuen Themen sind da! Herzlichen Dank an alle, die mir in den letzten
Monaten dazu mails geschickt haben. Auch die Diskussion auf -trves war
mal wieder aufschlussreich ... ;)
  Boing

-----------------------------------------------------------------------------



Zauberer? Ich? (Ringor, 17. Apr 2000, 15:59:52):
Der alte Zwerg sagt: ... Aber das weisst Du ja schon alles, da Du
Der alte Zwerg sagt: flinker Zauberer Dich in dieser Aufgabe schon grandios
Der alte Zwerg sagt: bewaehrt hast!

Zauberer? Ich? Tsunaaaaaami!

Ringor. Kaempfer.

-----------------------------------------------------------------------------



Re: Zauberer? Ich? (Gandur, 17. Apr 2000, 16:01:44):
~#! rn=Ringor rt=955979992 rg=gilden.kaempfer
~#! tid=955979992
er haette elfischer Zauberer sagen sollen.
gandur *haus abschliess* ;)

-----------------------------------------------------------------------------



Re: Zauberer? Ich? (Hood, 17. Apr 2000, 16:02:12):
~#! rn=Ringor rt=955979992 rg=gilden.kaempfer
~#! tid=955979992
wo war jetzt der bug? hat er etwa vergessen, die gilde auch wirklich
umzusetzen? wie kann sowas nachlaessiges nur passieren...tsss

-----------------------------------------------------------------------------



Aushang beachten! (Bendeigid, 12. Mai 2000, 10:50:52):
Hi Maenners (und Trvesinen, jaja),

aus gegebenem Anlass wollte ich nur mal auf die ungeheure Funktionalitaet
unseres "schwarzen Brettes" hinweisen. Man kann die dort ausgehaengten Zettel
sogar _lesen_!

Ausserdem hat Briesel mal seine Zettelwirtschaft aktualisiert. Besonders einer
scheint neu zu sein. 

i.A.  SFM Bendeigid

-----------------------------------------------------------------------------



Re: Aushang beachten! (Wim, 12. Mai 2000, 10:51:27):
~#! rn=Bendeigid rt=958121452 rg=gilden.kaempfer
~#! tid=958121452
Hey, da gibt man sich Muehe, einen kryptischen Artikel zu verfassen und was
machst Du...?


-----------------------------------------------------------------------------



Re: Re: Aushang beachten! (Boing, 12. Mai 2000, 10:52:11):
~#! rn=Wim rt=958121487 rg=gilden.kaempfer
~#! tid=958121452
Ich haette Deinen kryptischen Artikel nie mit Bendeigids in Verbindung
gebracht, wenn Du nicht extra drauf hingewiesen haettest ... ;)
  Boing

-----------------------------------------------------------------------------



Re: Re: Aushang beachten! (Bendeigid, 12. Mai 2000, 10:52:31):
~#! rn=Wim rt=958121487 rg=gilden.kaempfer
~#! tid=958121452
Hae? welcher kryptische Artikel? ich hab nur Briesel beim Zettelaufraeumen
geholfen; da ist nix kryptisches dran. Ausser seiner Handschrift...

Bendeigid verstoert

-----------------------------------------------------------------------------



Re^3: Aushang beachten! (Wim, 12. Mai 2000, 10:52:39):
~#! rn=Boing rt=958121531 rg=gilden.kaempfer
~#! tid=958121452
Dementi:
Mein Artikel hat nichts mit Bens zu tun.
Besser? ;)

-----------------------------------------------------------------------------



Re: Aushang beachten! (Obermotz, 12. Mai 2000, 10:59:54):
~#! rn=Bendeigid rt=958121452 rg=gilden.kaempfer
~#! tid=958121452
Seit wann koennen Trves lesen? Die haben doch das letzte Quentchen Grips beim
Kopfstoss-Ueben verbraucht ;-)

Obermotz findet, dass die Trves sich zu wichtig nehmen

-----------------------------------------------------------------------------



Re: Re: Aushang beachten! (Xenada, 12. Mai 2000, 17:48:36):
~#! rn=Obermotz rt=958121994 rg=gilden.kaempfer
~#! tid=958121452
dafuer setzen wir ja nach moeglichkeit nen helm auf, damit das letzte bischen
verstand heil bleibt ;)
Xenada

-----------------------------------------------------------------------------



Ich LIEBE diese Quest! (Bendeigid, 19. Mai 2000, 10:31:32):
[Trves:Brieseltrim] Pitfall hat die Aufgabe 'Geleit fuer Ainulenda'
[Trves:Brieseltrim] erfolgreich bestanden!
> -t Na hallo!
[Trves:Bendeigid] Na hallo!
Prinzessin Ainulenda wandelt herbei.
Prinzessin Ainulenda zieht ein schimmerndes Kleid aus.
[Trves:Svetlana] grats

Immer wieder suess... 
Die kleinen Dinge, die ein Licht in das Magierleben bringen... 

Bendeigid

-----------------------------------------------------------------------------



Pueh. (Lug, 23. Mai 2000, 02:28:11):

Hm,


Bist Du wahnsinnig?? Du kannst doch nicht im Kampf Deine Waffe schaerfen!


Doch genau das hatte ich vor, ist ja wohl meine Sache.

Aendert das mal.
Lug

-----------------------------------------------------------------------------



Verrat! (Dieder, 24. Mai 2000, 23:08:02):
JasonRigid teilt Dir mit: ach, briesel. der wird doch auch alt, am besten, ihr
JasonRigid teilt Dir mit: zieht euch ins naechste altersheim zurueck und
JasonRigid teilt Dir mit: gruendet eine zweier-senioren-wg ;)  

Allein schon im Namen meines Zweities beantrage ich die Degradierung dieses
"Generals", der seinen Titel eindeutig nicht zu Recht traegt! Steinigt ihn,
schickt ihn in die Klerikergilde!!!

Dieder, empoert.

-----------------------------------------------------------------------------



Chaot gegen Kaempfer (Jasonrigid, 24. Mai 2000, 23:14:20):
Dieder   I S T   J E T Z T   N I C H T   M E H R   D A !!!
Dieder   I S T   J E T Z T   D A !!!
Dieder   I S T   J E T Z T   N I C H T   M E H R   D A !!!
Dieder   I S T   J E T Z T   D A !!!
Dein Freund Dieder teilt Dir mit: hmpflgrmpfl

Du teilst Dieder mit: schon zu tatterig, um sich passabel einzuloggen ?? ;)

Dieder teilt Dir mit: pah! mit dir kann ich immer noch mithalten :)))

Du teilst Dieder mit: hm, mit oder ohne zivi als begleitung ??

Dieder teilt Dir mit: klappe vorlauter jungspund

Du teilst Dieder mit: sabber nicht, alter ;)

Dieder haut dir kraeftig seinen supertollen neuen Krueckstock von Amaryllis um
die Ohren...  Dies
schmerzt kraeftig, das hoert sogar noch Dieder aus der Ferne.

Du teilst Dieder mit: hey, an meiner panzerung schlaegst du dir doch eh nur
Du teilst Dieder mit: deine gehhilfe kaputt :)

Dieder teilt Dir mit: geh weiter spielen und lall nich rum :)

Du teilst Dieder mit: sag deinem zivi, er soll dir nicht so viele
Du teilst Dieder mit: aufputschmittel einfloessen, sondern lieber das eine
Du teilst Dieder mit: oder andere schlafmittelchen ;)

Dieder teilt Dir mit: freches Kaempferpack... ich werd mal Briesel bearbeiten
Dieder teilt Dir mit: dass Du einen Verweis kriegst

Du teilst Dieder mit: der ist froh, wenn er nix von mir hoert, ich nerve ihn
Du teilst Dieder mit: ja schon seit ewigkeiten mit einem eigenen schreibtisch
Du teilst Dieder mit: ;).
Du teilst Dieder mit: okay, einigen wir uns auf unentschieden :)

Dieder teilt Dir mit: ein Chaot gibt nie klein bei Du Klerikerverschnitt!

Du teilst Dieder mit: hm, ich dachte ja nur, es wird vielleicht zuviel fuer
Du teilst Dieder mit: dich ... lesen, dann auch noch tippen ... dauert von
Du teilst Dieder mit: spruch zu spruch laenger :)

Dieder teilt Dir mit: briesel hat sich schon bei mir ausgeheult ueber so
Dieder teilt Dir mit: pfeifen-"generaele" wie dich

Du teilst Dieder mit: ach, briesel. der wird doch auch alt, am besten, ihr
Du teilst Dieder mit: zieht euch ins naechste altersheim zurueck und gruendet
Du teilst Dieder mit: eine zweier-senioren-wg ;)

Du teilst Dieder mit: hah, ich wusste es, du bist eingenickt, stimmts ??

Dieder teilt Dir mit: denkste...

Du teilst Dieder mit: ach klar, jetzt hats der zivi wieder uebertrieben mit
Du teilst Dieder mit: den schlafmittelchen ;)

Dieder teilt Dir mit: ich brauchte zeit um dein schaendlihces tun zu
Dieder teilt Dir mit: veroeffentlichen ...

Du teilst Dieder mit: hey, das ist gemein, ich schneide das schon die ganze
Du teilst Dieder mit: zeit zusammen, um es zu posten *LOL*
Du teilst Dieder mit: chaoten sind ja so gemein ;)

Dieder teilt Dir mit: klar

-----------------------------------------------------------------------------



Re: Chaot gegen Kaempfer (Jasonrigid, 24. Mai 2000, 23:16:19):
~#! rn=Jasonrigid rt=959202860 rg=gilden.kaempfer
~#! tid=959202860

Wennschon, dann alles posten, Dieder :) wenns euch hier nicht passt,
verschiebts halt nach schmarrn :)

Jason

entgegen allen Geruechten immer noch Zalkh'Batar ;)

-----------------------------------------------------------------------------



Re: Re: Chaot gegen Kaempfer (Dieder, 24. Mai 2000, 23:17:35):
~#! rn=Jasonrigid rt=959202979 rg=gilden.kaempfer
~#! tid=959202860
lern du erstmal, auf den richtigen Artikel zu antworten... *waelz* :)

Dieder, sich immer freuend wenn der gilden.kaempfer zuknallen kann :-)

PS: CHAOS RULEZ!!!

-----------------------------------------------------------------------------



Re: Chaot gegen Kaempfer (Kenny, 24. Mai 2000, 23:24:19):
~#! rn=Jasonrigid rt=959202860 rg=gilden.kaempfer
~#! tid=959202860
Naja, die Moral einiger unserer Zalkh'Batar laesst doch sowieso zu wuenschen
uebrig.
Also was solls :)

-----------------------------------------------------------------------------



Re: Re: Chaot gegen Kaempfer (Lug, 24. Mai 2000, 23:26:01):
~#! rn=Kenny rt=959203459 rg=gilden.kaempfer
~#! tid=959202860

*Tret die niederen Raenge*

Jedem was er verdient.
Lug

-----------------------------------------------------------------------------



Re: Re: Chaot gegen Kaempfer (Kenny, 24. Mai 2000, 23:26:05):
~#! rn=Kenny rt=959203459 rg=gilden.kaempfer
~#! tid=959202860
Aehm, zukuenftige Ausbilder natuerlich ausgenommen *G*
mfg Der Sterbende.

-----------------------------------------------------------------------------



Re^3: Chaot gegen Kaempfer (Kenny, 24. Mai 2000, 23:27:57):
~#! rn=Lug rt=959203561 rg=gilden.kaempfer
~#! tid=959202860
Ich waer fuer ne EP-Sperre fuer Dich, so dass "Sie" Sir, Meister aller
Ungewoehnlichkeiten nurnoch als Ausbilder Eps bekommen. Das wuerde helfen :)

-----------------------------------------------------------------------------



Re^3: Chaot gegen Kaempfer (Grimman, 25. Mai 2000, 18:10:20):
~#! rn=Lug rt=959203561 rg=gilden.kaempfer
~#! tid=959202860
Ja immer drauf auf den da !!!

--> Schmarrn

GrimMan

-----------------------------------------------------------------------------



Von Hosen und anderen Beinkleidern... (Del,  5. Aug 2000, 17:54:13):
Halloechen Trves,
seit Heute haengt mein Bericht mit dem Thema 'Von Hosen und anderen
Beinkleidern' bei Kloiren am Brett. 
Ich bitte um fleissige Bewertung.
Bei Kritik und Statements bitte Mail an mich, oder ein kleines tm.

Sonnentochter Del, salutierend

-----------------------------------------------------------------------------



Re: Von Hosen und anderen Beinkleidern... (Del,  5. Aug 2000, 18:18:17):
~#! rn=Del rt=965490853 rg=gilden.kaempfer
~#! tid=965490853
Halloechen nochmal,

tja das mit dem Bewerten meines Berichts ging schneller als erwartet...
Alle, die der Bericht trotzdem noch interessiert, koennen ihn ja in der Bibi
nachlesen.

Sonnentochter Del, im Range des Zalkh'Batar

-----------------------------------------------------------------------------



Themen-rotation (Sinus,  8. Aug 2000, 16:29:25):

Wie schon bei diversen Waffen erfolgreich getestet, setzt sich das
Rotationsprinzip prima durch. Vielleicht liesse sich dies ja auch auf die
Berichtsthemen fuer Lvl22 Kaempfer uebertragen. Leider sind die Themen im
Moment mal wieder alle. Daher mein Vorschlag: Einfuehrung eines
Bearbeitungszeits-limits fuer Berichte 
(6 Monate), anschliessend verteilt Brieseltrim ein neues Thema. So kann man
einem unmoeglich erscheinende Themen loswerden und gibt auch 'neuen' 22ern die
Chance auf ein Thema.

mfg Sinus

-----------------------------------------------------------------------------



Re: Themen-rotation (Gor,  8. Aug 2000, 16:31:29):
~#! rn=Sinus rt=965744965 rg=gilden.kaempfer
~#! tid=965744965
Und das Resultat ist dann, dass jeder auf ein neues Thema wartet und am Ende
zig Themen uebrig sind, und wieder Themenknappheit herrscht. 
Dein Thema ist doch gar nicht sooo schlecht.

Gor kichernd.

-----------------------------------------------------------------------------



Re: Re: Themen-rotation (Nicolai,  8. Aug 2000, 16:33:37):
~#! rn=Gor rt=965745089 rg=gilden.kaempfer
~#! tid=965744965
Jo, genau, fuettert mal den Cheffe mit neuen Themen :)

nicolai, schon gaaanz heiss drauf nen Bericht zu schreiben:)

-----------------------------------------------------------------------------



Re^3: Themen-rotation (Krellja,  8. Aug 2000, 16:47:00):
~#! rn=Nicolai rt=965745217 rg=gilden.kaempfer
~#! tid=965744965
<schmarrn>
Irgendwie ist das Lustig. Da schreibt schon extre Sinus den Artikel zum
Zeitlimit fuer die Berichte, weil wir verhindern wollten, dass die
Diskussion in eine reine Eigennutzdiskussion Marke "krellja will ja nur
ein Thema haben" abgleitet und was passiert? Die erste Reaktion auf
den Artikel war "Was hast Du denn, Dein Thema ist doch gar nicht soo
schlimm"
</schmarrn>

Und nun kommt natuerlich der Eigennutz :-) Ich finde Sinus Idee gut. Auch
ein Gelegenheitsmudder sollte in der Lage sein, innerhalb von 1 Jahr (1/2
Jahr waere mir zu kurz) einen Bericht zustande zu bekommen.

Tschuess
         Krellja

-----------------------------------------------------------------------------



Re^4: Themen-rotation (Anatol,  8. Aug 2000, 17:11:29):
~#! rn=Krellja rt=965746020 rg=gilden.kaempfer
~#! tid=965744965
Wie waere es denn mit einem zahlenmaessigen Ueberblick ueber die
verteilten, aber noch nicht wieder eingereichten Themen? Wenn das
eh nur zwei oder drei Berichtsthemen sind, koennte ich mir SEHR 
gut vorstellen, dass diese Themen auch kein anderer wirklich 
haben moechte...

Anatol . o O ( Und diese Biene, die ich meine... )


-----------------------------------------------------------------------------



Re^4: Themen-rotation (Nicolai,  8. Aug 2000, 17:13:48):
~#! rn=Krellja rt=965746020 rg=gilden.kaempfer
~#! tid=965744965
Ich halte die derzeitigen Zeitlimits fuer den Level-aufsteig fuer 
ausreichend. Nochmal ein halbes Jahr drauf?! Na ich weiss nicht....

-----------------------------------------------------------------------------



Re^5: Themen-rotation (Friedel,  8. Aug 2000, 19:43:46):
~#! rn=Nicolai rt=965747628 rg=gilden.kaempfer
~#! tid=965744965
Wieso macht man nicht mal irgendwo ein Brett wo alle ausgegebenen Themen 
dranstehen?
Ein hoffnungsvoller 22 kann sich dann mal an einen anderen wenden ob dieser
das thema ueberhaupt will.
Wenn nicht koennte dann der 22er ohne thema das thema von jemandem bekommen
dem es nicht gefaellt.und der holt sich dann einfach ein neues :)

nur mal so ne idee

Friedel

-----------------------------------------------------------------------------



Re^6: Themen-rotation (Ark,  8. Aug 2000, 20:45:06):
~#! rn=Friedel rt=965756626 rg=gilden.kaempfer
~#! tid=965744965
Hm, irgendwie kommt man sich doch als Kaempfer sicher wie ein
Studienarbeitsthemasucher bei den Profs vor, oder?
Beileid ;^)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^7: Themen-rotation (Bendeigid,  9. Aug 2000, 11:53:38):
~#! rn=Ark rt=965760306 rg=gilden.kaempfer
~#! tid=965744965
Hallo Trves (und Kuechenpersonal... jaja)

das Problem bei den Berichtsthemen besteht schon einige zeit, und halt immer
mal wieder. Das liegt daran, dass a) immer mehr Leute fanatisch in unsere
phaenomenale Gilde eintreten und (nach vielen Muehen!) auch die hoeheren
Weihen erreichen. Daher wird eine grosse Anzahl Themen benoetigt. Nun, die
damals (4 Jahre?) von uns erfundenen Themen sind laengst alle vergeben, einige
(wenige!) neue Themen sind laengst eingebaut worden und auch vergeben... und
Nachschub trudelt nur SEHR sporadisch ein.
Die Idee mit dem Aushaengen der Liste saemtlicher vorhandener Themen und der
bereits vergebenen ist gut: ich werde das umsetzen, sobald ich kann. 
Das sollte dann den Mitgliedern (auch Juengeren!) die Moeglichkeit geben, sich
gute neue Themen auszudenken und sie uns zu mailen. Natuerlich duerft ihr das
jetzt auch schon... ("uns" ist uebrigens: Boing und Bendeigid)

Die Moeglichkeit, Themen irgendwie auszusuchen (Rotationsprinzip,
Selbstvorschlag, Tausch...) halte ich nach Ruecksprache mit Briesel fuer
unmoeglich. Er fluchte herum und bruellte, er denke sich sehr wohl einiges
dabei, wem er welches Thema gaebe und da solle ihm bloss keiner reinreden.
Tja, soviel dazu...

Viel Spass beim Ausdenken....

i.A. Bendeigid

-----------------------------------------------------------------------------



Re^6: Themen-rotation (Apsu, 10. Aug 2000, 12:01:15):
~#! rn=Friedel rt=965756626 rg=gilden.kaempfer
~#! tid=965744965
Und dann sind wieder zig 'ladenhueter'-Themen uebrig die keiner haben will und
alles noergelt wieder rum?

Keine gute Idee

Apsu

-----------------------------------------------------------------------------



Re^7: Themen-rotation (Obermotz, 10. Aug 2000, 13:02:25):
~#! rn=Apsu rt=965901675 rg=gilden.kaempfer
~#! tid=965744965
Warte mal, das mit noergeln, meckern und jammern ist unserer Gilde
vorbehalten. Ihr muesst schon "diszipliniert" das nehmen, was kommt ;-)

Obermotz will immer noch Sachen haben, die mit K anfangen

-----------------------------------------------------------------------------



Berichte (Sky, 11. Aug 2000, 12:59:08):
Moin
Zur Zeit haengt am Brett ein Bericht von Sigura aus. Der Inhalt ist gleich
Null, da noch nichts geschrieben wurde. Das Problem besteht hier in dem
Editor fuer die Berichte (darauf habe ich bereits vor einem 3/4 Jahr 
hingewiesen), sprich wenn man nur mal eben schauen will wie der Editor tut,
haengt man einen (leeren) Bericht ans Brett.
Das dieser Bericht nun bewertet wird (und zwar mit 6 was sonst) finde ich von
denjenigen Personen im hoechsten Masse unfair und wenig kameradschaftlich.
Dadurch wird die Motivation sicher nicht steigen. Und auch ist fraglich ob
(wenn der richtige Bericht aushaengt) dann jeder da ist um die schlechte Note
wieder zu korrigieren.
Drum meine Bitte: Bewertet solche Berichte doch lieber garnicht, als hier
anderen das (Kaempfer-)Leben unoetig schwer zu machen.

-----------------------------------------------------------------------------



Re: Berichte (Dieder, 12. Aug 2000, 00:05:58):
~#! rn=Sky rt=965991548 rg=gilden.kaempfer
~#! tid=965991548
das Problem kenn ich. Manche Leute scheinen es zu lieben, mit 2ties
hinzuschlappen und ne fette 6 reinzuwuergen die man kaum noch ausbessern kann.
Schade eigentlich.

Dieder

-----------------------------------------------------------------------------



Re^6: Themen-rotation (Karis, 12. Aug 2000, 00:14:31):
~#! rn=Friedel rt=965756626 rg=gilden.kaempfer
~#! tid=965744965
Also. Die Antwort auf diesen Schreiber is rein zufaellig, es haette jeden
anderen
davor auch treffen koennen.
Angehenden Generaele: STILLGESTANDEN!
ANSCHISS!!!
Wie kommt ihr eingtlich dazu, auch nur zu glauben, ihr haettet _irgendeine_ 
Wahl??? Das Thema, das von Briesel ausgegeben wird, _ist_ zu bearbeiten!
Ist das hier ein Haufen von Warmduschern und Sockenfoehnern? Sitzt bei
irgendjemandem das Toupet schief?? Oder was ist hier los?
Will am Ende vielleicht nich jemand das Thema 'NPCs auf der Hochebene (aber
nicht
Robin)' bearbeiten? UNd dafuer vielleicht noch 5,6 Jahre warten?
Was ist das nur fuer ein klaeglicher Jammererhaufen. Anstatt sich sinnvolle
Gedanken ueber neue, ruhmbringende und fuer den Nachwuchs lehrreiche 
Herausforderungen zu machen, verliert man sich in Debatten, wie man der Arbeit
entkommen koennte.... 

Alle Jammerer in den Kuechendienst!

Generaelchen Karis.
PS: Ruehren.

-----------------------------------------------------------------------------



Re^7: Themen-rotation (Heromcfly, 12. Aug 2000, 08:54:37):
~#! rn=Karis rt=966032071 rg=gilden.kaempfer
~#! tid=965744965

recht so :)

kurz und knapp

-----------------------------------------------------------------------------



Re^7: Themen-rotation (Sky, 12. Aug 2000, 13:47:38):
~#! rn=Karis rt=966032071 rg=gilden.kaempfer
~#! tid=965744965
hmm inhaltlicht geht der artikel _vielleicht_ in die richtige richtung, aber
gesamt gesehen ist er (imho) nur peinlich.

Sky, kurz und knapp

-----------------------------------------------------------------------------



Re^8: Themen-rotation (Karis, 12. Aug 2000, 15:56:34):
~#! rn=Sky rt=966080858 rg=gilden.kaempfer
~#! tid=965744965
Hast ja recht, Sky. Die Rechtschreibfehler und die Formatierung
sind/ist in der Tat hochpeinlich. Ich gelobe Besserung.

Generaelchen Karis, heute halbwegs ausgeschlafen.

-----------------------------------------------------------------------------



Re^9: Themen-rotation (Nicolai, 12. Aug 2000, 15:57:38):
~#! rn=Karis rt=966088594 rg=gilden.kaempfer
~#! tid=965744965
Dein Artikel ist inhaltlich unter aller Sau. Nur noch daneben. Bist Du 
Kaempfer? Ist ja nur noch peinlich.

-----------------------------------------------------------------------------



Re^9: Themen-rotation (Sky, 12. Aug 2000, 15:58:38):
~#! rn=Karis rt=966088594 rg=gilden.kaempfer
~#! tid=965744965
es ging eher darum dass du dir so einen ton anmassen tust...wir sind hier
weder rl noch beim bund. das war das peinlich (imho)

-----------------------------------------------------------------------------



Re^10: Themen-rotation (Karis, 12. Aug 2000, 16:00:52):
~#! rn=Nicolai rt=966088658 rg=gilden.kaempfer
~#! tid=965744965
Jaaaa, endlich gehts los :))
Ich waere gerne bereit, meine durchaus subjektive Meinung
zu objektivieren, falls Du von Deiner durchaus subjektiven
Meinung noch ein Stueckchen abtrittst und mir erklaerst,
was so furchtbar ist :)
Deine Frage ist uebrigens leicht erklaert. Ich bin Kaempfer.
Findet man bei 'finger karis'.
Und es tut auch auch wahnsinnig leid, dass Dir das
so peinlich ist. Aber ich fuerchte, da kann ich im 
Moment nix aendern.

Generaelchen Karis, wartet auf detailliertere Flames.

-----------------------------------------------------------------------------



Re^10: Themen-rotation (Jenandra, 12. Aug 2000, 16:02:54):
~#! rn=Sky rt=966088718 rg=gilden.kaempfer
~#! tid=965744965
sowas nennt sich 'rollenspiel'. ihr lasst euch ja auch von npcs
zusammenscheissen :-)

Jenandra, denkt dass nicht nur manche neue das spiel noch nicht verstehen ...

-----------------------------------------------------------------------------



Re^11: Themen-rotation (Sky, 12. Aug 2000, 16:03:12):
~#! rn=Jenandra rt=966088974 rg=gilden.kaempfer
~#! tid=965744965
eben von den _npcs_

-----------------------------------------------------------------------------



Re^11: Themen-rotation (Karis, 12. Aug 2000, 16:03:50):
~#! rn=Jenandra rt=966088974 rg=gilden.kaempfer
~#! tid=965744965
Hey, Jenandra! Nich alles verraten! Das macht am 
Ende ja keinen Spass mehr :)

Generaelchen Karis

-----------------------------------------------------------------------------



Re^8: Themen-rotation (Bambi, 12. Aug 2000, 19:36:30):
~#! rn=Sky rt=966080858 rg=gilden.kaempfer
~#! tid=965744965
Peinlich?
Na gut, wenn man meint, dass die Spieler im Rollenspielen nicht (ihre) Rollen
spielen sollen, schon. Andererseits waer das ja mal ein ganz neuer Aspekt des
Muddens.

-----------------------------------------------------------------------------



Rotation (Sky, 13. Aug 2000, 17:00:23):
Um nochmal nochmal Sinus' Grundidee von den "rotierenden" Themen 
aufzugreifen:

Ich persoenlich finde die Idee gut, da es nicht so sein sollte, dass 
in Zeiten der Knappheit an Themen manche Leute nicht dazu bereit sind 
ihren Bericht zu schreiben. Gut, dazu kann und darf man niemand zwingen
und wer nicht GL 23 werden will darf das ja auch sein lassen. Aber das 
dann "engagiertere" 22er kein Thema bekommen (oder nur Themen im Stil
 wie 'Was ist eigentlich knuddeln?' etc) und somit wirklich am Aufstieg
gehindert werden muss doch zu vermeiden sein.

Ein Zeitlimit waere meiner Meinung nach wirklich eine gute Loesung, wer 
dann z.B. 1 Jahr nach erhalten des Themas keinen Bericht dazu abliefert 
bekommt dieses dann wieder entzogen und erst (viel) spaeter wieder ein 
neues.

Naja nur so als Idee.

-----------------------------------------------------------------------------



neues von der Party (Golas, 13. Aug 2000, 17:11:12):
folgende Neuigkeiten wurden auf der Party gesammelt.

es wurden 23 neue berichtsthemen gesammelt, die Boing hoffentlich mitgenommen
hat :)
die idee mit der rotation wurde ebenfalls aufgegriffen, wenn auch von einem
anderen ansatz her.
und zwar wurde ueberlegt 22ern, die laenger als eine gewisse zeit nicht mehr
eingeloggt waren das thema zu entziehen. somit kann man nicht freiwillig sein
thema abgeben, ohne aufs mudden zu verzichten ... und wer kann das schon. evtl
koennte man auch das thema zurueckgeben, was dann aber einem dauerhaften
verzicht auf glvl 23 gleichkommen sollte (imho)

golas berichtend.
ps: das mit der rueckgabe ist nur auf meinem mist gewachsen, der rest in
groessserer runde

-----------------------------------------------------------------------------



Re^11: Themen-rotation (Gnome, 13. Aug 2000, 17:14:16):
~#! rn=Karis rt=966088852 rg=gilden.kaempfer
~#! tid=965744965
recht so, general karis.
der nachwuchs scheint ein haufen von drueckebergern zu sein.
themenrotation... hat man sowas schon gehoert?

gnOme

-----------------------------------------------------------------------------



Re: Re: Berichte (Oham, 14. Aug 2000, 01:21:46):
~#! rn=Dieder rt=966031558 rg=gilden.kaempfer
~#! tid=965991548
Das Problem kann ich nachvollziehen, ich hatte jedoch eigentlich nicht
vor irgendwem irgendwas zu verbauen (um ehrlich zu sein wollte ich nur
mal testen, ob ich das bewerten kann - und war ueberrascht, dass das
wirklich ging). Vorschlag daher: Bei einer Neufassung eines Berichtes
die alten Bewertungen einfach loeschen und den Bericht neu bewerten
lassen - waere das moeglich??

Oham

-----------------------------------------------------------------------------



Re^3: Berichte (Rardian, 14. Aug 2000, 02:17:53):
~#! rn=Oham rt=966208906 rg=gilden.kaempfer
~#! tid=965991548
Oder waere es vielleicht moeglich zu testen, ob der Inhalt des Berichtes leer
ist und nur dann ein Update mit Loeschung aller Bewertungen zu erlauben? Denn
bei deinem Vorschlag, Oham, koennte ja einfach jemand, der sich zu schlecht
bewertet fuehlt, ein paar "Kommas umstellen", den Bericht neu reinstellen und
darauf hoffen, dass er dann besser (weil vielleicht von anderen Leuten)
bewertet wird...

Rar.

-----------------------------------------------------------------------------



Re^4: Berichte (Silvana, 14. Aug 2000, 09:16:12):
~#! rn=Rardian rt=966212273 rg=gilden.kaempfer
~#! tid=965991548
Ich wuerd ja schlicht einen Bericht von weniger als 2 Zeilen als nicht
geschrieben werten und gar nicht erst akzeptieren. Wenn er dann erst einmal
lang genug ist, sollten dann auch schlechte Noten erhalten bleiben.
Wobei man ueber die Mindestzeilenzahl sicher diskutieren kann. :)

  Silvana

-----------------------------------------------------------------------------



Re^3: Berichte (Gor, 14. Aug 2000, 09:17:22):
~#! rn=Oham rt=966208906 rg=gilden.kaempfer
~#! tid=965991548
Wieso denn loeschen? Ich denke jeder vernuenftige Kaempfer ist jederzeit gerne
bereit den Bericht nachzubewerten. Kleines Beispiel: Ich haenge nen
bescheidenen Bericht auf und mein Freund AnaXXX bewertet den Bericht zu recht
mit lauter sechsen. Nun warte ich ab, bis er sich auslogt, haenge den Bericht
nochmal auf, hau alle meine Freunde an den Bericht zu bewerten. Und schon bin
ich General und habe einen, fuer kleinere Kaempfer, nicht tauglichen Bericht
abgegeben. Schoen zum cheaten! Bravo mehr solcher Ideen!

Gor schmarrnd

-----------------------------------------------------------------------------



Re^4: Berichte (Anatol, 14. Aug 2000, 10:34:45):
~#! rn=Gor rt=966237442 rg=gilden.kaempfer
~#! tid=965991548

Mein kleiner Kaempfer faulenzt vor sich hin, daher kam er bisher nicht
selbst in den Genuss des Bericht-Schreibens, kennt das Procedere also
nur von der (be)wertenden Seite. 

Aber nur so als Frage: Ist der Editor wirklich ein so komischer Editor, 
dass man den nicht mit ~q abbrechen koennte und das Veroeffentlichen
damit abgebrochen wird?

Und ist das so kompliziert gebastelt, dass es schlicht unmoeglich ist, 
unmittelbar vor Aufhaengen seinen eigenen Bericht nochmal automatisch 
durchzulesen (so a la --- Mehr 10% ---)) und dann mit "ja" bestaetigen
muss, wenn man seine Erguesse fuer gereift haelt? 

Oder warum sollte der Bericht nicht ein Zettel sein, den man so lange 
mit sich herumtraegt und aendern kann, bis man ihn explizit ("haenge 
bericht auf|an pinnwand|an toilettentuer") zur Bewertung freigibt, 
ansonsten aber verbrennen, zerreissen oder zum Einpacken von frischem
Obst verwenden kann?

Anatol

-----------------------------------------------------------------------------



Themen (Boing, 14. Aug 2000, 11:21:16):
Hi,
nach einem Blick in meine mailbox habe ich jetzt grob geschaetzt ueber
100 Themen (inklusive denen die ich aus Berlin mitgebracht habe). Diese
muss ich noch mit den bereits existierenden Themen abgleichen. Sobald
das geschehen ist stehen die neuen Themen dann bereit (ich schaetze Ende
der Woche). Vielen Dank an alle die mir Themen geschickt haben.
  Boing

-----------------------------------------------------------------------------



Re^4: Berichte (Matis, 14. Aug 2000, 12:23:04):
~#! rn=Gor rt=966237442 rg=gilden.kaempfer
~#! tid=965991548
Also die Version mit den Freunden wird doch auch schon im Moment
praktiziert - das wuerde sich dann nicht aendern. Nur einfacher.

Matis

-----------------------------------------------------------------------------



Re^8: Themen-rotation (Hight, 14. Aug 2000, 15:22:08):
~#! rn=Bendeigid rt=965814818 rg=gilden.kaempfer
~#! tid=965744965
auch auf die gefahr hin das das irgendwo weiter hintem im thread schon steht
... berichtsthemen haben wir irgendwann letzte woche sehr fleissig gesammelt
.o) also dann mal viel spass beim schreiben *eg*

hight grinsend

-----------------------------------------------------------------------------



Re^3: Berichte (Acrimon, 14. Aug 2000, 20:06:37):
~#! rn=Oham rt=966208906 rg=gilden.kaempfer
~#! tid=965991548
Auf auf, ihr Kaempfer!
Stillgestanden!
Die Tinte in die Koecher, die Federkiele gezueckt und die Papierboegen
gespannt!
In Reih und Glied marschieren die Buchstaben ueber die Zeilen und gruppieren
sich zu Woertern. Praesentiert den Absatz! Die Strafen sind hart! Wenn auch
nur ein Buchstabe ausschert, wird er ausgeloescht. Restlos!
Marsch, und leise, vorsichtig getreten!
Die weiszen Reihen auf Brieseltrims Teppich verlaengern sich mit jeder
fertigen Seite.
Kapitel werden erkaempft, Gehirnzellen sterben ab, andere Gehirnzellen
springen ein.
Bis zum letzten Tintentropfen wird gekaempft!
Wehe, wenn die Flecken siegen!
Schon ermueden die tapferen Trves. Schon werden die Federkiele lasch gehalten.
Zum Sieg fehlt jetzt nur noch das Schluszkapitel!
Eine letzte gewaltige Anstrengung, und das Ziel ist erobert!

Ein Hurra auf die Sieger, ein Hurra auf die Trves!

Acrimon

-----------------------------------------------------------------------------



Re: Themen (Boing, 21. Aug 2000, 15:46:53):
~#! rn=Boing rt=966244876 rg=gilden.kaempfer
~#! tid=966244876
So, ca. 60 neue Themen stehen bei Brieseltrim bereit, viel Spass damit.
Vielen Dank noch mal an alle, die Vorschlaege geschickt haben.
  Boing

-----------------------------------------------------------------------------



Bericht (Arath, 24. Aug 2000, 23:46:05):
Salve!

Seit neustem haengt mein Bericht aus. Ich bitte um Bewertung!

Arath, zackig salutierend.

-----------------------------------------------------------------------------



Berichte (Sky, 25. Aug 2000, 08:00:39):
Hi
ich auesser hier nochmals den Wunsch, die Noten die jeder einzeln einem
Bericht gibt fuer alle sichtbar zu machen.
Das haette den Vorteil, dass a.)keiner ungerechtfertig gute b.)keiner
ungerechtfertigt schlechte Noten geben kann und c.) der Schreiber die
entsprchenden Personen nach ihren Kritieren fuer eine 'schlechte' Note fragen
und das dan ausbessern kann.

Sky

P.S.: Ich persoenlich z.B finde Araths Bericht deutlich besser als ausreichend
und von daher wuerde es mich auch interessieren wie eine solche Note dann
zustandekommt.

-----------------------------------------------------------------------------



Re: Berichte (Tiamak, 25. Aug 2000, 09:14:06):
~#! rn=Sky rt=967183239 rg=gilden.kaempfer
~#! tid=967183239
... was dann dazu fuehrt, dass kein Bericht mehr schlechter als "sehr gut"
bewertet wird, weil keiner die Zeit und Lust hat, sich erst zu rechtfertigen,
warum er welche Note gegeben hat?

Lieber das genaue Gegenteil - die Anzeige der Durchschnittsnoten nur fuer den
Autor des Berichts sichtbar (man neigt sonst zu sehr dazu, genauso zu bewerten
wie die Vorgaenger) und das auch erst, wenn eine Mindestzahl von Bewertungen
(5?) vorhanden ist, damit man auch als erster "gefahrlos" einen Bericht
bewerten kann, ohne sich dafuer rechtfertigen zu muessen.


i.V. Ringor

-----------------------------------------------------------------------------



Re: Berichte (Arath, 25. Aug 2000, 13:56:21):
~#! rn=Sky rt=967183239 rg=gilden.kaempfer
~#! tid=967183239
Hi,

ich denke mal, dass es ausser denjenigen, die eh in _jeden_ Bericht 6er
reinhauen, mir halt auch einige veruebelt haben, dass ich mit etwas spitzer
Zunge ihre Rasse beschrieben habe - das war aber nicht boese, sondern nur
humorvoll gemeint - und irgendwie hatte ich das Gefuehl, dass in einem Bericht
Smileys fehl am Platze sind. :-)
Also nix fuer ungut,

Arath, frischgebackener General :-)

-----------------------------------------------------------------------------



Re: Re: Berichte (Anatol, 25. Aug 2000, 14:35:53):
~#! rn=Arath rt=967204581 rg=gilden.kaempfer
~#! tid=967183239
Inzwischen koennte man die Berichte auch einfach aus den Bedingungen
entfernen - seid doch mal ehrlich: Ein Offizier kann dort inzwischen
jeden Bloedsinn hinschreiben, da er (meist) ueber einen Stamm treuer
Freunde verfuegt, die Kritik nicht in den Noten, sondern allenfalls
via Mail aeussern.

Ist euch das eigentlich nicht peinlich, liebe Kaempfer des Struvs
Koru Tschakar? Da haengen Berichte in euren Bibliotheken, die selbst
ein Bierschuettler haette besser schreiben koennen. Berichte, die 
nur durch hohen Rauschmittelkonsum mit dem Kodex vereinbar sind...

Ich bin fast froh, dass der Papierkram noch an uns Zauberern vorbei-
geht. Wie lange wuerden die Streiter und Streiterinnen der Akademie
der geistigen Kraft zu Taramis gegen engstirnige Buerokratie, Verrat
der eigenen Ideale und organisierte Vetternwirtschaft ankaempfen 
koennen?

Flame a la
Anatol

PS: Moron bewertete Araths Bericht auch nicht gut. Denn Moron glaubt
    noch daran, dass zumindest ein Zalkh'Batar sich des dritten 
    Schwures bewusst sein sollte. Auch als Elf. Offenbar Idealismus.


-----------------------------------------------------------------------------



Re^3: Berichte (Karis, 25. Aug 2000, 14:45:31):
~#! rn=Anatol rt=967206953 rg=gilden.kaempfer
~#! tid=967183239
Jaja.
Es gibt da viele Gruende, warum mancher Bericht gut und mancher
Bericht schlecht bewertet wird. Der eine haengt sich am Inhalt auf,
der naechste an der Aufmachung, der dritte stellt fest, dass da eine
Offizioese was geschrieben hat (was ich jetzt ausnahmsweise mal voellig
wertfrei meine, meine Damen ;).
Und? Was willste tun? MAn koennte die Bewertungsmassstaebe aendern.
Gut. Oder auch nicht. Man koennte auch gleich beim Einloggen darauf
hinweisen, dass dies hier (im formalen Sinne) ein Rollenspiel sei und man
sich dementsprechend zu verhalten haette. 
Was koennte man sonst noch tun? Den Adrenalinspiegel senken, indem man
die Berichte gar nicht erst liest? Oder den Adrenalinspiegel senken, 
indem man sagt, dass alles ganz furchtbar ist? 
Ich warte auf die naechste Folge, in der es heisst, dass ein
Schwarzmagier erstmal ein MAledicio verfassen muss, bevor er seinen
Magisterposten antreten darf. Aber das wuerde wahrscheinlich nicht 
so recht in die Rolle eines ZAuberers passen. 

Antwort auf Anatols Flame a la
Karis

-----------------------------------------------------------------------------



Re^4: Berichte (Silvana, 25. Aug 2000, 14:54:58):
~#! rn=Karis rt=967207531 rg=gilden.kaempfer
~#! tid=967183239
Und was lernen wir daraus? Das MUD ist ein Rollenspiel und auch die Teile von
Rollen, die wir nicht (alle) moegen, finden sich im MUD wieder. Manche stehen
halt besser da, weil sie die richtigen/genuegend Freunde haben, andere, die
sich muehen nur durch Leistung zu glaenzen (was jetzt nichts ueber erstere
aussagt) tun sich schwer... Ist wie im richtigen Leben, oder? Oder meint hier
wirklich noch jemand, Vitamin B(eziehung) sei im wahren Leben wirkungslos? Ist
es nicht und ist es auch nie gewesen. Heute nicht und auch nicht in den von
vielen so geliebten Zeiten wie dem Mittelalter oder dem alten Rom. Ob man das
nun moegen muss ist ne andere Frage, aber solang daraus keine wirklich krassen
Ungerechtigkeiten entstehen, seh ich keinen Anlass, da irgendwas dran zu
verteufeln.

Just my 0.02 $ - Silvana

-----------------------------------------------------------------------------



Re^3: Berichte (Arath, 25. Aug 2000, 14:57:52):
~#! rn=Anatol rt=967206953 rg=gilden.kaempfer
~#! tid=967183239
...und Moron wird auch wissen, weshalb er wohl nie einen Bericht verfassen
wird.

Arath, meint: erstmal selber besser machen.

-----------------------------------------------------------------------------



Re^3: Berichte (Gnome, 25. Aug 2000, 17:57:36):
~#! rn=Anatol rt=967206953 rg=gilden.kaempfer
~#! tid=967183239
:nickt anatol ernst zu und seufzt ein wenig.

gnOme

-----------------------------------------------------------------------------



Re^4: Berichte (Anatol, 26. Aug 2000, 16:26:06):
~#! rn=Arath rt=967208272 rg=gilden.kaempfer
~#! tid=967183239
a) Moron wird seinen Bericht verfassen, wenn er darf.

b) "Erstmal besser machen" ist eine sowas von alberne Argumentation,
   auch wenn sie furchtbar gerne bei allen Gelegenheiten gebracht wird. 
   Der Zahnarzt ruiniert Dir den Kiefer, "Machen Sie es selbst erstmal
   besser!" sagt er. Der Typ an der PA ruiniert das ganze Festival, hat
   fuer Dich (Du bist nur der Keyboarder) ein "Misch' das naechste mal
   doch selbst ab und mach's besser!" uebrig. Der Erzmagier implementiert
   ein bestimmtes Modul neu, alles bricht zusammen, endlose Crashs, Bugs
   und blanke Nerven. "Hey, Du kannst es auch nicht besser, also mecker'
   nicht!".
   Kindchen, wenn Du einen Job oder eine Aufgabe freiwillig uebernimmst,
   dann uebernimmst Du auch die Verantwortung dafuer und musst Kritik 
   einstecken, wenn Du Mist dabei baust. Unter Umstaenden auch von 
   denen, die es (auch) nicht besser koennen oder ihre Faehigkeiten
   noch nicht unter Beweis stellten - sie haben sich im Gegensatz zu
   Dir naemlich auch (noch) nicht dazu bereit erklaert, eben diesen
   Task zu erfuellen.

Anatol - wuerde seinem Zahnarzt was erzaehlen

-----------------------------------------------------------------------------



Re^5: Berichte (Arath, 26. Aug 2000, 16:32:16):
~#! rn=Anatol rt=967299966 rg=gilden.kaempfer
~#! tid=967183239
a) werd nich kindisch und nenn mich nich "Kindchen".

b) ist deine Argumentation insofern keinen Deut besser, als "Berichte
schreiben" weder mein Beruf, Leidenschaft, Hobby noch sonstwas ist, sondern
einfach eine Anforderung fuer diesen Level - und die kann der eine gut und der
andere halt nicht. Dennoch haben alle das Recht auf eine faire Bewertung, auch
wenn sie es halt nicht so gut koennen. Kritik einstecken schoen und gut, ich
bessere ja meinen Bericht auch nach, aber nicht in der Form, wie Du das tust.

c) Deinen Bericht will ich erstmal sehen - wenn er all die Kritikpunkte die
Dich an den Berichten bisher zu solch schlechten Noten veranlasst haben,
beruecksichtig, und dazu noch die hehren Ziele, die Du anscheinend auch bei
mir so straeflich vermisst, beruecksichtigst, muss es ja der absolut
wahnsinnig beste tolle Hammerbericht werden - die Bib freut sich schon im
voraus.

Arath

-----------------------------------------------------------------------------



Re^5: Berichte (Jasonrigid, 29. Aug 2000, 16:46:04):
~#! rn=Anatol rt=967299966 rg=gilden.kaempfer
~#! tid=967183239

Ich fuer meinen Teil finde "erstmal besser machen" keinen Deut alberner als
"heul doch".

Machs doch erst mal besser, respektive : HEUL DOCH !!

Jason

-----------------------------------------------------------------------------



Re: Berichte (Lug, 12. Sep 2000, 22:20:29):
~#! rn=Sky rt=967183239 rg=gilden.kaempfer
~#! tid=967183239
  Ungerechtfertigt schlechte Noten? Gibt es nicht, nur andersrum.

Von sich auf andere schliessend
Lug

-----------------------------------------------------------------------------



Mein Bericht (Docdevil, 20. Sep 2000, 00:00:18):
Ich moechte hiermit kundgeben, dass mein Bericht nun aushaengt, um von Euch
gelesen zu werden.
- DocDevil

-----------------------------------------------------------------------------



sowas... (Beelzebub,  4. Okt 2000, 16:20:00):
hab in der rollstuhl-quest folgendes messer gefunden:

Du betrachtest den spitzen Dolch eingehend.
Er ist eine 1-Handwaffe und gehoert der Gruppe der Messer an. Er macht
sicherlich einen laecherlichen Schaden. Er kann pruegeln.
Er hat ungefaehr ein Gewicht von 568 Gramm. Du wuerdest seinen Wert auf etwa
603 Muenzen schaetzen. Er ist nicht beschaedigt.

beim waffenschaerfen kommt das hier:

Den spitzen Dolch kannst Du leider nicht schaerfen, weil er keine Klinge
besitzt.  

ein dolch, der zu den messern gehoert, aber pruegelt und keine klinge besitzt
???

muss das so ?

Beelze ]:-)

-----------------------------------------------------------------------------



Re: sowas... (Obermotz,  4. Okt 2000, 17:07:43):
~#! rn=Beelzebub rt=970669200 rg=gilden.kaempfer
~#! tid=970669200
Du vergisst, dass es ein spitzer Dolch ist.

Obermotz hat fuer son Kram eh keine Verwendung

-----------------------------------------------------------------------------



Re: sowas... (Gnome,  4. Okt 2000, 21:34:43):
~#! rn=Beelzebub rt=970669200 rg=gilden.kaempfer
~#! tid=970669200
*seufz*

rohrhoere messer%;mail magier%;/mpa off

gnOme

-----------------------------------------------------------------------------



Generalsbericht "Die Feuerstadt der SSP" (Kieselstein, 19. Okt 2000, 22:22:58):
Ich habe meinen Bericht etwas verbessert (hoffe ich). Der DG ist vor dem
Reboot noch gefallen :). Ich bitte um Beurteilung
Gruss Kieselstein

-----------------------------------------------------------------------------



Kampfwille (Lug, 22. Okt 2000, 01:27:13):

Tachgen,

wie waere es wenn man mit Kampfwille diese Hypnose durch Zauberer kontern
koennte?

Los zackig
Lug

-----------------------------------------------------------------------------



Re: Kampfwille (Hight, 22. Okt 2000, 02:21:13):
~#! rn=Lug rt=972170833 rg=gilden.kaempfer
~#! tid=972170833
was fuer ne hypnose ? 

Hight gleich ma bei den zaubis was guckend

-----------------------------------------------------------------------------



Re: Berichte (Darkwing, 27. Okt 2000, 13:28:03):
~#! rn=Christopher rt=972645889 rg=gilden.kaempfer
~#! tid=972645889
Du hast Probleme... aber dass Du schon mit Level 22 die Kills in den
Elementarebenen abgestaubt hast ist einfach toll :-)

-----------------------------------------------------------------------------



Re: Re: Berichte (Matis, 27. Okt 2000, 13:33:05):
~#! rn=Darkwing rt=972646083 rg=gilden.kaempfer
~#! tid=972645889
Ich seh mich bei Paracelsus immer grundsaetzlich als Sterbekandidat ;o).
Aber das war ein Beispiel, und Christopher hat vollkommen recht - nicht
der Unterschied zwischen GL22 und GL23 ist entscheidend ...

Matis

-----------------------------------------------------------------------------



Re: Berichte (Belgariad, 27. Okt 2000, 16:16:30):
~#! rn=Christopher rt=972645889 rg=gilden.kaempfer
~#! tid=972645889
Mit deinem vorletzten Satz hast du das Problem unbewusst erkannt. Berichte
werden nur von wenigen Leuten fair bewertet. Sei es im positiven Sinn oder im
negativen. Ich finde es nicht schlecht, wenn man Leute anspricht, die den
Bericht bewerten koennen. Die meisten reagieren nun mal nur auf ein TM. Woran
das liegt? Frag die Psychotrullas. 
Wenn man jedoch einen miesen Bericht abgeliefert und schliesslich verbessert
hat und versucht seine Note zu verbessern, weil einige der Hohlbrote, die dem
Bericht davor eine 6 verpasst haben (verdient oder nicht sei dahingestellt),
es nicht fuer noetig erhalten den Bericht nachzubewerten, kann ich daran
nichts schlechtes finden.

Belga

-----------------------------------------------------------------------------



Re: Re: Berichte (Golas, 27. Okt 2000, 18:04:22):
~#! rn=Belgariad rt=972656190 rg=gilden.kaempfer
~#! tid=972645889
Moins,

ich finde es ein wenig radikal, einen Bericht ungelesen schlecht zu bewerten,
nur weil man sich zum bewerten genoetigt fuehlt.
wo ist denn das problem, wenn man angesprochen wird einfach mit nein zu
antworten. wollen wir mal die moeglichkeiten anschauen:

- der andere meldet sich nicht mehr -> keine weitere noetigung
- der andere fragt weswegen man nicht bewertet
  - du antwortest: grad keine zeit, mach ich, wenn ich wieder zeit habe
    -> kein weiterer stress
  - du antwortest: weil ich nach den ersten 2 seiten einen anfall bekommen
    habe und dir nicht lauter 6 geben will
    -> knifflig, wer steht denn hier schon ehrlich zu seiner meinung ;)

golas viele probleme nicht verstehend

-----------------------------------------------------------------------------



Re: Berichte (Tsunami, 28. Okt 2000, 01:27:38):
~#! rn=Christopher rt=972645889 rg=gilden.kaempfer
~#! tid=972645889
war ein paar Tage nicht da, deshalb die verspaetete Antwort zu Christophs
Meinung:

nun, niemand wird gezwungen, Level 23 zu erreichen. Bloss, wenn man einen
Funken Verstand hat, wird man wohl versuchen, auf Level 23 zu kommen,
vor allem, um die Skills zu verbessern, denn Level 24 kommt. Ja, er kommt :)
Wir sind drann, arbeiten hart und proggen wie wild an der Gildenquest.

Tsunami. Mal Vorfreude verstreuend.

P.S. natuerlich dauert es noch etwas. Gut Ding will Weile haben :)

-----------------------------------------------------------------------------



Re: Re: Berichte (Rardian, 28. Okt 2000, 01:33:14):
~#! rn=Tsunami rt=972689258 rg=gilden.kaempfer
~#! tid=972645889
Halloechen, Tsu.

Nix gegen deine Vorfreudeverstreuung, warum man aber Verstand braucht, um
Level 23 zu erreichen, will mir nicht einleuchten. Ich dachte, dafuer
braeuchte man nur Levelgeilheit... ;)

Gruss,
und nichts fuer Ungut,
  Rar.

-----------------------------------------------------------------------------



Nachbewertung Bericht (Kieselstein, 28. Okt 2000, 17:22:15):
Da ich im Moment in dieser Lage bin, das mein Bericht nachgebessert werden
musste, kann ich nur sagen : Ein mpa-Mitteilung fand statt (Artikel 4), habe
jeden der bereits Beurteilt hat eine Mail geschrieben, jedoch nur zwei Leute
haben darauf hin nachbewertet !
Nur ein tm * hilft, und ich denke das ich nicht genervt habe, was die
Beurteilung meines Berichtes betrifft. Sehr schwer ist es auch die
entsprechende Leute zu erreichen, weil sie entweder die mpa spaet lesen oder
einfach vergesslich sind. Was bleibt mir also anderes uebrig als ein
hoefliches fragen ob * mal zeit hat meinen Bericht zu lesen. Nun, ich habe
nicht eilig Level 23 zu erreichen, aber irgendwann will ich das schon :). Ich
nehme immer gerne Kritik an, (was leider nur in seltenen Faellen detailiert
erlaeutert wurde) und baue diese auch ein. Desweiteren bin ich fuer Typos sehr
dankbar, da mein Deutsch nicht so gut ist, bin halt ein Hollaender :) (Soll
keine Entschuldigung sein).
So ich habe noch einige Typos verbessert und freue mich auf Anregungen bei
nichtgefallen meines Berichts.
Kieselstein
P.S 
Ein Vorteil hat diese Diskussion :)
Es ist herrlich das so viele Leute meinen Bericht lesen :), ist ja auch ein
schoenes Thema.
Gruss
 
Kieselstein

-----------------------------------------------------------------------------



Re: Nachbewertung Bericht (Hight, 28. Okt 2000, 17:54:37):
~#! rn=Kieselstein rt=972746535 rg=gilden.kaempfer
~#! tid=972746535
ich habe sowol die den artikel in der mpa gelesen als auch die mail ... ich
hab den bericht sogar nochmal gelesen ... ich bin der meinung das er sicht
verbessert hat ... als ich mir selbigen zu gemuete gefuehrt hab warst du nicht
online ... und ich hab wirklich andere sachen im kopf als das ich mir
wochenlang die kritikpunkte an deinem bericht merke ... also soltest du ihn
ein weiteres mal entscheidend verbessert habten (und den teil der wohl unter
komplettloesung fallen koennt [vieleicht is das auch nur mir und sky
aufgefallen ... no1 knows] geloescht hast) werde ich das ding auch noch ein
drittes mal lesen und ggf. neu bewerten

gruss hight

-----------------------------------------------------------------------------



Re: Berichte (Nevok, 28. Okt 2000, 22:56:47):
~#! rn=Christopher rt=972645889 rg=gilden.kaempfer
~#! tid=972645889
Wer Rechtschreibung in einem Bericht anmahnt, sollte eventuell dann doch
selbige beherrschen, oder?

Nevok

-----------------------------------------------------------------------------



Re: Re: Berichte (Patryn, 29. Okt 2000, 23:29:37):
~#! rn=Nevok rt=972766607 rg=gilden.kaempfer
~#! tid=972645889
na ja...da schwebt einem doch glatt eine loesungsmoeglichkeit vor.
wenn es zu schwierig ist, andere berichte zu bewerten oder zu nervig,
und man eigentlich der meinung ist, dass man doch schliesslich den einen
level gar nicht braucht, den man frueher selbst einmal mit der hilfe
allzu deppiger und motivierter sozialweichlinge geschafft hat,
dann sollte man den level einfach wieder aberkannt bekommen.
ist doch nur nen level.

------
patryn
.-

-----------------------------------------------------------------------------



neuer Bericht (Alcina, 31. Okt 2000, 18:10:57):

Liebe Leser,

fuer Interessierte haengt der Bericht zum Thema 'Zauberer: was sie sind und
was sie sein sollen' aus.

Gruss Alcina


-----------------------------------------------------------------------------



Bewertung von Berichten (Matis,  4. Nov 2000, 16:36:02):
Ich moechte hiermit anregen, dass man auch dann noch Berichte von
Generalsanwaertern bewerten koennen sollte, wenn diese bereits genuegend 
positive Stimmen erhalten haben. Die Meinung von 15 Leuten ist meiner
Meinung nach keineswegs repraesentativ, es darf ruhig ein bissl mehr sein.

Matis

-----------------------------------------------------------------------------



Re: Bewertung von Berichten (Golas,  5. Nov 2000, 13:12:09):
~#! rn=Matis rt=973352162 rg=gilden.kaempfer
~#! tid=973352162
gute anregung
nur wann wird ein bericht als abgenommen angesehen?
14 Tage Frist?

Golas auch anregende sein wollend ;)

-----------------------------------------------------------------------------



Re: Re: Bewertung von Berichten (Matis,  5. Nov 2000, 18:35:16):
~#! rn=Golas rt=973426329 rg=gilden.kaempfer
~#! tid=973352162
Jo, eine gewisse Frist waere sicherlich angebracht, 14d halte ich fuer
durchaus vernuenftig. Mindestens 15 Bewertungen, Mindestdurchschnittsnote
wie bisher.

Matis

-----------------------------------------------------------------------------



Re^3: Bewertung von Berichten (Elberet,  5. Nov 2000, 19:05:18):
~#! rn=Matis rt=973445716 rg=gilden.kaempfer
~#! tid=973352162
Ich denke 14 Tage Frist hoert sich gut an und mindestens 15 Bewertungen. 
Vielleicht waere es aber auch nen guter Vorschlag, die besten und
schlechtesten
3 Bewertungen zu streichen. Es gibt ja immer Leute, die den Bericht einfach
ungelesen mit 6 bewerten oder auch mit 1. Ausserdem faend ich gut, wenn man
den Bericht auch wieder abhaengen koennte zu verbesserungen. Bei einer 14 Tage
Frist ist ja nicht zu befuerchten, dass dies dazu benutzt wird schlechte
Bewertungen loszuwerden. Vielleicht waere auch ein automatischer Artikel in
der MPA bei Abgeben und Aendern des Berichtes gut.

Nur ein Paar Vorschlaege zur Diskussion halt

Elbi ( muss seinen Bericht noch schreiben )

-----------------------------------------------------------------------------



Re: Nachbewertung Bericht (Lug,  8. Nov 2000, 22:06:15):
~#! rn=Kieselstein rt=972746535 rg=gilden.kaempfer
~#! tid=972746535

Mist, noch gar keine 6n vergeben...

Lug

-----------------------------------------------------------------------------



Die Staemme des Dschungels (Foobar, 12. Dez 2000, 22:12:04):
Verehrte Kameradinnnen und Kameraden,

seit kurzem haengt mein Bericht mit obigem Thema am schwarzen Brett und
moechte zur Kenntnis genommen und bewertet werden.

Foobar

-----------------------------------------------------------------------------



Hohohoho (Gor, 15. Dez 2000, 17:32:47):
Der Nikolaus hat euch ne kleine Gildenquest beschert. Ich weiss etwas spaet
aber immerhin.
Viel Spass beim questen und mit der kleinen Belohnung.

Gor mit dem grossen Sack. :)

-----------------------------------------------------------------------------



trves.de (Gnome, 20. Jan 2001, 19:53:36):
seid gegruesst, furchtlose krieger, edle kaempferinnen, tapfere recken!

auch an uns geht der fortschritt nicht spurlos vorueber...
natuerlich wird unser struv noch jahrhunderte stehen, brieseltrim uns
alle ueberleben und der alte kodex noch bis in alle ewigkeit gelten.

aber in der anderen welt, rl genannt, tut sich einiges. so kann man
ab sofort die vielen informationen ueber uns an anderer stelle
wiederfinden, naemlich stilecht an einem ort namens "www.trves.de"

es heisst sogar, diese informationen sind _noch_ besser, schneller und
bunter geworden... nunja, schaut halt selbst vorbei!

gnOme

p.s. mein heissen dank an guard, ihm gehoeren die lorbeeren! ich bin
     nur der 'mitgestalter'... :)

-----------------------------------------------------------------------------



Re: trves.de (Heromcfly, 20. Jan 2001, 21:47:15):
~#! rn=Gnome rt=980016816 rg=gilden.kaempfer
~#! tid=980016816

lob und anerkennung :)


-----------------------------------------------------------------------------



Re: trves.de (Solmyr, 21. Jan 2001, 15:59:46):
~#! rn=Gnome rt=980016816 rg=gilden.kaempfer
~#! tid=980016816
Hui, nettes Artwork. Respekt Respekt ! Da sieht man doch mal,
das Kaempfer alles immer etwas besser machen ;)

Solmyr

-----------------------------------------------------------------------------



Meine 3. Hand ;) (Solmyr, 21. Jan 2001, 18:52:20):
Hmm, ich steh doch grad in der Folterkammer und bemerke, dass
sich das da ein Magier ein bisschen zu einfach gemacht hat. ;) 
Oder kann mir jemand erklaeren, warum ich Hanteltraining machen
kann, obwohl meine beiden Haende die Glasaxt fest in Kampfbereit-
schaft haben?

;=)
Solmyr

-----------------------------------------------------------------------------



Re: Re: trves.de (Guard, 23. Jan 2001, 17:25:32):
~#! rn=Solmyr rt=980089186 rg=gilden.kaempfer
~#! tid=980016816
tja, so kann man sich irren Solmyr :-)
alles wozu die Kaempfer faehig waren, ist, nen armen bierschuettler zu
erpressen, die seiten zu designen :-)

Aber recht haste ... Kaempfer koennen mehr als kaempfen! (treten, drohen,
jammern, klatschen ... so ungefaehr war mein Eindruck beim erstellen der
Seiten) ;-)

Guard

PS: keinen falschen Eindruck gewinnen! ich hab das freiwillig gemacht! (das
treten und bejammern lassen meinich :-))

-----------------------------------------------------------------------------



Re^3: trves.de (Solmyr, 23. Jan 2001, 20:16:21):
~#! rn=Guard rt=980267132 rg=gilden.kaempfer
~#! tid=980016816
Hmm, ... Du koenntest ja mal Tsunami oder Boing anhaun ;) Vielleicht wirste
Ehren-
struvsesselpupser dafuer ;) Nee, aber haste gut gemacht :)

Solmyr, der ab sofort die Punktierung durch ;) ersetzt. Rechtschreibreform ?

-----------------------------------------------------------------------------



Re: trves.de (Rardian, 24. Jan 2001, 18:23:25):
~#! rn=Gnome rt=980016816 rg=gilden.kaempfer
~#! tid=980016816
Jupp, sieht super aus!
Allerdings musste ich beim ersten Mal ein wenig suchen, bis ich den Link zu
den Kaempfern (deretwegen ich ja aufgrund der Domain diese Site ja ueberhaupt
aufsuchte...) gefunden hatte...

Gruss,
  Rar.

-----------------------------------------------------------------------------



Re: Re: trves.de (Guard, 24. Jan 2001, 21:52:50):
~#! rn=Rardian rt=980357005 rg=gilden.kaempfer
~#! tid=980016816
die Idee is von Gnome! Jawohl ... sollte nen Intelligenztest fuer Kaempfer
werden

Guard *alle Schuld von sich weisend :-)*

-----------------------------------------------------------------------------



Re^3: trves.de (Gandur, 24. Jan 2001, 22:18:15):
~#! rn=Guard rt=980369570 rg=gilden.kaempfer
~#! tid=980016816
ein intelligenztest von einem zwerg fuer kaempfer ... nunja ;)

gandur, einzeilend

-----------------------------------------------------------------------------



Re^4: trves.de (Guard, 24. Jan 2001, 22:20:47):
~#! rn=Gandur rt=980371095 rg=gilden.kaempfer
~#! tid=980016816
natuerlich .. sorry, dass die elfen den Test ganz selbstverstaendlich
bestehen, hab ich nie in Frage gestellt :-)

Guard *schafft es nie auf einer Zeile*

-----------------------------------------------------------------------------



Re^4: trves.de (Zephyr, 24. Jan 2001, 22:24:58):
~#! rn=Gandur rt=980371095 rg=gilden.kaempfer
~#! tid=980016816

War doch klar dass der Test von einem Zwerg stammt.
Der Button ist UNTEN auf der Seite :)
C4, laesternd

-----------------------------------------------------------------------------



Re^5: trves.de (Solmyr, 24. Jan 2001, 22:42:15):
~#! rn=Zephyr rt=980371498 rg=gilden.kaempfer
~#! tid=980016816
Is' doch klar, das wir Zwerge den Button nicht finden. ;) Die meisten
von uns ham' doch immer ein Bierchen in der Hand und bei zu hohem 
Aljoholpegel leidet bekanntlich die Wahrnehmung ;=)

Solmyr, lallend

-----------------------------------------------------------------------------



Re^6: trves.de (Rardian, 27. Jan 2001, 06:10:15):
~#! rn=Solmyr rt=980372535 rg=gilden.kaempfer
~#! tid=980016816
Jaja, alles auf den Alkohol schieben. Irgendwann werdet ihr Zwerge euch nicht
mehr rausreden koennen!!

Rar, mit Zwergensicht.

-----------------------------------------------------------------------------



guestbook (Gnome,  2. Feb 2001, 17:38:15):
hi,

jetzt sieht das guestbook auch etwas besser aus... :)

gnOme

-----------------------------------------------------------------------------



www.trves.de/trves/text -> text@trves.de (Gnome, 22. Apr 2001, 18:30:17):
hi trves,

der titel sagt eigentlich schon alles.
fuer die andern:
die, die mit einem schwachen modem nur auf den textseiten der gildenseiten
unterwegs sind, koennen jetzt direkt "text@trves.de" eingeben.
funzt aber nur mit javascript.

gnOme

-----------------------------------------------------------------------------



Bekanntmachung (Sinus,  7. Jun 2001, 14:56:46):

Mein Bericht zum Thema "Die Pflanzenwelt des Dschungels" haengt ab sofort am
schwarzen Brett unserer geliebten Gilde aus. Ich moechte alle Interessierten
herzlich zum lesen einladen und alle Berechtigten zur Bewertung auffordern.

Mfg Sinus

-----------------------------------------------------------------------------



Re: Bekanntmachung (Mupfel,  9. Jun 2001, 00:37:03):
~#! rn=Sinus rt=991918606 rg=gilden.kaempfer
~#! tid=991918606
Ist bestimmt ganz kurz oder? ;)

-mupfel-

-----------------------------------------------------------------------------



Aenderung bei Schlange (Boing, 18. Jun 2001, 14:37:30):
Hi,
es gab eine Aenderung bei der Schlangentechnik. Die Spitzen sind nicht mehr
so extrem, aber auch im unteren Bereich sind die Loecher weg. Nun wird der
ein oder andere zurecht sagen: Aber Halt! Der Witz an Schlange sind doch
gerade die Spitzen! Das ist natuerlich richtig, ich rede hier auch von
den Spitzenwerten dieser Spitzen. Also keine Panik. :)
  Boing

-----------------------------------------------------------------------------



Re: Aenderung bei Schlange (Gloinson, 18. Jun 2001, 14:38:40):
~#! rn=Boing rt=992867850 rg=gilden.kaempfer
~#! tid=992867850
Schlangen haben Spitzen? Was sind denn das fuer Schlangen? Und wo kann Pitfall
die metzeln gehen?

Gloin(son)

-----------------------------------------------------------------------------



Re: Re: Aenderung bei Schlange (Wurzel, 18. Jun 2001, 14:39:36):
~#! rn=Gloinson rt=992867920 rg=gilden.kaempfer
~#! tid=992867850
die spitzen bei schlangen sind vorne (zwei stueck) und hinten (eine).


-----------------------------------------------------------------------------



Re^3: Aenderung bei Schlange (Gloinson, 18. Jun 2001, 14:40:38):
~#! rn=Wurzel rt=992867976 rg=gilden.kaempfer
~#! tid=992867850
Ahja.
> schuettelstarre schlange
> nimm schlange
> wirf schlange nach gegner

Stellen wir also fest: Schlangen sind spitz, haben damit Spitzen.

Gloin(son)

-----------------------------------------------------------------------------



Re^4: Aenderung bei Schlange (Boing, 18. Jun 2001, 14:41:20):
~#! rn=Gloinson rt=992868038 rg=gilden.kaempfer
~#! tid=992867850
Koennen die Leute die von richtigem Kaempfen keine Ahnung haben bitte 
einfach die Schnauze halten? ;)
Danke! :)
  Boing

-----------------------------------------------------------------------------



Re^5: Aenderung bei Schlange (Gloinson, 18. Jun 2001, 14:43:33):
~#! rn=Boing rt=992868080 rg=gilden.kaempfer
~#! tid=992867850
Gibs zu, den Skill fuer Waffenwurf hast Du Dir bloss gesetzt.

Gloin(son) murmelt was von komischen Chefs.

-----------------------------------------------------------------------------



Re^6: Aenderung bei Schlange (Grimmborn, 18. Jun 2001, 15:10:25):
~#! rn=Gloinson rt=992868213 rg=gilden.kaempfer
~#! tid=992867850
Was mir jetzt, nachdem ich die ganzen Artikel gelesen habe, nicht klar ist:
Wie genau haelt eigentlich die Spitzenunterwaesche an Schlangen? Ich meine,
die muesste doch schnell abgestreift werden?

GdA

-----------------------------------------------------------------------------



Bericht (Muaddib, 11. Okt 2001, 23:41:45):
Hi Kaempfer,

mein Bericht haengt seit eben am Schwarzen Brett. Ich wuerde mich ueber rege
Beurteilung freuen.

Mua

-----------------------------------------------------------------------------



Frage! (Roland,  3. Jan 2002, 21:54:12):
Was ich schon lang mal wissen wollte. Die Gildenlvl 24-27 ... werden die noch
erstellt und bearbeitet.
Also  irgendwann mal auch fuer spieler erreichbar sein. Oder sind die
weiterhin nur von magieren zu erreichen ?

mfg roland

-----------------------------------------------------------------------------



Re: Frage! (Zook,  3. Jan 2002, 22:10:30):
~#! rn=Roland rt=1010091252 rg=gilden.kaempfer
~#! tid=1010091252
Fuer den Gildenlevel 24 gibt es ein Projekt, das schon so in etwa zur
Haelfte forgeschritten ist. Falls Du dazu Genaueres wissen moechtest,
solltest Du Dich an Bendeigid wenden.

Gruss, Zook.

-----------------------------------------------------------------------------



Re: Re: Frage! (Roland,  3. Jan 2002, 22:43:35):
~#! rn=Zook rt=1010092230 rg=gilden.kaempfer
~#! tid=1010091252
Danke fuer schnelle beantwortung. 
Ich werd ihn mal fragen ob es schon mal irgendwo was zu lesen gibt ... 

MfG Roland

-----------------------------------------------------------------------------



Re: Frage! (Ark,  4. Jan 2002, 11:27:22):
~#! rn=Roland rt=1010091252 rg=gilden.kaempfer
~#! tid=1010091252
Dann wird es heissen: Weghier aufwerten :-)

Was wird Level 25 eigentlich bringen? Halbgoetter? Titanen? Kaiser?

Bringt den Luemmeln doch endlich mal das Denken bei ;^)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Re: Frage! (Apollonia,  4. Jan 2002, 11:36:48):
~#! rn=Ark rt=1010140042 rg=gilden.kaempfer
~#! tid=1010091252
Was die naechsten Lvl bringen werden? Ruhm und nen neuen Titel :o)

Apo*
derzeit in Verhandlung mit Bendeigid

-----------------------------------------------------------------------------



Re^3: Frage! (Cuchullin,  4. Jan 2002, 11:39:34):
~#! rn=Apollonia rt=1010140608 rg=gilden.kaempfer
~#! tid=1010091252
Theoretisch sollten die Konzentrationskosten ab Level 24 wieder steigen.
Ruhm und Ehre... das soll doch den Jungs und Maedels von der Schlachterei
was wert sein. ;)

Cuch"Waffen abwerten"ullin

-----------------------------------------------------------------------------



Re: Re: MPA? (Boing, 15. Jan 2002, 14:54:37):
~#! on=Elberet ot=1011102774 og=diskussion
~#! rn=Anacrion rt=1011102619 rg=diskussion
~#! tid=1011102554
ich faend wichtiger, dass in der mpa veroeffentlicht wird, wenn der Bericht
ausgehaengt wird, und der mind ne Woche haemngen muss oder so

jaja, ich bin ja General, ich kann ja jetzt bloedsinn vorschlagen, aber
sinnvoll faend ich das trotzdem

-----------------------------------------------------------------------------



Re: man schaerft und schaerft, aber nicht das was man will.... (Boing,  6. Mar 2002, 09:08:14):
~#! rn=Garon rt=1015297491 rg=schmarrn
~#! tid=1015297491
Hi,
da ich zu diesem Thema jetzt auch noch mail bekommen habe moechte ich
das kurz klarstellen:
Wenn beim Waffenschaerfen zwei Waffen vorhanden sind, die auf die 
angegebene Id ansprechen (im Beispiel: Axt), dann wird die Waffe
geschaerft, die sich als erstes im Inventory findet. Im Beispiel ist
das also die Daemonenaxt.
'zuecke' verhaelt sich aber anders: Bei 2 Waffen, die auf die id ansprechen,
wird immer die erste NICHT GEZUECKTE verwendet.
Beides ist korrektes, gewolltes Verhalten.
  Boing

-----------------------------------------------------------------------------



www-seiten (Gnome,  3. Okt 2002, 00:03:58):
wer es vielleicht gemerkt hat: die seiten sind zZt nicht erreichbar.
liegt daran, dass die domain grade umzieht. also keine panik,
in kuerze ist alles wieder beim alten :)

gnOme, kleinschreiber aus faulheit

-----------------------------------------------------------------------------



Re: Wurfsterne (Goethe, 19. Jan 2003, 20:55:36):
~#! rn=Boing rt=1043005718 rg=gilden.kaempfer
~#! tid=1043005718
Ich glaube das kann man als Abwertung betrachten...
nur mal den Leuten in Erinnerung rufend die da seit Jahren nach schreien...

Goethe diese Aenderung gut findend.

-----------------------------------------------------------------------------



Re: Re: Wurfsterne (Elberet, 19. Jan 2003, 20:57:14):
~#! rn=Goethe rt=1043006136 rg=gilden.kaempfer
~#! tid=1043005718
nein das kann man als debuggen betrachten, nicht als Abwertung. Jeder mit
einigermassen funktionierendem gesunden Menschenverstand musste das als Bug
ansehen.

Elbi

-----------------------------------------------------------------------------



Re^3: Wurfsterne (Goethe, 19. Jan 2003, 20:59:38):
~#! rn=Elberet rt=1043006234 rg=gilden.kaempfer
~#! tid=1043005718
Widerspricht sich debuggn und anwerten? Das geht in diesem Beispiel Hand in
Hand...

Goethe

-----------------------------------------------------------------------------



Re^4: Wurfsterne (Elberet, 19. Jan 2003, 21:20:01):
~#! rn=Goethe rt=1043006378 rg=gilden.kaempfer
~#! tid=1043005718
abwerten in diesem zusammenhang? wer finte auf wurfsterne gemacht hat, hat
offensichtlich bugs ausgenutzt. Dies kann also niemals eine Abwertung sein.
Soweit ich mich erinnere, ist in diesem Mud das Bug-ausnutzen nicht
erwuenscht.

Elbi

-----------------------------------------------------------------------------



Re^5: Wurfsterne (Elberet, 19. Jan 2003, 21:23:54):
~#! rn=Elberet rt=1043007601 rg=gilden.kaempfer
~#! tid=1043005718
nur der vollstaendigkeit halber das zitat aus Hilfe regeln:

Das MorgenGrauen baut auf die Arbeit vieler freiwilliger
    Programmierer auf. Wie bei jedem Programm kann es dabei zu Fehlern,
    auch Bugs genannt, kommen.

    Jeder Spieler sollte ein Interesse daran haben, dass diese Fehler
    beseitigt werden.

Das Verschweigen und Ausnutzen von Fehlern ist anderen Spielern
    gegenueber unfair und ist daher zu unterlassen.

Sprich, wenn du das als Abwertung betrachstet hast du dich wahrscheinlich
bisher teilweise nicht den Regeln konform verhalten und solltest eigentlich
auf eine Mail des Sheriffs warten.

Elbi

-----------------------------------------------------------------------------



Re^6: Wurfsterne (Goethe, 19. Jan 2003, 21:30:49):
~#! rn=Elberet rt=1043007834 rg=gilden.kaempfer
~#! tid=1043005718
Da siehst du etwas falsch. Dies gleichzeitig als Abwertung zu betrachten ist
reine Ansichtssache, sich nicht regelkonform zu verhalten ist eine andere
Sache. Ersteres trifft sowohl auf mich wie auch auf meinen Spieler zu,
letzeres weder auf ihn noch auf mich. Ich hoffe du willst mir nicht
unterstellen diesen Bug wissentlich ausgenutzt zu haben.

Goethe

-----------------------------------------------------------------------------



Re: Re: Wurfsterne (Kieselstein, 20. Jan 2003, 16:33:56):
~#! rn=Goethe rt=1043006136 rg=gilden.kaempfer
~#! tid=1043005718
Ganz klar, das ist ne Abwertung.
Eine Finte sehe ich an als einen Angriff um einen Gegner in die irre zu
fuehren, das dann ein wurfstern oder anders besser trifft ist doch ganz
logisch.
Das heisst im Klartext "anderes" auch abwerten, damit mann diese Aenderung als
"Fehlerbehebung" beschreiben kann

Kieselstein

-----------------------------------------------------------------------------



Re^3: Wurfsterne (Boing, 20. Jan 2003, 16:47:25):
~#! rn=Kieselstein rt=1043076836 rg=gilden.kaempfer
~#! tid=1043005718
Laut Lehrbuch (also Beschreibung der Finte durch den Ausbilder) lenkt
die Finte das Opfer so ab, dass der darauffolgende Angriff bessere 
Wirkung zeigt. Es wird weiterhin geschrieben, dass der Fintenschlag
im letzten Moment abgebrochen wird, um dann eine andere Technik zum 
Einsatz zu bringen, hier sind Waffentechniken, aber auch Tritte oder
sonstwas genannt. Man kann den Wurfstern als eine solche Technik ansehen,
wenn man denn will. Insofern wuerde ich es nicht als Bugausnutzen ansehen.
Die Entscheidung, hier eine Aenderung vorzunehmen, war eine balance-
technische.
Damit kann diese Diskussion dann wohl beendet werden ... :)

  Boing

-----------------------------------------------------------------------------



Re^5: Wurfsterne (Roland, 26. Jan 2003, 21:13:24):
~#! rn=Elberet rt=1043007601 rg=gilden.kaempfer
~#! tid=1043005718
Ich sehe es auch als abwertung.
Denn was spricht den dagegen das man seinen gegner erst ablenkt bevor man
einen Wurfstern auf ihn wirft.

-----------------------------------------------------------------------------



Re^6: Wurfsterne (Orktoeter, 26. Jan 2003, 21:16:19):
~#! rn=Roland rt=1043612004 rg=gilden.kaempfer
~#! tid=1043005718
Wenn du im "infight", am besten noch nach einem "unterlaufen" noch Wurfsterne
wirfst, ist da eh etwas faul. Denn Finte ist etwas das man im infight
anwendet. Auf Entfernung wirkt das eigentlich nur laecherlich... hoer die den
Vortrag dazu noch mal an.

OrkT, Abenteurer.

-----------------------------------------------------------------------------



Re^6: Wurfsterne (Darkwing, 26. Jan 2003, 21:35:09):
~#! rn=Roland rt=1043612004 rg=gilden.kaempfer
~#! tid=1043005718
Naja, Morgoth hat die Finte schon vor 3 Jahren im Wurfstern selber abgefangen.
Dieser ganze Thread hier ist einfach nur ... ach ich weiss auch nicht. So
erbaermlich jammern ja nichtmal die Zauberer :-)

Darkwing

-----------------------------------------------------------------------------



Re^7: Wurfsterne (Patryn, 26. Jan 2003, 22:23:21):
~#! rn=Darkwing rt=1043613309 rg=gilden.kaempfer
~#! tid=1043005718
Die sinnvollste Aktion waer wohl einfach, sie zu ner echten Fernwaffe zu
machen. Nix mehr als Bonux aus der 1. Reihe, und Finte...nun ja :)

-- 
Patryn

-----------------------------------------------------------------------------



Re^8: Wurfsterne (Cadrach, 26. Jan 2003, 22:27:08):
~#! rn=Patryn rt=1043616201 rg=gilden.kaempfer
~#! tid=1043005718
Wurfsterne sind sowohl Fernkampf, als auch Nahkampfwaffe. Im Ninjutsu werden
sie zum Teil sogar auch als richtige Waffe eingesetzt und nicht geworfen!
Mit 0 Haenden und zusammen mit einem 2 haendigen Schwert kann man sie jedoch
sicherlich nicht einsetzen - zumindest die linke Hand muss da schon noch frei
sein.

Cad*

-----------------------------------------------------------------------------



Re^9: Wurfsterne (Patryn, 26. Jan 2003, 22:28:20):
~#! rn=Cadrach rt=1043616428 rg=gilden.kaempfer
~#! tid=1043005718
Ah, wusst ich nicht. Dachte echt nur geworfen...war ja nur so Idee :)
So gesehen nutzen manche Pfeile ja auch als Nahkampfwaffen, zumindest in
den ueberkandidelten Actionsequenzen heutiger Fantasywerke ;)

-- 
Patryn

-----------------------------------------------------------------------------



Re^9: Wurfsterne (Cuchullin, 26. Jan 2003, 23:02:14):
~#! rn=Cadrach rt=1043616428 rg=gilden.kaempfer
~#! tid=1043005718
Im Ninjutsu hat der Shuriken im Wesentlichen zwei Bedeutungen: 
a) Als Waffe in der Hand, allerdings nur, wenn keine anderen kleine
   Klingen verfuegbar sind - ist nicht ganz risikofrei mit etwas zu
   hantieren, das an vier bis zwoelf Ecken scharf ist.
b) Als Fintenwaffe (SIC!). Niemand bleibt stehen und wartet, bis der
   Shuriken im Gesicht einschlaegt. Und alle anderen Koerperpartien
   waren bei Samurai im Kampf weitestgehend geschuetzt, den Unterarm
   bzw. die Innenseiten der Oberschenkel haelt Dir, so stolz die 
   Samurai auf ihren Ehrenkodex auch waren, freiwillig niemand hin.
   Das heisst: Du wirfst das Teil, zielst natuerlich auf das Gesicht, 
   rechnest aber nicht damit, das Du triffst. Vielmehr nutzst Du den
   Moment der Unachtsamkeit des Gegners aus und steckst ihm Dein 
   To sonstwohin. Klar, dass es auch sein kann, dass der Shuriken
   trifft. Kann sogar sein, dass er bitteren Schaden verursacht, man
   muss dem Gegner ja einen Grund geben, auszuweichen. Wenn er es nicht
   tut... Pech ;). Und ja, geuebte Shinobi sind durchaus in der Lage,
   Shuriken zusaetzlich zum zweihaendigen (oder zumindest anderthalb-
   haendigen) Schwert zu handhaben.

Wenn Moggl also die Shuriken originalgetreu umsetzen will, muesste
man sie zuecken koennen (Waffenklasse 90, Du verletzst Dich ab und
zu selbst) und werfen - und geworfen wirken sie dann als Finte. :)

Cuch


-----------------------------------------------------------------------------



Re^10: Wurfsterne (Orktoeter, 26. Jan 2003, 23:17:10):
~#! rn=Cuchullin rt=1043618534 rg=gilden.kaempfer
~#! tid=1043005718
Als Nahkampf (Stichwaffe) hat er Nachteile, du erwaehntest es selbst. Wenn du
einen Wurfstrn wirfst, kannst du entweder gut ausholen und mit voller Wucht
werfen (dann gestehe ich dem beim treffen einer ungepanzerten Stelle einigen
Schaden zu), oder du wirfst quasi nur aud dem Handgelenk, dann aber hat er
nicht viel Kraft = macht nur wenig Schaden. Ausserdem ist das mit der
Wurfgeschwindigkeit so eine Sache wenn du jedesmal weit ausholst zum werfen
kannst du nicht wirklich schnell sein. Wenn du weit ausholst zum werfen ist
die Hand fuer eine "echte" Waffe nicht zur Verfuegung, ausserdem bist du in
der Zeit relativ offen. D.h. einen Wurfstern "feste" zu werfen kannst du quasi
nicht machen wenn du schon im infight bist.

Einen Wurfstern im Infigth als Ablenkung mag ich noch gelten lassen, aber der
wird dann auch nur allerhoechst selten Schaden machen und wenn nicht viel.

OrkT, Wurfsterne in die 2. Reihe begruesser.

-----------------------------------------------------------------------------



Re^11: Wurfsterne (Grimmborn, 26. Jan 2003, 23:18:34):
~#! rn=Orktoeter rt=1043619430 rg=gilden.kaempfer
~#! tid=1043005718
Ich bin anderer Ansicht. Laesst sich zum Glueck leicht klaeren: Ich werfe
einfach mal einen Wurfstern auf Dich, aus 2m Entfernung, nur aus dem
Handgelenk. Und Du sagst dann ob es Dir weh getan hat, ja?

GdA

-----------------------------------------------------------------------------



Re^12: Wurfsterne (Orktoeter, 26. Jan 2003, 23:21:13):
~#! rn=Grimmborn rt=1043619514 rg=gilden.kaempfer
~#! tid=1043005718
OK, wenn ich das 2-Handschwert bereits zum vernichtenden Schlag ausgeholt habe
und auf Dich zugelaufen komme, so das ich in der darauffolgenden Sekunde
zuschlage. (liest du eigentlich mit? Es geht um den Infight, also wenn sich
zwei Gegner mit Waffe in der Hand gegenueber stehen und aufeinander
einschlagen). Wenn du da mal eben 2m Abstand hast und eine Wurfwaffe einsetzen
kannst, schreib den Gegner ein Dankschreiben.

OrkT.

-----------------------------------------------------------------------------



Re^13: Wurfsterne (Cuchullin, 26. Jan 2003, 23:24:12):
~#! rn=Orktoeter rt=1043619673 rg=gilden.kaempfer
~#! tid=1043005718
Geh davon aus, dass der Shuriken nicht knallrot angemalt ist und auch
nicht piepst, wenn Dein Gegner ihn auspackt. Nein, er zieht ihn einfach
irgendwann in einer fliessenden Bewegung aus dem Aermel - er schwingt 
halt sein Schwert, das ist Dein Eindruck - und ploetzlich wirft er. Wenn
Du Pech hast und einen richtig GUTEN Gegenueber hast, siehst Du selbst
das nicht richtig. Und ja, ich rede auch von "infight".

Kennt mindestens vier Europaer, die er "GUT" nennen wuerde,
Cuch

-----------------------------------------------------------------------------



Re^14: Wurfsterne (Grimmborn, 26. Jan 2003, 23:29:20):
~#! rn=Cuchullin rt=1043619852 rg=gilden.kaempfer
~#! tid=1043005718
OrkT, wenn Du Dir mal ansiehst wie so ein Nahkampf aussieht, dann sind 2m
Entfernung durchaus nicht selten. Wenn wir uns auf konstant 50cm nahe sind
goenne ich Dir Dein 2-Handschwert und schnitze Dir solange mal mit meinem
Taschenmesser die Nieren raus. Wenn Du verstehst was ich meine. 

GdA

-----------------------------------------------------------------------------



Re^15: Wurfsterne (Orktoeter, 26. Jan 2003, 23:51:59):
~#! rn=Grimmborn rt=1043620160 rg=gilden.kaempfer
~#! tid=1043005718
Also ersten halte ich 2m fuer eher ungewoehnlich im Infight. 
Aber ich rate Dir zu folgendem: Besorge dir ein Stueck Leder aus irgendeiner
alten Lederjacke die entsorgt wird. Besorg dir einen Wurfstern. Wenn du das
naechste mal einen etwas groesseres Stueck Braten kaufst haenge dieses Vor
eine feste Flaeche (z.B. eine Wand. gib als erstes eine Schicht sauberen
Leinenstoff darueber (so das du es noch verwenden kannst), gib ein der 2 Lagen
"einfachen" Stoff, ein altes T-Shirt und einen alten Pullover darueber, davor
stopfe (und recht dichtes stopfen ist hier wichtig) Watte. Ganz vorne als
erste Schicht ist dann die Lederjacke (ist also eine sehr primitive Form einer
wattierten Lederruestung. Wenn du es dann schaffts das dein Wurfstern aus 2m
entfernung einen Ritz ins Fleisch macht, bewundere ich dich zutiefst. (evtl
wenn du mit aller Kraft wirfst, aber ich bezweifele selbst das.

Du hast doch auch ein wenig Ahnung von Physik: Was da den Schaden macht ist in
erster Linie der Impuls und das ist Masse mal Geschwindigkeit. Im normalen
Infight (also wenn man den Gegner nicht unterlaufen hat und ihm mit einem
Messer oder aehnlichem versucht im Gedaerm herumzustochern verwendet man
Schwerter oder Aexte. Diese haben eine recht grosse Masse. Wurfsterne dagegen
sind sehr leicht, die koennen also nur dann einen grossen Impuls haben, wenn
sie sehr schnell sind. Dazu muss man sie aber mit alle Kraft werfen. So eine
"studded Leather"-ruestung faengt die meiste Energie eines Wurfsterns einfach
ab indem das Leder beim einschlag zurueckweicht und sich die Watte dahinter
verformt. Die Spitze des Wurfsterns wird vermutlich nicht mal eine Lederjacke
durchstossen und die Ruestungen damals waren aus gekochtem und gehaertetem
Leder...

Also nochmals: Schaden macht so ein Wurfstern nur wenn er 1. eine ungepanzerte
Stelle trifft und zweitens eine erhebliche Geschwindigkeit hat.
Ersteres ist bei einem gepanzerten Gegner eher selten (zumal der in einem
Kampf nicht stillsteht sondern sich bewegt) und letzeres erreichst du nur mit
weitem Ausholen, das dich in einem Infight verletzlich macht, weil die Hand
mit der du den Wurfstern wirfst in der Zeit weder einen Angriffsschlag
abwehren noch einen eigenen Angriffsschlag mit der anderen Hand unterstuetzen
kann.

OrkT beendet die Physikvorlesung fuer heute.

-----------------------------------------------------------------------------



Re^16: Wurfsterne (Grimmborn, 26. Jan 2003, 23:53:25):
~#! rn=Orktoeter rt=1043621519 rg=gilden.kaempfer
~#! tid=1043005718
Ich staune noch darueber was Du so alles ueblicherweise vor dem Gesicht
traegst. Braten, Watte, T-Shirts, Watte, Lederjacken - was sagt denn Deine
Umgebung dazu?

GdA

-----------------------------------------------------------------------------



Re^16: Wurfsterne (Karis, 27. Jan 2003, 00:04:50):
~#! rn=Orktoeter rt=1043621519 rg=gilden.kaempfer
~#! tid=1043005718
Ahja. Ich hab ja von Physik nicht viel Ahnung.
Aber soweit ich das sehe, hat ein Wurfstern nach Verlassen der Hand seine
maximale Geschwindigkeit. Zumindest in der Richtung, die von der SChwerkraft
wegzeigt.
Oder so.
Das heisst, es is voellich egal, ob Du da 2m oder10m entfernt bist. IN erster
Naeherung.
Und wenn Du einen Braten spicken willst, wuerd ich die Jacke davor wegnehmen
...
Karis

-----------------------------------------------------------------------------



Re^17: Wurfsterne (Cuchullin, 27. Jan 2003, 00:07:51):
~#! rn=Grimmborn rt=1043621605 rg=gilden.kaempfer
~#! tid=1043005718
Ein Ninja-To misst von Kissaki bis Gashira insgesamt etwa 80-90 cm, dabei
entfaellt gut ein Drittel auf die Tsuka. Das sind aber so ziemlich die 
kleinsten Anderthalb- bzw Zweihaender, die ich je in den Haenden hatte,
so ein richtiges Katana hat auch mal locker 1.30 m Gesamtlaenge. So. Davon
also zwei: Eins Du, eins Dein Gegner. Und Du glaubst, Du stehst jetzt
ununterbrochen vor Deinem Gegner und schlaegst auf ihn ein und er blockt
und schlaegt auf Dich ein?

Du hast zu viele schlechte Filme gesehen, Kindchen.

Und Du bist wirklich selten daemlich, wenn Du mit Shuriken auf die
geschuetzten Partien zielst. Und wenn Du nicht selten daemlich bist, so
liest Du zumindest nicht, was andere schreiben. Kann auch sein.

YTCu

-----------------------------------------------------------------------------



Re^17: Wurfsterne (Orktoeter, 27. Jan 2003, 00:08:25):
~#! rn=Karis rt=1043622290 rg=gilden.kaempfer
~#! tid=1043005718
Also die maximale Geschwindigkeit ist sehr von der Kraft abhaengig mit der du
den wirfst. Wenn du dazu den Hebelarm (ganze laenge deines Armes) nutzen
kannst, wird er deutlich schneller sein = mehr Impuls = mehr wirkung.
Wenn du einen shuriken auf 10m wirfst und dein Gegner weis das du da stehst
und damit rechnet das du wirfst (was nicht sehr schwer ist wenn du weit
ausholst), dann hat er alle Zeit der Welt das Gesicht bzw. evtl die Haende
(die nicht gepanzert sind) zu bewegen. Du kannst also hoechstens versuchen zu
antizipieren in welche Richtung er ausweicht und "mit vorhalt" arbeiten.

OrkT.
nn

-----------------------------------------------------------------------------



wurfsterne ? (Kieselstein, 27. Jan 2003, 00:13:58):
Mal ne doofe Frage : Eigendlich koennen doch nur Karateka mit Wurfsternen
umgehen, oder ? Scheind mir logisch. Oki ich kann vieleicht als Kaempfer auch
mal son ding werfen, aber eigendlich doch nur als "Finte" (siehe weiter oben)
Sehe ich da was falsch ?

Kieselstein

-----------------------------------------------------------------------------



Re^18: Wurfsterne (Karis, 27. Jan 2003, 00:18:23):
~#! rn=Orktoeter rt=1043622505 rg=gilden.kaempfer
~#! tid=1043005718
Meine Schulphysik besagt: Kraft=Masse * Beschleunigung.
Beschleunigen kann ich solange ich das Teil in der Hand habe.
#Das ist voellig unabhaengig von meiner KRaft und von der Laenge meines Arms.
Bei mir zumindest. Und ich weiss auch nicht, wie das ist, wenn man einem Ork
gegenuebersteht.

Ausserdem weiss ich nicht, was es bringen soll, das GEsicht zu bewegen, wenn
der andere so einen
... wie heiss das.. Shuriken ?? wirft. ICh heisse zwar nicht spock, aber ich
kann
mir nicht vorstellen, dass es faszinierend ist, 'jetzt' die Augenbraue
hochzuziehen.

Karis

-----------------------------------------------------------------------------



Re^18: Wurfsterne (Cadrach, 27. Jan 2003, 00:22:29):
~#! rn=Orktoeter rt=1043622505 rg=gilden.kaempfer
~#! tid=1043005718
Man merkt, das Du noch nie mit Wurfsternen geworfen hast Orktroete. Mit Kraft
hat das naemlich rein _gar nichts_ zu tun. Es geht nur um eine schnelle
Beschleunigung, d.h. ein moeglichst schnelles werfen.
Wie weit man einen Wurfstern mit einem 2 Haender wirklich noch werfen kann, da
hab ich noch meine Zweifel Cuch*. Das mag ganz evtl. mit bestimmten kuerzeren
Zweihaendern noch funktionieren (aber dann auch nur eingeschraenkt) im
allgmeinen mit SMS oder langen Samuraischwertern ganz sicher nicht.
Vielleicht sollte man dann max. noch einen pro Kampfrunde werfen koennen?

Cad*

-----------------------------------------------------------------------------



Re^19: Wurfsterne (Gnome, 27. Jan 2003, 00:39:15):
~#! rn=Karis rt=1043623103 rg=gilden.kaempfer
~#! tid=1043005718
falsch.
da es sich beim wurf um eine mischung aus translation UND rotation
handelt, ist das so nicht ganz richtig. aber lassen wir das... :)

@cad:
und wie beschleunigt man schnell? durch ausdauer, hm?
nein, einzig und allein durch schnellkraft. also kraft, die in einer
gewissen zeit im muskel vorhanden sein muss. NUR kraft reicht sicher
nicht, man muss sie auch entsprechend schnell aktivieren koennen.

gnOme

-----------------------------------------------------------------------------



Re^20: Wurfsterne (Zarniya, 27. Jan 2003, 08:54:51):
~#! rn=Gnome rt=1043624355 rg=gilden.kaempfer
~#! tid=1043005718
ich denke, dass das auch eine Frage der Geschicklichkeit ist. Ein Wurfstern
ist in der Regel rundrum scharf, und das richtig. Wenn der also langsamer
fliegt, was laut Orktoeter ja im Nahkampf noch geht, aber entsprechend schnell
rotiert, was nur eine Frage des Handgelenkes ist, dann will ich das Teil nicht
abgekommen... Haben die Dinger im Zweifelsfall nicht auch vergiftete Klingen?
:-) Waere doch ne Idee.

Marc

-----------------------------------------------------------------------------



Re^20: Wurfsterne (Cadrach, 27. Jan 2003, 10:37:14):
~#! rn=Gnome rt=1043624355 rg=gilden.kaempfer
~#! tid=1043005718
Wenn ich Dinge wie "Schnellkraft" schon hoere wird mir uebel, wir sind doch
hier in keiner Physikvorlesung. Gib nem Bodybuilder einen Wurfstern und obwohl
er Unmengen an Kraft hat, wird er damit kaum Schaden machen, _das_ meinte ich.
In erster Linie gehts da um das Training mit den Wurfsternen und die
Geschicklichkeit (richtige Wurftechnik und schnelle Beschleunigung). Mit
allgemeiner Kraft hat das nix zu tun (da kannste Kraftpaket sein, wie Du
willst). Das auch beim werfen von Wurfsternen bestimmte Muskelpartien
beansprucht werden und man diese trainieren kann, ist doch wohl das logischste
von der Welt. Bloss weil Cuchullin an jedem Artikel grundsaetzlich aus Prinzip
irgendetwas zum bemaengeln finden muss, heisst das noch lange nicht, das auch
Du mein lieber Gnome Deinen Verstand beim mpa lesen ausschalten musst. Sooooo
bloed das ich auf die Idee kaeme man koennte seine Hand ohne Muskeln bewegen,
bin ich nu auch nicht.
Die generelle "Kraft" eines Menschen hat nur, den wenigsten Einfluss auf den
Schaden, den ein Wurfstern macht.

Cad*

-----------------------------------------------------------------------------



Re^21: Wurfsterne (Grimmborn, 27. Jan 2003, 10:42:14):
~#! rn=Cadrach rt=1043660234 rg=gilden.kaempfer
~#! tid=1043005718
Dein Kraftbegriff und -verstaendnis ist stark ausbau- und verbesserungsfaehig.

GdA

-----------------------------------------------------------------------------



Re^21: Wurfsterne (Orktoeter, 27. Jan 2003, 10:45:14):
~#! rn=Cadrach rt=1043660234 rg=gilden.kaempfer
~#! tid=1043005718
*seufz* lies doch bitte mal genauer!
Behauptest du, das du einen Wurfstern den du (moeglichst noch verdeckt) "aus
dem Handgelenk" wirfst auf die gleiche Geschwindigkeit beschleunigst wie
einen, bei dem du weit ausholst und dan mit einem Stemmschritt schleuderst?
Wenn ja bist du ein physikalisches Wunder.

OrkT.

Ich dachte wir waren uns einig das ein Wurfstern nur dann ueberhaupt etwas
bringen kann wenn er eine Stelle trifft die nicht geschuetzt ist (also Gesicht
und evtl Haende wenn der Gegner keine Handschuhe traegt). Wenn nun in einem
Kampf sich sowhol dein Gegner als auch du bewegen ist das treffen einer so
kleinen "Zielscheibe" aber alles andere als leicht, auch wenn natuzerlich die
kurze Entfernung hilfreich ist.
Nur kanst du mit der Hand in der Zeit nichts anderes mache, vor allem nicht
den Schlag des Gegners abblocken der der gerade in deine ungeschuetze Seite
kracht.
Also: Auf der einen Seite eine geringe Chance mit dem Wurfstern den Gegner im
Gesicht zu verletzen. Eine groessere ihn durch den Wurf etwas abzulenken. Auf
der anderen Seite keine Abwehrmoeglichkeit gegen einen Hieb mit der Waffe des
Gegners... 

-----------------------------------------------------------------------------



Re^21: Wurfsterne (Gnome, 27. Jan 2003, 12:26:27):
~#! rn=Cadrach rt=1043660234 rg=gilden.kaempfer
~#! tid=1043005718
sorry, aber ich glaube du hast von physik im allgemeinen und biomechanik
im speziellen wenig bis gar keine ahnung.
du kommst - in diesem fall - mit der richtiggen technik nicht sehr weit,
wenn du wenig kraft hast.
umgekehrt sieht es da schon anders aus: wenn ich einem bodybuilder einen
wurfstern in die hand druecke, moechte ich der letzte sein, der ihn
abbekkommt. denn auch wenn er die technik nicht beherrscht und auch wenn
der wurfstern um die falsche drehachse (ok, wird schwierig... muss schon
nen blinder bodybuilder sein ;-) ) fliegt, macht er mit ziemlicher
sicherheit ordentlichen schaden damit.
wie gesagt: p = m*v, und da die masse gleich bleibt, muss man v erhoehen,
das schafft man nur mit viel kraft und das moeglichst schnell (grosse a),
weil v=a*t.

aber lassen wir das, wir sind ja hier in keiner physikvorlesung, gell?

gnOme

-----------------------------------------------------------------------------



Re^22: Wurfsterne (Patryn, 27. Jan 2003, 13:05:13):
~#! rn=Gnome rt=1043666787 rg=gilden.kaempfer
~#! tid=1043005718
Ich will hier gar keinem erzaehlen wollen und koennen, wer Ahnung hat und
wer nicht, aber ein Argument dazu haett ich noch ;)
Es gibt einen beruehmten Tae Kwon Do Meister, der den Sport in Deutschland
mit dem Flusskieseltest bekannt gemacht hat.
Tae Kwon Do ist ja recht bekannt fuer spektakulaere Bruchtests, und er
schaffte es sogar, ganz gewoehnliche Flusskiesel mit der flachen Hand
zu zertruemmern. Ich glaub die haben das sogar mal in nem Labor
durchgemessen, dass da fuer sehr kurze Zeit Tonnenkraefte auftraten.
Nun war dieser Meister Koreaner und mithin gegenueber so manchen
Bodybildern in Deutschland ein halbes Hemd zum wegpusten, aber ich trau
das keinem Bodybuilder in Deutschland zu *g*
Was sagt das nun zu Wurfsternen? Egal :)

-- 
Patryn

-----------------------------------------------------------------------------



Re^23: Wurfsterne (Boing, 27. Jan 2003, 13:08:10):
~#! rn=Patryn rt=1043669113 rg=gilden.kaempfer
~#! tid=1043005718
Das ist ja genau der Punkt, den Cadrach nicht verstanden hat, es geht
um _SCHNELL_kraft, nicht um Kraft.
  Boing

-----------------------------------------------------------------------------



Re^23: Wurfsterne (Gnome, 27. Jan 2003, 13:10:56):
~#! rn=Patryn rt=1043669113 rg=gilden.kaempfer
~#! tid=1043005718
ja, der kann seine kraft halt richtig und punktgenau einsetzen (dass er
KEINE kraft hat, glaube ich nicht). das nennt man dann gute technik.

-----------------------------------------------------------------------------



Kraft... (Goethe, 27. Jan 2003, 13:22:12):
Der KRaftbegriff ist deutlich komplexer als viele Laien denken, biomechanisch
unterscheidet man zwischen Kraftausdauer, Schnellkraft, Maximalkraft, wobei
euch das ein Sportstudent (huhu Gnome) sicher noch viel genauer erklaeren
kann. Wenn Gnome hier also von Kraft geredet hat meinte er die Schnellkraft
und die hat ueberhaupt nichts mit der "Kraft" die im allgemeinen oft erwaehnt
wird, der Maximalkraft (bsp Bodybilder) zu tun. Schaut euch die Sprinter an,
bei denen spielt die Maximalkraft eine untergeordnete Rolle, Schnellkraft
dagegen ist elementar. Kraftausdauer dagegen fuer Marathonlaeufer wichtig,
schliesslich muessen sie die Kraft ueber lange Zeit bringen (koennen).
Hoffe habe keine inhaltlichen Fehler reingepackt, aber mein Sport-LK ist
leider auch schon ne Weile her...

G*

-----------------------------------------------------------------------------



Re: Kraft... (Gnome, 27. Jan 2003, 13:50:03):
~#! rn=Goethe rt=1043670132 rg=gilden.kaempfer
~#! tid=1043670132
nunja, die verschiedenen kraftarten gehen schon irgendwie hand in hand
ueber, so dass eine klare trennung beim werfen eines objektes nicht
erfolgen kann. kraft ist zunaechst mal die faehigkeit, objekten impulse
zu erteilen. da es sich hier um eine beschleunigte bewegung handelt und
weniger um eine isometrische, sind natuerlich in erster linie die
'schnellen' muskelfasern (typ IIb) gefragt, welche aber erst dann
eingesetzt werden, wenn die langsamen (typ I und IIa) zur kraft-
entwicklung nicht mehr ausreichen. da aber nie nur die schnellen
aktiviert werden koennen, ist die maximalkraft immer voraussetzung
fuer die schnellkraft (langsam gehen koennen wir immer, schnell laufen
nur 12 sek. ;-) ).

fazit: auf die schnellkraft kommt es an (grosse a), also die faehigkeit
       viel kraft in wenig zeit aufzubringen. wer viel maximalkraft hat,
       bringt die schnellkraft meistens schon mit sich. wer wenig davon
       hat, muss halt an seiner technik feilen oder in die muckibude
       gehen ;-)

ich wollte das ganze eigentlich bei 'kraft' belassen, aber wenn goethe
schon damit anfaengt... :)

gnOme

-----------------------------------------------------------------------------



Re: Re: Kraft... (Boing, 27. Jan 2003, 13:53:31):
~#! rn=Gnome rt=1043671803 rg=gilden.kaempfer
~#! tid=1043670132
Naja, da hab ich jetzt aber erst wieder nen Artikel gelesen, der
Deinem widerspricht: Wenn man ne Weile Maximalkraft trainiert, sinkt
der Anteil der schnellen Muskelfasern. Erst hinterher (also wenn man
nicht mehr auf Maximalkraft trainiert) steigt der Anteil der schnellen
Fasern wieder, sogar auf einen hoeheren Wert als vorher, der dann mit
der Zeit wieder absinkt.
  Boing

-----------------------------------------------------------------------------



Re^3: Kraft... (Orktoeter, 27. Jan 2003, 14:18:03):
~#! rn=Boing rt=1043672011 rg=gilden.kaempfer
~#! tid=1043670132
Trotzdem behaupte ich der Untrschied zwischen "weit ausholen und mit
Stemmschritt werfen" und "aus dem Handgelenk werfen" ist fuer die
Geschwindigkeit die so ein Wurfstern erreicht wesetlicher (bei
durchtrainierten Werfern).
Aber egal wie er nun geworfen wird selbst gegen eine einfache wattierte
Lederruestung (wen Ruestungen intersssieren sollte mal zu dem Fuzzie bei den
Delfen gehen) ist die wirkung eines solchen Wurfstern gleich Null. Ausnahme:
Man trifft ein Stelle die von der Panzerung nicht geschuetzt ist, vorzugsweise
das Gesicht. das aber wiederum (wie oft habe ich das jetzt eigentlich schon
geschrieben?) ist in einem Kampf in dem beide sich natuerlich bewegen alles
andere als leicht. Darueberhinaus hat man die Hand halt nicht zur Abwehr eines
Schalges bereit.
=> Ein Wurfstern ist etwas, mit dem man bis vielleicht 10m einen Gegner
angreifen kann um ihm schon ein bischen Schaden zuzufuegen bevor es zum
eigentlichen Kampf kommt. Das am besten aus dem Hinterhalt und ohne das der
Gegner damit rechnet.

OrkT.

-----------------------------------------------------------------------------



Re^4: Kraft... (Cadrach, 27. Jan 2003, 15:14:22):
~#! rn=Orktoeter rt=1043673483 rg=gilden.kaempfer
~#! tid=1043670132
Trotzdem behaupte ich, wer beim Wurfstern werfen, weit ausholt und mit
Stemmschritt wirft, der erreicht wesentlich weniger Schaden, naemlich nahe
null, da er den Gegner so niemals anstaendig treffen wird.
Und nem Muskelprotz gibt man besser eine Bleikugel in die Hand. Die kann er
mit seiner tollen Kraft problemlos werfen und braucht den Gegner nur irgendwie
treffen. Wer es etwas filigraner moechte, nimmt stattdessen einen scharfen
Wurfstern und der durchfliegt auch jedem wattierten Waffenrock.

Cad*

-----------------------------------------------------------------------------



Re^5: Kraft... (Orktoeter, 27. Jan 2003, 15:19:49):
~#! rn=Cadrach rt=1043676862 rg=gilden.kaempfer
~#! tid=1043670132
Der Wurfstern durschlaegt einen wattierten waffenrock etwa so gut wie eine
pistolenkugel eine kugelsichere Weste. Wie du das relativ einfach ausprobieren
kannst habe ich ja weiter oben schon mal beschrieben. Viel Spass und sei bitte
nicht zu enttaeuscht, wenn du mit dem Wurfstern das Fleisch nicht angekratzt
bekommst.

OrkT.

-----------------------------------------------------------------------------



Re^5: Kraft... (Cuchullin, 27. Jan 2003, 15:20:37):
~#! rn=Cadrach rt=1043676862 rg=gilden.kaempfer
~#! tid=1043670132
Halten wir fuer das Protokoll fest: Padreic versteht unter "Kraft" 
ausschliesslich die Maximalkraft einer Person. Das ist meiner Meinung
nach zwar falsch, aber bitte, wenn das erstmal geklaert ist, kommen
wir vielleicht weiter...

Und bitte, wenn Du schon so auf Deinem Bodybuilder beharrst: Muskelmasse
steht nicht konsequent in direktem Zusammenhang zu irgendeiner Kraft.

Cuch

-----------------------------------------------------------------------------



Re^6: Kraft... (Foobar, 27. Jan 2003, 15:34:33):
~#! rn=Cuchullin rt=1043677237 rg=gilden.kaempfer
~#! tid=1043670132
 > schaetz wurfstern
 Du betrachtest den Wurfstern eingehend.
 Er ist eine 0-Handwaffe und gehoert der Gruppe der unbekannten Waffen (mit
 denen Du _nix_ anfangen kannst) an. Er macht sicherlich einen geringen
 Schaden. Er sticht wirklich sehr gefaehrlich. 
 Er besitzt verborgene Eigenschaften, die die Kampfkraft vielleicht erhoehen.
 Er ist nicht geschaerft. Er hat ungefaehr ein Gewicht von 41 Gramm. Du
 wuerdest seinen Wert auf etwa 83 Muenzen schaetzen. Er ist nicht
 beschaedigt.

 Da man als Kaempfer damit eh nix anfangen kann, bin ich der Meinung, die
 sollten von Kaempfern gar nicht benutzt werden koennen.

 Foobar

-----------------------------------------------------------------------------



Re^7: Kraft... (Pitfall, 27. Jan 2003, 15:35:07):
~#! rn=Foobar rt=1043678073 rg=gilden.kaempfer
~#! tid=1043670132
und warum kann ein zauberer dann nichts mit denen anfangen?
ich meine bei denen kommt nicht die meldung dass sie "nichts damit anfangen
koennen"

pit*

-----------------------------------------------------------------------------



Re^7: Kraft... (Vector, 27. Jan 2003, 15:35:31):
~#! rn=Foobar rt=1043678073 rg=gilden.kaempfer
~#! tid=1043670132
dafuer 

-----------------------------------------------------------------------------



Re^6: Kraft... (Cadrach, 27. Jan 2003, 16:30:56):
~#! rn=Orktoeter rt=1043677189 rg=gilden.kaempfer
~#! tid=1043670132
Ich gebe zu mich mit der Durchschlagskraft von Pistolen sehr wenig auszukennen
und es kann natuerlich gut sein das Pistolen problemlos durch kugelsichere
Westen schiessen koennen, aber wieso heissen die dann so?
Und jetzt im ernst: Hast Du schonmal mit anstaendigen gut geschaerften
Wurfsternen geworfen Orktroete? Ich gebe zu mit einem Wurfstern noch nie auf
einen mit einem wattierten Waffenrock verkleideten Braten geworfen zu haben
wie Du das hier die ganze Zeit moechtest, aber das was ich ueber wattierte
Waffenroecke weiss (und ich hab mich mit Ruestungsbau mal ne weile
beschaeftigt als ich besagten delfenschmied geproggt hab) in Kombination mit
Erfahrungen die ich selbst mit Wurfsternen gemacht hab, wuerde ich annehmen,
das die einen wattierten Waffenrock durchaus durchbohren koennen.

Cad*

-----------------------------------------------------------------------------



Re^8: Kraft... (Patryn, 27. Jan 2003, 16:49:53):
~#! rn=Pitfall rt=1043678107 rg=gilden.kaempfer
~#! tid=1043670132
in der tat hatte ich schon mal ne anfrage ob das sinn macht, dass der
wurfstern gleich derart katastrophal schlecht ist.
nur hab ich tilly damit wohl verschreckt ;)

-- 
patryn

-----------------------------------------------------------------------------



Re^9: Kraft... (Cuchullin, 27. Jan 2003, 16:50:45):
~#! rn=Patryn rt=1043682593 rg=gilden.kaempfer
~#! tid=1043670132
Wer ist ... Tilly?


-----------------------------------------------------------------------------



Re^7: Kraft... (Roland, 27. Jan 2003, 16:55:03):
~#! rn=Cadrach rt=1043681456 rg=gilden.kaempfer
~#! tid=1043670132
Das schaerfen der Wurfsterne is meiner Meinung nach ausgebaut...


-----------------------------------------------------------------------------



Re^3: Kraft... (Gnome, 27. Jan 2003, 17:33:06):
~#! rn=Boing rt=1043672011 rg=gilden.kaempfer
~#! tid=1043670132
du sollst ja auch ueberwiegend die schnellen fasern trainieren (also
mit grosser v die uebungen ablaufen lassen). ich weiss, das machen
die wenigsten (die meisten tranieren maxkraft und koennen sich nach
ner weile nicht mehr richtig bewegen. die muskeln hypertrophieren, aber
die denken, es sieht chic aus. naja...).

wenn man nur maxkraft trainiert, ist das tatsaechlich so, wie du es
beschrieben hast. allerdings muss man dazu sagen, dass das ganze
auch sehr anlagebedingt ist. jeder mensch bringt von natur aus
einen bestimmten prozentsatz schnelle und langsame muskeln mit, die
man dann entsprechend der sportart, die man betreibt in die
jeweilige andere muskelfaserart umwandeln kann, allerdings nur
beschraenkt.
nicht umsonst sind die besten sprinter menschen dunkler hautfarbe :)
die bringen von natur aus halt schon sehr viel IIa-fasern mit.

gnOme

-----------------------------------------------------------------------------



Re^4: Kraft... (Zook, 27. Jan 2003, 18:28:41):
~#! rn=Gnome rt=1043685186 rg=gilden.kaempfer
~#! tid=1043670132
Frei nach dem Motto "Wer schon mal eine Zebra mit der Hand gefangen hat.."?
(c) Badesalz.

Zook.

-----------------------------------------------------------------------------



Re^7: Kraft... (Zook, 27. Jan 2003, 18:29:24):
~#! rn=Cadrach rt=1043681456 rg=gilden.kaempfer
~#! tid=1043670132
Ich sehe, wir kommen an der naechsten Party nicht um einen Rl-Versuch
herum. Vorschlaege zur Durchfuehrung?

Zook.

-----------------------------------------------------------------------------



Re^5: Kraft... (Cuchullin, 27. Jan 2003, 18:29:32):
~#! rn=Zook rt=1043688521 rg=gilden.kaempfer
~#! tid=1043670132
Cadrach kann Dir dazu sicher einen Vortrag halten.

scnr :)

-----------------------------------------------------------------------------



Re^6: Kraft... (Orktoeter, 27. Jan 2003, 18:34:27):
~#! rn=Cuchullin rt=1043688572 rg=gilden.kaempfer
~#! tid=1043670132
Antwort auf den letzen Artikel, bezug Artikel 49 von Cadrach.
Das ist recht simpel Cadrach. In den Naturwissenschaften gibt es das schoene
Prinzip das man eine Theorie immer am Experiment messen sollte. Du meinst also
das du einen Wurfstern durch eine wattierte Lederruestung bekommst? Dann
probier es doch mit der (weit oben) von mir vorgeschlagenen primitiven
Variante mal aus. Aber sei nicht enttaeuscht. Das kann nichts werden. Der
Wurfstern hat einfach nicht genug Masse. Das Leder weicht zurueck, die
(gestopfte Watte) wird zusammen und zur Seite gedrueckt und nimmt dabei die
Energie auf und das was das Stueck Fleisch dahinter abbekommt ist ein Schlag
(naemlich der Impuls).

OrkT.

-----------------------------------------------------------------------------



Re^7: Kraft... (Cadrach, 27. Jan 2003, 18:41:57):
~#! rn=Orktoeter rt=1043688867 rg=gilden.kaempfer
~#! tid=1043670132
Ein wattierter Waffenrock oder Gambeson besteht nur nicht aus Leder Orktroete,
vielleicht solltest Du den von Dir angefuehrten Delfenschmied nochmal besuchen
gehn und Ruestungsnachhilfe nehmen. Ein wattierter Waffenrock, ist ein
Obergewand aus gestepptem Bausch oder Wollgewebe mit einer Fuellung aus Bausch
oder Hanf. Ueber gehaertetes Leder habe ich keinerlei Aussage gemacht. Dazu
kommt naemlich, das Leder != Leder ist und es 100.000 verschiedene
Moeglichkeiten der Haertung gibt.

Cad*

-----------------------------------------------------------------------------



Re^8: Kraft... (Orktoeter, 27. Jan 2003, 18:45:08):
~#! rn=Cadrach rt=1043689317 rg=gilden.kaempfer
~#! tid=1043670132
Probier es aus. Vielleicht geht es, wenn die erste Schicht wirklich Stoof ist,
aber selbst nicht gehaertetes relativ duennes Leder wird als "Fangschicht"
reichen. 

OrkT.

-----------------------------------------------------------------------------



Re^9: Kraft... (Cadrach, 27. Jan 2003, 18:52:39):
~#! rn=Orktoeter rt=1043689508 rg=gilden.kaempfer
~#! tid=1043670132
Wenn der Wetteinsatz stimmt, bin ich gerne bereit das ganze im Rahmen einer
Wette zu testen Orktroete. Aber Du ein fuer alle mal kapierst was ein
wattierter Waffenrock ist (ich pflege bei Wetten die Leute vorher gut zu
informieren und zu warnen - selbst Key seinerzeit :o): Das sind zwei Bahnen
Stoff die zusammengenaeht und mit Wolle oder Watte gefuellt sind und das nicht
zu dick, damit man sich dadrin auch noch anstaendig bewegen kann - kannst Du
also mit einem kleinen duennen Kissen vergleichen.
Fuer einen Versuch nehme man also ein kleines Kissen und binde dieses an einen
Baum und schaue hinterher, wie stark die Rinde darunter gelitten hat.
Nun, mach ein Wettangebot und ich ueberlege mir ob es mir das Wert ist,
nochmal auf die Suche nach meinen Sternen zu gehn, die zu schaerfen und
wieder ein wenig werfen zu ueben, damit das nicht Stundenlang dauert.


Cad*

-----------------------------------------------------------------------------



Re^10: Kraft... (Cuchullin, 27. Jan 2003, 19:00:28):
~#! rn=Cadrach rt=1043689959 rg=gilden.kaempfer
~#! tid=1043670132
Ich bringe gerne einen Polizisten mit, der Dir einen tollen Trick mit
Deinen geschaerften Shuriken und dem deutschen Waffengesetz demonstriert.


-----------------------------------------------------------------------------



Re^11: Kraft... (Cadrach, 27. Jan 2003, 19:07:00):
~#! rn=Cuchullin rt=1043690428 rg=gilden.kaempfer
~#! tid=1043670132
Weisst Du naeheres was sich da geaendert hat? Hab durchaus mitbekommen das es
da mal eine Aenderung gab, aber ich dachte es waere nur das fuehren in der
Oeffentlichkeit untersagt und nicht privater Besitz und Training.

Cad*

-----------------------------------------------------------------------------



Re^12: Kraft... (Patryn, 27. Jan 2003, 22:56:13):
~#! rn=Cadrach rt=1043690820 rg=gilden.kaempfer
~#! tid=1043670132
Also ich schlage vor, Orktoeter und Cadrach bekommen jeweils einen
wattierten Waffenroeck und jeweils 10 Wurfsterne, wahlweise mit
Sprengsaetzen. Wer uebrig bleibt, hat gewonnen ;)

-- 
Patryn

-----------------------------------------------------------------------------



Re^13: Kraft... (Grimmborn, 27. Jan 2003, 23:49:51):
~#! rn=Patryn rt=1043704573 rg=gilden.kaempfer
~#! tid=1043670132
Ich plaediere dafuer sicherzustellen dass beide exakt gleichzeitig mit Werfen
anfangen. Mit ein bischen Glueck verlieren dann beide.

GdA

-----------------------------------------------------------------------------



Re^14: Kraft... (Karis, 27. Jan 2003, 23:55:30):
~#! rn=Grimmborn rt=1043707791 rg=gilden.kaempfer
~#! tid=1043670132
Nix da. Ich hab soonst nix mehr zum amuesieren.

Karis

-----------------------------------------------------------------------------



Re^14: Kraft... (Vanir, 29. Jan 2003, 13:38:21):
~#! rn=Grimmborn rt=1043707791 rg=gilden.kaempfer
~#! tid=1043670132

Ab Maerz (oder so, genauen Termin vergessen) reicht in dieser Konstellation
der Polizist daneben. Die Dinger fallen ab dann unter die verbotenen Waffen...
und bei denen ist der Besitz (!) verboten und strafbar. 

Allerdings geht man straffrei aus, wenn man sich selbst anzeigt und die Dinger
abliefert (auch hier gabs ne Dead-line bis wann das moeglich war). Es duerfte
aber beiden wohl schwer fallen dies zu belegen, wenn sie mit wattierten
Waffenroecken sich gegenueber stehen *g*.

V.

-----------------------------------------------------------------------------



Re: Waffenfertigkeiten (Zook,  1. Feb 2003, 14:28:09):
~#! rn=Zook rt=1043940905 rg=bekanntmachungen
~#! tid=1043940905
Ok, nachdem es verschiedene Nachfragen gab, noch einmal in moeglichst
klaren Worten: Kaempfer koennen bisher die Waffenfertigkeit noch nicht
einschaetzen, weil dieser Teil der Einschaetzen-Technik vom Gildenmagier,
hier Boing, noch nicht eingebaut wurde. Sobald er das gemacht hat, werdet
Ihr davon dann schon Kenntnis erlangen. :-)

Gruss, Zook.

-----------------------------------------------------------------------------



Re: Re: Waffenfertigkeiten (Boing,  5. Feb 2003, 14:57:48):
~#! rn=Zook rt=1044106089 rg=gilden.kaempfer
~#! tid=1043940905
So, jetzt koennen sie es, wenn es Fehler oder Unschoenheiten gibt, dann
meldet euch bitte direkt bei mir. Die Einschaetzung ist uebrigens sehr
grob, also nicht wundern.
  Boing

-----------------------------------------------------------------------------



Re^3: Waffenfertigkeiten (Flauros,  5. Feb 2003, 14:59:15):
~#! rn=Boing rt=1044453468 rg=gilden.kaempfer
~#! tid=1043940905
Definiere doch bitte grob.

Flauschi wuerde das gern wie die Keule sehen koennen (Und die
Einzuschaetzenden bestimmt auch. ;-) )

-----------------------------------------------------------------------------



Re^3: Waffenfertigkeiten (Eldaron,  5. Feb 2003, 15:00:13):
~#! rn=Boing rt=1044453468 rg=gilden.kaempfer
~#! tid=1043940905
Pure Neugier: Was ist die Begruendung dafuer, dass Kaempfer bei Klerikern den
Waffenskill aufs Prozent genau sehen und bei Abenteurern nur so grob?

Eldaron

-----------------------------------------------------------------------------



Re^4: Waffenfertigkeiten (Boing,  5. Feb 2003, 15:00:19):
~#! rn=Flauros rt=1044453555 rg=gilden.kaempfer
~#! tid=1043940905
Dass Du es gerne so sehen wuerdest verstehe ich, aber so ist es nicht,
tut mir leid.
  Boing

-----------------------------------------------------------------------------



Re^4: Waffenfertigkeiten (Mupfel,  5. Feb 2003, 15:02:48):
~#! rn=Eldaron rt=1044453613 rg=gilden.kaempfer
~#! tid=1043940905
Kleriker haben halt einen differenzierteren Skill, Abenteurer nur einen
groben.

-mupfel-

-----------------------------------------------------------------------------



Re^4: Waffenfertigkeiten (Nonne,  5. Feb 2003, 15:03:49):
~#! rn=Eldaron rt=1044453613 rg=gilden.kaempfer
~#! tid=1043940905
Stell Dir vor, Du hast 2 Laengen:
|---|
|-------------------------------------------------------------|

Du kannst auf einen Milimeter aufloesen. Dann kannst Du bei dem einen auf 1%
aufloesen, bei dem anderen nur auf 20%. Klar?

Nonne, gerne hilfsbereit.

-----------------------------------------------------------------------------



Re^5: Waffenfertigkeiten (Flauros,  5. Feb 2003, 15:04:55):
~#! rn=Nonne rt=1044453829 rg=gilden.kaempfer
~#! tid=1043940905
Na Eldaron wollte wissen, warum die 2 Laengen so unterschiedlich sind. (Nehme
ich einfach mal so an.)

-----------------------------------------------------------------------------



Re^6: Waffenfertigkeiten (Nonne,  5. Feb 2003, 15:06:49):
~#! rn=Flauros rt=1044453895 rg=gilden.kaempfer
~#! tid=1043940905
Weil das eine eine elementar Gildenfaehigkeit und das andere ein nettes Zubrot
ist? Obwohl ich bei den Laengenunterschieden natuerlich masslos uebertrieben
habe, damit es klar wird (c;

-----------------------------------------------------------------------------



Re^7: Waffenfertigkeiten (Ahab,  5. Feb 2003, 15:07:15):
~#! rn=Nonne rt=1044454009 rg=gilden.kaempfer
~#! tid=1043940905
Uebertreibung macht anschaulich, war doch so, oder? ;-)

Ahoi.
Ahab.

-----------------------------------------------------------------------------



Re^8: Waffenfertigkeiten (Humni,  5. Feb 2003, 15:07:33):
~#! rn=Ahab rt=1044454035 rg=gilden.kaempfer
~#! tid=1043940905
he, so furchtbar uebertrieben hat Nonne doch gar nicht...

Humni streut mal Geruechte ;-)

-----------------------------------------------------------------------------



Re^9: Waffenfertigkeiten (Flauros,  5. Feb 2003, 15:07:58):
~#! rn=Humni rt=1044454053 rg=gilden.kaempfer
~#! tid=1043940905
Also Nonne war der mit der kurzen Laenge? ;)

-----------------------------------------------------------------------------



Re^9: Waffenfertigkeiten (Nonne,  5. Feb 2003, 15:08:11):
~#! rn=Humni rt=1044454053 rg=gilden.kaempfer
~#! tid=1043940905
Hey hey! Jetzt bring mal nicht das ganze Mud gegen die armen, viel zu
schwachen Kleriker auf!

-----------------------------------------------------------------------------



Re^10: Waffenfertigkeiten (Humni,  5. Feb 2003, 15:08:41):
~#! rn=Nonne rt=1044454091 rg=gilden.kaempfer
~#! tid=1043940905
Jaja ich hoer ja schon auf.

Und ich glaube, Flauros, wenn Du meinst dass Nonne der mit der kurzen Laenge
war, dann hast Du seine Argumentation nicht verstanden... ;-)

Humni

-----------------------------------------------------------------------------



Re^10: Waffenfertigkeiten (Boing,  5. Feb 2003, 15:08:51):
~#! rn=Nonne rt=1044454091 rg=gilden.kaempfer
~#! tid=1043940905
Schmarrt bitte in schmarrn weiter, ich hab keine Lust massig Artikel
zu verlegen.
  Boing

-----------------------------------------------------------------------------



Re^11: Waffenfertigkeiten (Flauros,  5. Feb 2003, 15:09:09):
~#! rn=Humni rt=1044454121 rg=gilden.kaempfer
~#! tid=1043940905
Egal, ich konnte mir das einfach nicht verkneifen. :o)

-----------------------------------------------------------------------------



Re^6: Waffenfertigkeiten (Mandragon,  5. Feb 2003, 15:16:19):
~#! rn=Eldaron rt=1044454433 rg=gilden.kaempfer
~#! tid=1043940905
Du bist sicher, dass Du die Kaempferprozente nicht eventuell auf
hundertstelpromille genau willst?

Ma* (haelt ein grosses 'Flair statt Zahlen'-Schild hoch)

-----------------------------------------------------------------------------



Re^3: Waffenfertigkeiten (Boing,  5. Feb 2003, 15:42:34):
~#! rn=Boing rt=1044453468 rg=gilden.kaempfer
~#! tid=1043940905
Ich hatte noch eine Kleinigkeit vergessen, das Einschaetzen sollte erst
ab Unteroffizier gehen, das ist ab sofort der Fall.
  Boing

-----------------------------------------------------------------------------



Re^22: Wurfsterne (Widewitt, 13. Feb 2003, 08:29:56):
~#! rn=Gnome rt=1043666787 rg=gilden.kaempfer
~#! tid=1043005718
Hallo,

Sorry Gnome, dass ein Bodybuilder einen Wurfstern schnell werfen kann, wenn er
nicht geuebt ist, bezweifle ich stark. Hier kommt es eindeutig auf die Technik
und das Training an. Training bedeutet hier u.A., dass die Nerven gut mit den
Muskeln verknuepft sind . Geschwindigkeit erreicht man am besten, wenn man
sehr locker ist, also wenig "Kraft" einsetzt. Die Masse eines Wurfsterns ist
nicht so gross als dass viel Muskelkraft noetig waere um ihn schnell zu
beschleunigen. Was stimmt ist, dass der Weg der zur Beschleunigung zur
Verfuegung steht wichtig ist, sprich je laenger ich das Ding in der Hand habe
um so besser kann ich es beschleunigen (wenn die Technik stimmt)
Gruss Widewitt

-----------------------------------------------------------------------------



Re^23: Wurfsterne (Zarniya, 13. Feb 2003, 08:55:39):
~#! rn=Widewitt rt=1045121396 rg=gilden.kaempfer
~#! tid=1043005718
und ich dachte, diese Diskussion waere schon durch... schaut Euch doch einfach
mal an, was so ein magerer Baseball Spieler mit einem Ball macht, wenn er ihn
wirklich beschleunigen will. Da braucht es keine dicken Muskeln.

-----------------------------------------------------------------------------



Re^24: Wurfsterne (Grimmborn, 13. Feb 2003, 09:29:17):
~#! rn=Zarniya rt=1045122939 rg=gilden.kaempfer
~#! tid=1043005718
Ja, oder die mageren KugelstosserInnen.

GdA

-----------------------------------------------------------------------------



Re^25: Wurfsterne (Anatol, 13. Feb 2003, 09:36:20):
~#! rn=Grimmborn rt=1045124957 rg=gilden.kaempfer
~#! tid=1043005718
Kinners, wenn irgendwer am 13. Februar meint, etwas laengst gesagtes
zu einem Artikel (50 Artikel vorher) vom 27. Januar sagen zu muessen...

Lasst ihn doch einfach?

Anatol verdreht die Augen

-----------------------------------------------------------------------------



Re^26: Wurfsterne (Strohalm, 13. Feb 2003, 09:38:51):
~#! rn=Anatol rt=1045125380 rg=gilden.kaempfer
~#! tid=1043005718
Hey, bis vor 5 Minuten war die MPA leer, bzw ich war durch... ich bin froh,
wenn ich was zu lesen hab, auch wenns nur Schund is ;)

Haelmchen, Anatol den Mund stopfend/die Tastatur abklemmend ;)

-----------------------------------------------------------------------------



Re^27: Wurfsterne (Anatol, 13. Feb 2003, 09:45:22):
~#! rn=Strohalm rt=1045125531 rg=gilden.kaempfer
~#! tid=1043005718
Wenn Dir langweilig ist, empfehle ich Dir spiegel.de - wir sind inzwischen
mit dem ersten Drittel der Ouvertuere zu "Armageddon feat. G.W.Bush" durch.
Die Welt kann nur einmal untergehen. Geniesse die Show.

Ana*

-----------------------------------------------------------------------------



Re^28: Wurfsterne (Strohalm, 13. Feb 2003, 09:49:55):
~#! rn=Anatol rt=1045125922 rg=gilden.kaempfer
~#! tid=1043005718
Oh, danke fuer den Tipp ;)

Haelmchen, seine Arbeitszeit sinnvoll verschwendend ;)

-----------------------------------------------------------------------------



Re^23: Wurfsterne (Gnome, 13. Feb 2003, 15:53:39):
~#! rn=Widewitt rt=1045121396 rg=gilden.kaempfer
~#! tid=1043005718
und noch einer, der eigentlich eher weniger ahnung von biomechanik hat. seufz.
ja, kraft ist nicht alles. aber ohne/mit wenig kraft ist alles nichts. es
kommt nicht darauf an, wie bepackt der mensch aussieht, sondern ob er die
(schnell)kraft aufbringen kann. und diese faehigkeit traue ich
_tendenziell_ einem bodybuilder eher zu als einem spargeltarzan.
dass der duenne den dicken mit der richtigen technik trotzdem ueberfluegeln
kann, steht ausser frage.

koennen wir das thema jetzt beenden oder muss ich nochmal ausfuehrlicher
zum thema inter-/intramuskulaere kraftabstufung werden? :)

gnOme

-----------------------------------------------------------------------------



Re^24: Wurfsterne (Boing, 13. Feb 2003, 15:54:17):
~#! rn=Gnome rt=1045148019 rg=gilden.kaempfer
~#! tid=1043005718
Bitte nochmal ausfuehrlicher ... :)
  Boing

-----------------------------------------------------------------------------



Re^24: Wurfsterne (Hood, 13. Feb 2003, 16:07:37):
~#! rn=Gnome rt=1045148019 rg=gilden.kaempfer
~#! tid=1043005718
Also wenn ich mir so manche Bodybuilder anschau, die bewegen sich wie die
ersten Menschen und koennen wirklich vor lauter Kraft kaum einen Fuss
vor den anderen setzen, geschweige denn, Schnellkraft aufbringen.

Also, ausfuehrlicher bitte :)

-----------------------------------------------------------------------------



Re^25: Wurfsterne (Orktoeter, 13. Feb 2003, 16:30:55):
~#! rn=Hood rt=1045148857 rg=gilden.kaempfer
~#! tid=1043005718
Ja, gib uns was zu lesen, die mpa ist so leer!

OrkT.

-----------------------------------------------------------------------------



Re^26: Wurfsterne (Gnome, 13. Feb 2003, 20:00:10):
~#! rn=Orktoeter rt=1045150255 rg=gilden.kaempfer
~#! tid=1043005718
oki, ich versuchs mal an einem einfachen beispiel:
einstein und arnold verpassen dir eine schelle. nein, nicht gleichzeitig.
jeder huebsch der reihe nach. jeder mit der genau gleich schlechten
technik: flache hand auf wange. jeder mit gleichem weg, der von der hand
zurueckgelegt wurde (man nehme an, beide haetten gleich lange arme).

so. dabei benutzt aber - natuerlich - jeder seine individuelle kraft, die
er halt zur verfuegung hat, um die masse der hand zu beschleunigen.
bei einstein wuerd ich mich sogar noch freiwillig zum test melden, bei
arnold darfst DU dich gerne zur verfuegung stellen.

gut, arnold gewinnt haushoch.

jetzt ist einstein aber nicht bloede, wie wir wissen und feilt an seiner
technik: groessere ausholbewegung, hand zur faust ballen, koerpermasse
mit reinlegen, gegenbewegung des anderen arms, drehung aus der huefte etc.

wenn er das bis zur perfektion betreibt, duerfte er an arnold herankommen.
_zusaetzliches_ krafttraining schadet dabei nicht. :)

es geht halt nicht darum, wie grazil ein bodybuilder sich bewegen kann.
da wuerde er staendig den letzten platz belegen. es geht darum, wie schnell
jemand seine oder fremde massen beschleunigen kann.

wenn ihrs nicht glaubt, probiert es selber aus. vorzugsweise mit einem
wattierten braten... ;-)

gnOme

-----------------------------------------------------------------------------



Re^27: Wurfsterne (Orktoeter, 14. Feb 2003, 09:51:05):
~#! rn=Gnome rt=1045162810 rg=gilden.kaempfer
~#! tid=1043005718
Ok, also du hast es dir ja leicht gemacht, Einstein ist tot, der kann dich als
gar nicht mehr hauen.
Aber Spass beiseite, du vergleichst da einen Bodybuilder mit einem
untrainierten Menschen, es ging hier glaube ich eher darum einen Bodybuilder
mit einem durchtranierten (aber eben nicht auf Muskel-show-masse) Menschen zu
vergleichen. Extremes Gegenbeispiel waere, wenn du deinen Bodybuilder gegen
einen Sprinter ueber 100m antreten laesst.
Also noch mal in kuerze: Die Masse des Wurfsterns aendert sich nicht (wenn es
jemand schafft den auf relativistische Geschwindigkeiten zu beschleunigen
moechte ich den auch nicht mehr abekommen, selbst mit Panzerung), also ist die
Geschwindigkeit ausschlaggebend. Bei gleicher Technik (= gleicher
Beschleunigungsstrecke) ist als die groessere SCHNELLkraft beim Beschleunigen
entscheidend.

OrkT.

-----------------------------------------------------------------------------



Re^28: Wurfsterne (Bambi, 14. Feb 2003, 13:49:32):
~#! rn=Orktoeter rt=1045212665 rg=gilden.kaempfer
~#! tid=1043005718
Ich hatte mal Physik-Leistungskurs, also besteht eine geringe Chance, dass ich
Deine hoffentlich nachfolgende Erklaerung verstehe...
Was ist eine relativistische Geschwindigkeit?

-----------------------------------------------------------------------------



Re^29: Wurfsterne (Orktoeter, 14. Feb 2003, 13:59:27):
~#! rn=Bambi rt=1045226972 rg=gilden.kaempfer
~#! tid=1043005718
"relativistische Geschwindigkeit" bedeutet du bist nahe an der
Lichtgeschwindigkeit und solltest die Relativitaetstheorie beruecksichtigen.

OrkT.

-----------------------------------------------------------------------------



Re^30: Wurfsterne (Morgonate, 14. Feb 2003, 21:21:26):
~#! rn=Orktoeter rt=1045227567 rg=gilden.kaempfer
~#! tid=1043005718
Mit der Konsequenz, dass Massen sich bei groesseren Geschwindigkeiten auch
vergroessern. Bei der Lichtgeschwindigkeit sind alle Gegenstaende unendlich
schwer.

Morgonate
Physik studiert habend

-----------------------------------------------------------------------------



Re^31: Wurfsterne (Grimmborn, 15. Feb 2003, 01:07:24):
~#! rn=Morgonate rt=1045254086 rg=gilden.kaempfer
~#! tid=1043005718
Interessanterweise sind nicht alle Gegenstaende unendlich schwer, sondern
unendlich traege. Naja, ein Studium ist halt nicht alles...

GdA

-----------------------------------------------------------------------------



Re^30: Wurfsterne (Vanir, 23. Feb 2003, 13:46:22):
~#! rn=Orktoeter rt=1045227567 rg=gilden.kaempfer
~#! tid=1043005718

Und wenn du dann von einem Wurfstern mit dieser Geschwindikeit getroffen
wirst, kann es sein, dass neue Teilchen entstehen. Du wirfst also diesen
Wurfstern auf Orktoeter und schwupps haste zusaetzlich noch nen Ork extra. 

So mal Spass beiseite. Wieso soll son Bodybuilder eigentlich den Wurfstern
besser werfen koennen ? Da so ein Muskelberg groesstenteils aus Muskeln
besteht braucht er die gesamte Kraft um seinen Arm zu beschleunigen (das
bischen Masse des Wurfsterns ist schnuppe). Ein maessig trainierter Mensch
steht doch gleich viel besser da. Ach ja, der muekelberg sollte es natuerlich
auch schaffen seinen Arm wieder abzubremsen (koennte sonst ganz schoen auf die
Gelenke gehen bei der Masse). 

V.

-----------------------------------------------------------------------------



Re^31: Wurfsterne (Grimmborn, 23. Feb 2003, 15:36:29):
~#! rn=Vanir rt=1046004382 rg=gilden.kaempfer
~#! tid=1043005718
Interessante Theorie. Ich hoffe niemand kommt auf die Idee Wurfsterne in die
Sahelzone zu exportieren.

GdA

-----------------------------------------------------------------------------



Re^32: Wurfsterne (Alpha,  8. Mar 2003, 16:51:37):
~#! rn=Grimmborn rt=1046010989 rg=gilden.kaempfer
~#! tid=1043005718
Eine Armee von duerren Schwarzen, nur mit Wurfsternen bewaffnet, das waer aber
auch mal wieder eine Bedrohung des Weltfriedens ;)

-----------------------------------------------------------------------------



seiten (Guard, 29. Mar 2003, 21:25:54):
wens interessiert ...

dies www-seiten sind dank boing wieder auf nem aktuellen stand. auch die
neueren berichte sind jetzt zu finden ...

bis denne

Guard

-----------------------------------------------------------------------------



Tja.. manche Dinge... (Humni,  1. Apr 2003, 00:19:28):
Liebe Freunde der kaempfenden Zunft,

beim Durchsehen des Spellbooks sind mir ein paar Ungereimtheiten aufgefallen
(ich hab mir das Spellbook nochmal durchsehen muessen, da die Kaempfer die
High-End-Schadensgilde sind, und neue Gilden sich daran orientieren muessen).
Die heftigste Sache war die Finte: Wenn ich einen Gegner taeusche, dann geht
das natuerlich hervorragend, aber doch wohl nicht, wenn ein weiterer Gegner im
Raum ist, der den Gegner warnen kann, dass er gerade auf eine Finte
hereinfaellt. Naja, ist vielleicht einfach noch ein wenig an den Haaren
herbeigezogen, aber die Finte geht jedenfalls nicht mehr, wenn mehrere Gegner
im Raum sind. Sorry, aber das mit dem Fokus wurde einfach zu heftig, da waren
mit Sonderattacken bestimmt oft auch zerstaeubender Schaden moeglich - und das
ist mir zuviel.

Sorry, wenns schon wieder Euch erwischt hat, ich denke aber, jetzt sind
vielleicht erstmal die Zauberer dran...

Gruesse und steinigt mich nicht,
Humni

-----------------------------------------------------------------------------



Re: Tja.. manche Dinge... (Flauros,  1. Apr 2003, 00:21:10):
~#! rn=Humni rt=1049149168 rg=gilden.kaempfer
~#! tid=1049149168
Hm...ja, schaue Dir einmal diese andere High-End-Schadensgilde an.

Danke.

Flauros - will seine Finte wieder. :(

-----------------------------------------------------------------------------



Re: Tja.. manche Dinge... (Vardion,  1. Apr 2003, 00:37:12):
~#! rn=Humni rt=1049149168 rg=gilden.kaempfer
~#! tid=1049149168
Vielleicht koennte sie doch noch gehen, wenn auch mehrere Spieler im Raum sind
und gegen die Monster kaempfen... schliesslich sind die Monster dann mit ihrem
eigenen Ueberlebenkampf beschaeftigt und haben keine Zeit, die anderen zu
warnen.
Oder natuerlich Du laesst Dir ne andere Begruendung einfallen... :)

Vardion

-----------------------------------------------------------------------------



Re: Tja.. manche Dinge... (Zephyr,  1. Apr 2003, 00:40:05):
~#! rn=Humni rt=1049149168 rg=gilden.kaempfer
~#! tid=1049149168
Oh.. ja. Wenn der NPC gegen mich kaempft und sein Partner ruft
ihm zu, dass er grade dabei ist auf ne Finte reinzufallen,
dann verwirrt das den NPC bestimmt noch mehr. Geht dann jetzt
mehr als zerstaeuben?

C4, findet die Logik etwas merkwuerdig

-----------------------------------------------------------------------------



Re: Tja.. manche Dinge... (Karis,  1. Apr 2003, 00:42:47):
~#! rn=Humni rt=1049149168 rg=gilden.kaempfer
~#! tid=1049149168
Jawohl. An den Haaren herbeigezogen. Passt in kein Konzept.
Gegnevorschlag: reuzoer die Schlagkonmbi einfach etwas und erhoehe die
Anfaelligkeit
auf Angriffe. Bei Konzerntration auf einen Gegner bin ich natuerlich auf einen
weiteren
nicht gefasst. Dann haste den Fokus draussen bzw ein Gegengewicht dazu und bei
Finte hilft dann halt
nur den Wert druecken. Wenn das denn unbedingt sein muss.

Ex-Generaelchen Karis

-----------------------------------------------------------------------------



Re: Tja.. manche Dinge... (Gnome,  1. Apr 2003, 00:47:08):
~#! rn=Humni rt=1049149168 rg=gilden.kaempfer
~#! tid=1049149168
das stelle ich mir lustig vor...

[Neulich in Drakonien.]

Darkwing stuermt in den Raum.
Pitfall erscheint locker-laessig in der Tuer.
...
Darkwing richtet sein Aufmerksamkeit auf den Kommandofuehrer.
Pitfall richtet sein Aufmerksamkeit auf den Oberpriester.
...
Darkwing beschleunigt seine Attacken.
Pitfall beschleunigt seine Attacken.
...
[Darkwing verarbeitet den Kommandofuehrer zu Kleinholz.]
...
Der Oberpriester sagt: "Hey Drakonierfuehrer! Darkwing macht..."
Der Oberpriester sagt: "AUA... ARRRRGH... AAAAAHHHHHHHH!!!!!..."
...
[Pitfall macht aus dem Oberpriester Drakoniermuss.]
...
Der Kommdofuehrer versucht zu reden: "Hey Oberpriester! Pitfall macht..."
Der Kommdofuehrer versucht zu reden: "ARRRRGGG. DAS tat weh... ARGLLL..."
...
Der Oberpriester sagt: "Ich muff Dich warnen!!! Darkwing macht eine"
Der Oberpriester sagt: "Finte gegen Dich... AAAAHHH... AUUUUU!"
...
Der Kommdofuehrer sagt: "Genau davor wollte ich Dich auch grade warnen..."
Der Kommdofuehrer sagt: "Aber... waf genau ift daf eigentlich?!?"
...


gnOme kichert

-----------------------------------------------------------------------------



Re: Re: Tja.. manche Dinge... (Humni,  1. Apr 2003, 12:13:50):
~#! rn=Gnome rt=1049150828 rg=gilden.kaempfer
~#! tid=1049149168
Sorry, aber in sehr vielen Actionfilmen ist diese Warnerei einfach ueblich.
Wenn der obertolle Kaempfer mit der gerade von ihm geretteten Frau vor dem
Endgegner steht und der sie ablenkt schreit die Frau auch dauernd, und der Typ
wird dadurch gewarnt. Beispiele? Indiana Jones, Quatermain, Rush Hour, Blade
2.

Humni

-----------------------------------------------------------------------------



Re^3: Tja.. manche Dinge... (Anatol,  1. Apr 2003, 12:17:39):
~#! rn=Humni rt=1049192030 rg=gilden.kaempfer
~#! tid=1049149168
"*KREISCH* <Name des Heldes einfuegen>! Hinter Dir!"
<Name des Heldes einfuegen> dreht sich rasch um, die Waffe zur
Parade erhoben, kampfbereit, entschlossen. Da ist aber niemand.
<Name des Heldes einfuegen> bekommt von seinem Gegner, dem er
jetzt natuerlich den Ruecken zukehrt, einen schweren Gegenstand
auf den Kopf geschlagen. <Name des Heldes einfuegen> bricht
bewusstlos zusammen.
"*KREISCH*"


-----------------------------------------------------------------------------



Re^3: Tja.. manche Dinge... (Schoko,  1. Apr 2003, 12:23:14):
~#! rn=Humni rt=1049192030 rg=gilden.kaempfer
~#! tid=1049149168
Blade ist viel zu cool, als dass er  gewarnt werden muesste }:)


Und Quatermain .... uaaaah, der ist einfach zu schlecht, da nutzt auch das nix
mehr :)

Schoko (wann geht das nach schmarrn)

-----------------------------------------------------------------------------



Re^4: Tja.. manche Dinge... (Ark,  1. Apr 2003, 13:08:57):
~#! rn=Schoko rt=1049192594 rg=gilden.kaempfer
~#! tid=1049149168
Blade (wuerg) wirft eine "Lichthandgranate", die sowieso alles Boese
zerstueckelt, dass Bush neidisch werden koennte. Finte et al. sind was fuer
Handwaffenbenutzer.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^5: Tja.. manche Dinge... (Schoko,  1. Apr 2003, 13:10:37):
~#! rn=Ark rt=1049195337 rg=gilden.kaempfer
~#! tid=1049149168
Genau!! Und er kann das Licht um Ecken fliessen lassen :)

Schoko

-----------------------------------------------------------------------------



Re^6: Tja.. manche Dinge... (Orktoeter,  1. Apr 2003, 13:17:16):
~#! rn=Schoko rt=1049195437 rg=gilden.kaempfer
~#! tid=1049149168
Ha! Wann baust du denn ein, das die ganzen Spelluser mehr Probleme mit ihren
Spells haben wenn ihre Konzentration(spunkte) weniger werden? Und sowieso.. so
ein Spell verlangt doch Konzentration, wie kann man einen Spell casten
waehrend auf einen eingepruegelt wird? Also sollten Spellcaster in Zukunft
auch nur noch Spells casten koennen wenn sie 1. noch nicht im Kampf sind oder
2. in einem Team genuegend weit hinten stehen und abgeschirmt sind.

OrkT liebt dieses Datum...

-----------------------------------------------------------------------------



Re^7: Tja.. manche Dinge... (Anatol,  1. Apr 2003, 13:18:53):
~#! rn=Orktoeter rt=1049195836 rg=gilden.kaempfer
~#! tid=1049149168
Haette ich ja per se nichts gegen. Aber dann bitte incl. Zaubern wie
"Finger des Todes", "Toedlicher Albtraum", "PeCo 40 Zerstoerung des Herzens"
und dergleichen. 


-----------------------------------------------------------------------------



Re^6: Tja.. manche Dinge... (Grimmborn,  1. Apr 2003, 13:38:47):
~#! rn=Schoko rt=1049195437 rg=gilden.kaempfer
~#! tid=1049149168
Aeh, und was ist so Besonderes dran Licht "um die Ecke" fliessen zu lassen? In
meinem Universum jedenfalls macht das Licht das von alleine (wie sonst kaeme
man zu Interferenzmustern am Doppelspalt?).

GdA

-----------------------------------------------------------------------------



Re^7: Tja.. manche Dinge... (Ark,  1. Apr 2003, 14:06:41):
~#! rn=Grimmborn rt=1049197127 rg=gilden.kaempfer
~#! tid=1049149168
Blades Licht kuemmert so Firlefanz wie Interferenzmuster am Doppelspalt nicht.
Hoechstens Lochmuster am Vampirmaul. Mann, ist der Film scheisse :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^8: Tja.. manche Dinge... (Jadawin,  1. Apr 2003, 16:52:30):
~#! rn=Ark rt=1049198801 rg=gilden.kaempfer
~#! tid=1049149168
Du redest offensichtlich sowieso von Blade 2. Blade 1 ist natuerlich um
Laengen besser, aberr richtig scheisse war eigentlich auch der zeitw Teil
nicht.
Jad*

-----------------------------------------------------------------------------



Re^9: Tja.. manche Dinge... (Ark,  1. Apr 2003, 17:02:15):
~#! rn=Jadawin rt=1049208750 rg=gilden.kaempfer
~#! tid=1049149168
Sagen wir mal so, ich musste bitter bereuen, dass ich mich habe belatschen
lassen von 2 "Freunden", die mich da reinschleppten. Aber immerhin, auch die
haben gekotzt danach, und die sind so ziemlich ... hm, unkritisch, was solche
Filme betrifft :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^10: Tja.. manche Dinge... (Humni,  1. Apr 2003, 17:06:37):
~#! rn=Ark rt=1049209335 rg=gilden.kaempfer
~#! tid=1049149168
Quark, Blade 2 war einer der besten Filme der letzten Jahre. Und nun bau ich
halt danach die Kaempfer um - was spricht dagegen?

Humni

-----------------------------------------------------------------------------



Re^11: Tja.. manche Dinge... (Ark,  1. Apr 2003, 17:07:54):
~#! rn=Humni rt=1049209597 rg=gilden.kaempfer
~#! tid=1049149168
Dann warte ich mal, bis die ersten Dumbledore Zauberer herumgeistern :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Tja.. manche Dinge... (Humni,  2. Apr 2003, 00:00:23):
~#! rn=Humni rt=1049149168 rg=gilden.kaempfer
~#! tid=1049149168

So ..

nachdem das wohl alle mitgekriegt haben, bitte ich nochmal aufs Datum des
Artikels zu schauen. Und ja, es gab eine Meldung, aber nein, sie hat nichts
bewirkt, die Finte hat den ganzen Tag wie gewohnt funktioniert.

Dennoch gehoerten die ersten 2 Stunden nach der bekanntmachung zu den besten,
die ich hier je erlebt habe. Danke schoen ;-)

Humni

-----------------------------------------------------------------------------



Re: Re: Tja.. manche Dinge... (Patryn,  2. Apr 2003, 11:38:15):
~#! rn=Humni rt=1049234423 rg=gilden.kaempfer
~#! tid=1049149168
Aber ueber manche Dinge sollte man einfach keine Witze machen...

-- 
Patryn wuenscht sich den Artikel in analoger Form noch mal am 2. April ;)

-----------------------------------------------------------------------------



Bericht (Elaine, 18. Mai 2003, 11:28:08):
Hi zusammen,

unglaublich aber wahr, mein Bericht haengt aus...
Wer Interesse hat.. :-)

Gruss,
Elaine.

-----------------------------------------------------------------------------



Die neuen Kaempfer zMUD Scripts sind oben (Alderan,  7. Jun 2003, 00:33:49):
So endlich auf die Reihe bekommen die Scripts hochzuladen und die Seite
fertigzumachen
zu finden unter http://mitglied.lycos.de/alderanmg/

Alderan

-----------------------------------------------------------------------------



Re: Die neuen Kaempfer zMUD Scripts sind oben (Gnome,  7. Jun 2003, 11:43:30):
~#! rn=Alderan rt=1054938829 rg=gilden.kaempfer
~#! tid=1054938829
du hast "verfehlen" mit rot markiert?
da wuerden mir nach 3 min die augen wehtun.

gnOme, grauts vor jeglicher naechsten generation.

-----------------------------------------------------------------------------



Re: Re: Die neuen Kaempfer zMUD Scripts sind oben (Nibel,  7. Jun 2003, 13:48:08):
~#! rn=Gnome rt=1054979010 rg=gilden.kaempfer
~#! tid=1054938829
Alles unter Kratzen zeigt man doch eh nicht an, also was solls.
  - Nibel
-----------------------------------------------------------------------------



Re^3: Die neuen Kaempfer zMUD Scripts sind oben (Croft,  7. Jun 2003, 14:03:37):
~#! rn=Nibel rt=1054986488 rg=gilden.kaempfer
~#! tid=1054938829
Es geht hoffentlich um die eigenen Verfehler ,-)

Croft

-----------------------------------------------------------------------------



Neue Themen (Boing,  7. Jun 2003, 15:14:16):
Hallo,
die Berichtsthemen sind mal wieder aus, wenn also jemand Vorschlaege
hat, dann moege er sie mir bitte zumailen.
  Boing

-----------------------------------------------------------------------------



Re: Die neuen Kaempfer zMUD Scripts sind oben (Guard, 12. Jun 2003, 09:27:18):
~#! rn=Alderan rt=1054938829 rg=gilden.kaempfer
~#! tid=1054938829
hab alderans seite mal unter trves.de verlinkt :-)

gruss Guard

-----------------------------------------------------------------------------



Re: Neue Themen (Lug, 12. Jun 2003, 20:42:46):
~#! rn=Boing rt=1054991656 rg=gilden.kaempfer
~#! tid=1054991656
Sex mit Haustieren?
L.

-----------------------------------------------------------------------------



Re: Re: Neue Themen (Maharet, 12. Jun 2003, 23:51:20):
~#! rn=Lug rt=1055443366 rg=gilden.kaempfer
~#! tid=1054991656
Aber nicht im Struv, das gibt nur Verweise.

Maha

-----------------------------------------------------------------------------



Re: Re: Neue Themen (Boing, 13. Jun 2003, 09:25:40):
~#! rn=Lug rt=1055443366 rg=gilden.kaempfer
~#! tid=1054991656
Das Thema kann ich aus formalen Gruenden leider nicht annehmen, da es mir
nicht wie gewuenscht per mail zugesendet wurde ... :)
  Boing

-----------------------------------------------------------------------------



Re^3: Neue Themen (Zook, 13. Jun 2003, 09:55:01):
~#! rn=Boing rt=1055489140 rg=gilden.kaempfer
~#! tid=1054991656
> versende artikel 8 an boing
Empfaenfer: Boing
Abgesandt an: Boing


Zook heilt formale Maengel.

-----------------------------------------------------------------------------



Re^4: Neue Themen (Lug, 20. Jun 2003, 00:34:58):
~#! rn=Zook rt=1055490901 rg=gilden.kaempfer
~#! tid=1054991656
Fein,

bin ja mal auf den Aufsatz gespannt ;)

L.

-----------------------------------------------------------------------------



Neuerung.... (Zook, 10. Jul 2003, 19:29:26):
Ich hoerte, Lug arbeitet an einer massiven Gildenfeeling-Verbesserung.
Man darf gespannt sein.

Zook.

-----------------------------------------------------------------------------



Re: Neuerung.... (Moonshine, 10. Jul 2003, 19:30:03):
~#! rn=Zook rt=1057858166 rg=gilden.kaempfer
~#! tid=1057858166
Moonshine will sich dieses 'Feeling' nicht vorstellen ...

-----------------------------------------------------------------------------



Re: Re: Neuerung.... (Lug, 10. Jul 2003, 20:01:59):
~#! rn=Moonshine rt=1057858203 rg=gilden.kaempfer
~#! tid=1057858166
*Breit grins*
L.

-----------------------------------------------------------------------------



Re^3: Neuerung.... (Hight, 10. Jul 2003, 21:08:20):
~#! rn=Lug rt=1057860119 rg=gilden.kaempfer
~#! tid=1057858166
Hight feuert Lug lautstark an und droht mir 3 jahren Trug wenn das nichts wird

-----------------------------------------------------------------------------



Re: Neuerung.... (Gnome, 11. Jul 2003, 22:42:44):
~#! rn=Zook rt=1057858166 rg=gilden.kaempfer
~#! tid=1057858166
generaelinnen duerfen dann in zukunft zu kandri, saphina oder lembold beten?

hehe.

-----------------------------------------------------------------------------



Re: Re: Neuerung.... (Morgoth, 11. Jul 2003, 22:43:57):
~#! rn=Gnome rt=1057956164 rg=gilden.kaempfer
~#! tid=1057858166

Nur zu Lembold und Kandri, Saphina is hetero :)

M*

-----------------------------------------------------------------------------



Re: Re: Neuerung.... (Apollonia, 11. Jul 2003, 22:45:23):
~#! rn=Gnome rt=1057956164 rg=gilden.kaempfer
~#! tid=1057858166
Nein, Generaelinnen duerfen Dir zukuenftig so in den Hintern treten, dass der
Stiefel stecken bleibt (c:

Apo*
spricht jetzt gleich ein Machtwort *g*

-----------------------------------------------------------------------------



Kaempfer-Scripts V0.2 (Alderan, 20. Aug 2003, 03:40:45):
Auf http://mitglied.lycos.de/alderanmg/ groesseres Update der Kaempferscripts

Gegner-schaetz und Skills-Code mal entwirrt, jetzt bedeutend schneller
Neues Befoerderungsscript, was Briesels Text uebersichtlicher anzeigt
Kleinere Typos und Fehler bereinigt

Alderan

-----------------------------------------------------------------------------



Re: Kaempfer-Scripts V0.2 (Mupfel, 20. Aug 2003, 19:29:44):
~#! rn=Alderan rt=1061343645 rg=gilden.kaempfer
~#! tid=1061343645
Fein. Und wo liegen die Quest-KL- und FP-such-Scripte? URL? ;)

-mupfel-

-----------------------------------------------------------------------------



Re: Re: Kaempfer-Scripts V0.2 (Alderan, 21. Aug 2003, 02:10:16):
~#! rn=Mupfel rt=1061400584 rg=gilden.kaempfer
~#! tid=1061343645
Hiu, jetzt fordern einen sogar schon die Magier auf die Regeln zu brechen.

Dem Wunsch will ich gerne nachkommen

http://www.mg-kls.de.vu/

Alderan

-----------------------------------------------------------------------------



Ausbildung fuer KrakhGetres (Krellja, 23. Sep 2003, 14:52:00):
Im Moment laufen hier diverse KrakhGetres herum, die keinen Ausbilder
finden. Waere es nicht eine gute Idee, wenn auch TakalMor und ZalkhBatar
"kleine" Trves ausbilden koennten? Die Ausbildung wuerde dann halt nur
bei den Kleinen zaehlen. 

Tschuess
    Krellja

-----------------------------------------------------------------------------



Re: Ausbildung fuer KrakhGetres (Krellja, 23. Sep 2003, 15:02:18):
~#! rn=Krellja rt=1064321520 rg=gilden.kaempfer
~#! tid=1064321520
Selbstreply :(

O.k. der Vorschlag war mal wieder nicht zu Ende gedacht.
Die gefahr, dass so die mittleren Trves keine Azubis mehr finden, hab ich
einfach uebersehen.

Krellja

-----------------------------------------------------------------------------



Re: Re: Ausbildung fuer KrakhGetres (Croft, 23. Sep 2003, 15:06:23):
~#! rn=Krellja rt=1064322138 rg=gilden.kaempfer
~#! tid=1064321520
Und das die Takal'Mor und Zalkh'Batar dann an Langeweile sterben
wenn sie dann taugliche Gegner fuer die Krakh'Getres reihenweise
umpusten?  Das Ausbilden soll ja schon noch einen gewissen Anspruch
haben koennen.  Ich finds eher eine Sauerei das Gra'Takal sich der
Ausbildung verweigern wenn ihre Kills schon haben.

Croft

-----------------------------------------------------------------------------



Re^3: Ausbildung fuer KrakhGetres (Hight, 26. Sep 2003, 11:47:23):
~#! rn=Croft rt=1064322383 rg=gilden.kaempfer
~#! tid=1064321520
oehm nerja ...
wieviel kills brauch n lvl 3 ? 20 30?
das problem is das die kleinen dann reihenweise draufgehen ... die monster
muessen ja ne gewisse staerke haben das sie zaehlen
weiss der geier wie das brechenrt wird aber n zalkh als ausbilder is dann echt
quatsch oder?
die orkhoele gibt die entsprechenden kills fuer den azubi nich und das was
dann so ging is ohne portale schon nimmer so wizisch 
eismiene ect.

-----------------------------------------------------------------------------



Kampftechniken und Wurfsterne (Humni,  8. Okt 2003, 17:49:50):
Huhu Kaempfers,

ich habe heute mal eine kleine Aenderung bei Euch eingebaut. Diese sollte Euch
nicht als Kaempfer abwerten, wohl aber in Kombination mit Artillerie. Sprich:
Ihr solltet nicht mehr eine 4-Technik-Kampfkombo UND noch 5 Wurfsterne in
einer Runde nutzen koennen. Als Kaempfer an sich sollte dies Euch aber nicht
einschraenken, sprich, wer nur Kampfkombos nutzt sollte das nicht merken.

Sollte ich mich taeuschen sagt bitte Bescheid.

Gruesse,
Humni

-----------------------------------------------------------------------------



Neuer Gildenmagier (Boing,  9. Feb 2004, 17:11:58):
Hallo zusammen,

einige wussten vielleicht schon, dass ich schon seit einiger Zeit einen
Nachfolger als Gildenmagier suche, andere wisses es jetzt. Jedenfalls 
ist die Suche erfolgreich abgeschlossen worden und ich kann hiermit
meinen Hut nehmen und euch euren neuen Gildenchef vorstellen:

   Maarg 

Ich wuensch ihm viel Erfolg, als erfahrener Kampfzwerg wird er sicherlich
schnell in die neue Aufgabe reinkommen. :)

Ciao,
  Boing

-----------------------------------------------------------------------------



Re: Neuer Gildenmagier (Maarg,  9. Feb 2004, 17:48:37):
~#! rn=Boing rt=1076343118 rg=gilden.kaempfer
~#! tid=1076343118
Hallo zusammen.

Ich danke Boing und den zustaendigen EM+ recht herzlich fuer das
entgegengebrachte Vertrauen.

Euch Kaempfer moechte ich bitten, mich mit sinnvollen Ideen zur
Verschoenerung und Verbesserung unserer Gilde zu ueberhauefen (vorzugsweise
per Mail).

Ich muss mich jetzt erstmal etwas einarbeiten (Code lesen, Repfile sichten
usw.), dann schauen wir mal, wo der Kampfstiefel am meisten drueckt.

Gruss,

   Maarg

-----------------------------------------------------------------------------



Re: Re: Neuer Gildenmagier (Darklor,  9. Feb 2004, 19:03:20):
~#! rn=Maarg rt=1076345317 rg=gilden.kaempfer
~#! tid=1076343118
Wenn das mal nich schief geht...

Schatten Darklor (die Unke)

-----------------------------------------------------------------------------



Berichtsthemen (Maarg,  9. Feb 2004, 22:50:51):
Hallo zusammen,

ich habe gerade einen neuen Ordner mit Berichts-Themen auf Brieseltrims
Schreibtisch gestellt. Wer also noch kein Thema hat kann sich jetzt eins
abholen.

Wir brauchen aber noch mehr Themen, wer also noch tolle Ideen hat sollte
mir diesbezueglich eine Mail schicken. Und selbstverstaendlich duerfen mir
auch Nicht-Kaempfer Themen schicken. ;o)

Gruss,

   Maarg


-----------------------------------------------------------------------------



Kleinerer Bugfix (Maarg, 10. Feb 2004, 20:26:51):
Hallo,

wer von Euch bei der Quest 'Ein Schutz gegen den Ky'leann Athtakh' das Problem
hatte, dass der Auftraggeber das entsprechende Objekt nicht haben wollte,
sollte sich das Objekt jetzt noch mal neu holen und es versuchen.

Klappt's immer noch nicht, bitte Bescheid sagen.

Maarg

-----------------------------------------------------------------------------



Re: Berichtsthemen (Guard, 13. Feb 2004, 17:51:29):
~#! rn=Maarg rt=1076363451 rg=gilden.kaempfer
~#! tid=1076363451
hi,

ich bringe an der stelle nochmal den vorschlag, doch mal nachzuschauen, welche
berichtsthemen schon seit ewigkeiten vergeben sind und nie geschrieben wurden,
die entsprechenden chars zu fragen, ob da noch was passiert und ggf. die
themen wieder zur verguegung zu stellen ...

gruss

Guard

-----------------------------------------------------------------------------



Re: Re: Berichtsthemen (Croft, 13. Feb 2004, 18:00:07):
~#! rn=Guard rt=1076691089 rg=gilden.kaempfer
~#! tid=1076363451
:denkt spontan an "Frueher war alles besser"

Croft

-----------------------------------------------------------------------------



Re^3: Berichtsthemen (Anatol, 13. Feb 2004, 19:48:25):
~#! rn=Croft rt=1076691607 rg=gilden.kaempfer
~#! tid=1076363451
Nene, lass das bloss bei Nicolai stehen.
Am Ende kriegt es noch ein Jungspund, der damit nix anfangen kann.


-----------------------------------------------------------------------------



Re: Re: Berichtsthemen (Maarg, 13. Feb 2004, 19:50:12):
~#! rn=Guard rt=1076691089 rg=gilden.kaempfer
~#! tid=1076363451
Das Problem ist identifiziert. Wie und wann das behoben wird, kann ich
allerdings noch nicht sagen.

Maarg

-----------------------------------------------------------------------------



Re^4: Berichtsthemen (Sina, 13. Feb 2004, 19:51:24):
~#! rn=Anatol rt=1076698105 rg=gilden.kaempfer
~#! tid=1076363451
wozu bericht schreiben? der kaempfer is fuer 
nen 2tie schon jetzt viel zu stark :)

-----------------------------------------------------------------------------



Re^5: Berichtsthemen (Anatol, 13. Feb 2004, 19:54:12):
~#! rn=Sina rt=1076698284 rg=gilden.kaempfer
~#! tid=1076363451
Niemand sagt, dass man mit Bericht erhoehen MUSS. :)

Ich sage: Er ist einfach nur faul! Ein Bush! Nationalgardist! Drueckeberger!

*duck* :)


-----------------------------------------------------------------------------



Re^6: Berichtsthemen (Alkohol, 13. Feb 2004, 19:54:46):
~#! rn=Anatol rt=1076698452 rg=gilden.kaempfer
~#! tid=1076363451
vielleicht ist ja auch nur ne Praktikantin im spiel ;)

Alki

-----------------------------------------------------------------------------



Aenderungen bei "schaetz" (Maarg, 22. Feb 2004, 16:42:45):
Hallo Trves,

schaetz erkennt jetzt

- Die Gilde der Dunkelelfen
- Die Waffenklasse "Stab"
- Die Laenge von Waffen

Bei Fehlern bitte Bescheid sagen.

Gruss,

   Maarg

-----------------------------------------------------------------------------



Re: Aenderungen bei "schaetz" (Maharet, 22. Feb 2004, 16:43:09):
~#! rn=Maarg rt=1077464565 rg=gilden.kaempfer
~#! tid=1077464565
Die Laenge ist nicht so wichtig, auf die Dicke kommt es an.

Maha, Spion und Giftmischer aD

-----------------------------------------------------------------------------



Re: Aenderungen bei "schaetz" (Maarg, 22. Feb 2004, 16:58:50):
~#! rn=Maarg rt=1077464565 rg=gilden.kaempfer
~#! tid=1077464565
*raeusper*

...und nun auch wirklich nur die Laenge von Waffen. Und nicht auch von
Ruestungen. ;o)


-----------------------------------------------------------------------------



In der Waffenkammer... (Maarg, 26. Feb 2004, 22:48:12):
...sind die Regale nun etwas uebersichtlicher.

Man sollte nun auch Waffen mit etwas laengeren Namen einigermassen
vollstaendig erkennen koennen.

Maarg

-----------------------------------------------------------------------------



twer (Maarg, 26. Mai 2004, 20:33:22):
Moin.

Nach Ende/Crash/Reboot solltet Ihr eine idle-Anzeige im twer haben.

Gruss,

   Maarg

-----------------------------------------------------------------------------



Re: twer (Zook, 26. Mai 2004, 20:34:00):
~#! rn=Maarg rt=1085596402 rg=gilden.kaempfer
~#! tid=1085596402
Das nennst Du ABWERTEN?

Zook.

-----------------------------------------------------------------------------



Re: Re: twer (Maarg, 26. Mai 2004, 20:34:22):
~#! rn=Zook rt=1085596440 rg=gilden.kaempfer
~#! tid=1085596402
Nein. :o)

-----------------------------------------------------------------------------



Re: Re: twer (Asuka, 26. Mai 2004, 20:34:38):
~#! rn=Zook rt=1085596440 rg=gilden.kaempfer
~#! tid=1085596402
Was nutzt denn ne Idleanzeige, wenn ich idel weiss ich das doch.

Asuka

-----------------------------------------------------------------------------



Re^3: twer (Grimmborn, 26. Mai 2004, 20:35:40):
~#! rn=Asuka rt=1085596478 rg=gilden.kaempfer
~#! tid=1085596402
Findest Du? Immer wenn ich 'kwer' oder 'finger grimmborn' mache stelle ich
fest, dass moeglicherweise sonst jeder idlet, aber ich nicht. Daraus kann ich
nur schliessen, dass ich, was immer ich zu wissen glaube, nie idle bin.

GdA

-----------------------------------------------------------------------------



Re^4: twer (Asuka, 26. Mai 2004, 20:37:32):
~#! rn=Grimmborn rt=1085596540 rg=gilden.kaempfer
~#! tid=1085596402
Wenn ich idel tipp ich ja nicht, also ist doch so ne Idleanzeige nutzlos.
Zumindestens fuer mich.

Asuka

-----------------------------------------------------------------------------



Re^5: twer (Muadib, 26. Mai 2004, 20:38:44):
~#! rn=Asuka rt=1085596652 rg=gilden.kaempfer
~#! tid=1085596402
was ist idle?

-----------------------------------------------------------------------------



Re^6: twer (Zook, 26. Mai 2004, 20:39:04):
~#! rn=Muadib rt=1085596724 rg=gilden.kaempfer
~#! tid=1085596402
Du kennst noch Jof?

Zook.

-----------------------------------------------------------------------------



Re^6: twer (Croft, 26. Mai 2004, 20:39:26):
~#! rn=Muadib rt=1085596724 rg=gilden.kaempfer
~#! tid=1085596402
Dann ist das ja eher als Abwertung zu verstehen.  Wichtige Informationen
werden jetzt zwischem Unwichtigem versteckt.

Croft

-----------------------------------------------------------------------------



Re^7: twer (Muadib, 26. Mai 2004, 20:39:34):
~#! rn=Zook rt=1085596744 rg=gilden.kaempfer
~#! tid=1085596402
ja, verdammt guter npc

-----------------------------------------------------------------------------



Re^8: twer (Lug, 26. Mai 2004, 20:42:20):
~#! rn=Muadib rt=1085596774 rg=gilden.kaempfer
~#! tid=1085596402
Wo bleibt eigentlich der naechste Level? Also damals hiess es...

Schnarch
Lugifer

-----------------------------------------------------------------------------



Re^9: twer (Zook, 26. Mai 2004, 20:43:40):
~#! rn=Lug rt=1085596940 rg=gilden.kaempfer
~#! tid=1085596402
Du glaubst doch nicht, dass es den dafuer gibt, x Gardewaechter ins
Jenseits zu befoerdern, oder?

Zook.

-----------------------------------------------------------------------------



Re^10: twer (Lug, 26. Mai 2004, 20:47:10):
~#! rn=Zook rt=1085597020 rg=gilden.kaempfer
~#! tid=1085596402
Doch. UNd wenn was anderes noetig ist, wird sich das schon finden...

Lugifer

-----------------------------------------------------------------------------



Kleine Aenderung (Maarg,  4. Sep 2004, 20:58:39):
Hallo,

"schaetz" erkennt nun bei den "Allgemeinen Waffenskills" auch Staebe.

Maarg

-----------------------------------------------------------------------------



Re: Kleine Aenderung (Darklor,  4. Sep 2004, 21:05:54):
~#! rn=Maarg rt=1094324319 rg=gilden.kaempfer
~#! tid=1094324319
Wann kommen denn die Staebe fuer die Kaempfer? ;)

Darklor

-----------------------------------------------------------------------------



Re: Re: Kleine Aenderung (Maarg,  4. Sep 2004, 21:35:15):
~#! rn=Darklor rt=1094324754 rg=gilden.kaempfer
~#! tid=1094324319
Tja, gute Frage.

Stangenwaffen als Kzrok gibt es ja schon, also koennte man die Kampfstaebe da
einfach mit hinzu packen.

Das wuerde die Elfen freuen.

Man koennte auch einen komplett neuen Skill einfuehren. Moeglicherweise
koennen ja Felinen besonders gut mit Kampfstaeben umgehen, da sie als
Waldbewohner von Natur aus eine Affinitaet zu langen Aesten haben. Dann
haetten die Felinen auch mal eine Waffengattung, in der sie glaenzen koennen.

Das wuerde die Felinen freuen.

Ebenfalls koennte man die Kampfstaebe voellig ignorieren, weil sie schlicht
und einfach im Gildenkonzept nicht vorgesehen sind.

Das wuerde den Gildenmagier freuen, weil er damit am wenigsten Arbeit hat. :o)

Was haltet Ihr - die Spieler - denn davon?

Ich will jetzt nicht wissen, ob Ihr die Einfuehrung der Kampfstaebe fuer gut
oder schlecht haltet - das wurde bzw. wird woanders schon diskutiert - sondern
Eure Meinung dazu hoeren, wie die Gilde damit umgehen soll.

Maarg

-----------------------------------------------------------------------------



Re^3: Kleine Aenderung (Matis,  4. Sep 2004, 22:23:20):
~#! rn=Maarg rt=1094326515 rg=gilden.kaempfer
~#! tid=1094324319
Ich favorisiere die Idee, dass Felinen Kampfstabspezialisten sind, und deshalb
den entsprechenden Skill auf 100% bringen koennen. Fuer alle anderen Rassen 
koennte der maximal erlernbare Skillwert ja irgendwo zwischen Keule und Speer 
liegen.

Matis

-----------------------------------------------------------------------------



Re^4: Kleine Aenderung (Zook,  4. Sep 2004, 22:45:45):
~#! rn=Matis rt=1094329400 rg=gilden.kaempfer
~#! tid=1094324319
Ich hielte dies auch fuer ne gute Idee.

Zook.

PS: Obwohl: Rassendiskriminierung ist ja auch feines, das muss man ja 
pflegen.

-----------------------------------------------------------------------------



Re^5: Kleine Aenderung (Darklor,  4. Sep 2004, 23:13:40):
~#! rn=Zook rt=1094330745 rg=gilden.kaempfer
~#! tid=1094324319
Ich finde das is auch keine schlechte Idee und die zusaetzliche Stufe koennte
etwas das Loch fuellen das mit der Herhoehung der Seherwerdung entstanden is -
aber ob der Stab nun so toll zu den Felinen passt? ;)

Darklor

-----------------------------------------------------------------------------



Re^6: Kleine Aenderung (Maarg,  4. Sep 2004, 23:18:04):
~#! rn=Darklor rt=1094332420 rg=gilden.kaempfer
~#! tid=1094324319
Was genau meinst Du mit "zusaetzliche Stufe"?

Maarg

-----------------------------------------------------------------------------



Re^6: Kleine Aenderung (Croft,  4. Sep 2004, 23:18:18):
~#! rn=Darklor rt=1094332420 rg=gilden.kaempfer
~#! tid=1094324319
Welche Erhoehung der Seherwerdung meinst du?  Das Letzte war eine
Senkung, reichte dir die noch nicht?

Croft

-----------------------------------------------------------------------------



Re^7: Kleine Aenderung (Darklor,  4. Sep 2004, 23:35:05):
~#! rn=Croft rt=1094332698 rg=gilden.kaempfer
~#! tid=1094324319
Der Stabkaempfer... ;)

Die Erhoehung von des mindestlvl 20 auf lvl 30 zur Seherwerdung (ich glaub da
passte bei den Kaempfern was nich mehr, dass man fuer die eine Stufe
mindestens lvl 20 und Seher sein musste... oder wurde das schon geaendert?)

Darklor

-----------------------------------------------------------------------------



Re^8: Kleine Aenderung (Croft,  4. Sep 2004, 23:39:15):
~#! rn=Darklor rt=1094333705 rg=gilden.kaempfer
~#! tid=1094324319
Naja.  Man koennte das Mindestlevel auch entfernen.  Allein durch die
XP, FP und AP Anforderungen ist man automatisch jenseits der 30 ...

Croft

-----------------------------------------------------------------------------



Re^9: Kleine Aenderung (Darklor,  4. Sep 2004, 23:49:53):
~#! rn=Croft rt=1094333955 rg=gilden.kaempfer
~#! tid=1094324319
Man koennte aber auch entfernen, dass man dafuer schon Seher sein muss...

Darklor

-----------------------------------------------------------------------------



Re^3: Kleine Aenderung (Gnome,  6. Sep 2004, 11:38:10):
~#! rn=Maarg rt=1094326515 rg=gilden.kaempfer
~#! tid=1094324319
ein separater skill dafuer waere im prinzip nicht schlecht. wenn du es aber
richtig machen willst, muesstest du irgendwo zwischen stufe 3 und 6 noch
eine hinzufuegen ("Der Stabkaempfer"), alle anderen wuerden aufruecken
muessen. wenn die felinen mit kampfstaeben ganz besonders gut umgehen
koennen sollen, braucht es natuerlich auch einen eigenen felinen-npc,
der das wissen vermittelt, es braucht eine neue raeumlichkeit im struv
und eine neue lernsequenz... -> viel arbeit.

als naechste frage, die mir so spontan in den sinn kommt: kriegen die
spieler ueber dem neuen level x den skill gesetzt? oder muessen die ihn
neu lernen?

und: was passiert, wenn es irgendwann wieder eine neue waffenklasse gibt?
da capo?

alles in allem waere ich dann wohl mehr fuers ignorieren.

gnOme

-----------------------------------------------------------------------------



Re^4: Kleine Aenderung (Zook,  6. Sep 2004, 11:47:22):
~#! rn=Gnome rt=1094463490 rg=gilden.kaempfer
~#! tid=1094324319
Der Schluss von "viel Arbeit" zu "waere ich .. mehr fuers ignorieren"
leuchtet mir nicht richtig ein. Wenn es fuer sinnvoll angesehen wird,
Felinen und die Kampfstaebe in der Kaempfergilde "richtig" einzubinden,
dann waere das doch den Schweiss der Tuechtigen wert, oder?

Zook.

-----------------------------------------------------------------------------



Re^5: Kleine Aenderung (Gloinson,  6. Sep 2004, 11:53:02):
~#! rn=Zook rt=1094464042 rg=gilden.kaempfer
~#! tid=1094324319
Ich glaube der Entschluss "ignorieren" kommt eher von der zu erwartenden
"Mehrarbeit" fuer Spieler, die ihre Gilde maximal ausschoepfen wollen und der
Frustration ob des Potentials fuer weitere Waffenaenderungen samt Folgen. Ich
finde den Schluss allerdings uebertrieben.


-----------------------------------------------------------------------------



Re^5: Kleine Aenderung (Gnome,  6. Sep 2004, 12:08:12):
~#! rn=Zook rt=1094464042 rg=gilden.kaempfer
~#! tid=1094324319
ich kam zu dem schluss, da ich insgesamt gesehen mehr nachteile als
vorteile in dieser aenderung sehe. und "viel arbeit" ist erstmal ein
nachteil.
und vorteile sehe ich zZt alleinig fuer felinen, die dann eine waffenklasse
auf max bringen koennen.
alle anderen (und das ist die mehrheit, denke ich) muessen etwas neu
lernen, was sie eigentlich schon gelernt haben. denn kampfstaebe sind
nicht nur meinem verstaendnis nach eine art von keulen.
ich zitiere das buch der waffen:
 Kyll - Als die Kyll bezeichnet man alle Arten von Einhand- oder
        Zweihandschlagwaffen, die keine Klinge besitzen, in erster
        Linie also Haemmer, Keulen, Knueppel etc..

anderer vorschlag: lasst die felinen speer auf max lernen koennen und
kyll auf ueber durchschnittlich. dann haben sie einen max-skill,
unterscheiden sich aber deutlich von den elfen.

gnOme

-----------------------------------------------------------------------------



Re^6: Kleine Aenderung (Grimmborn,  6. Sep 2004, 12:11:27):
~#! rn=Gnome rt=1094465292 rg=gilden.kaempfer
~#! tid=1094324319
In der Praxis ist der Unterschied zwischen Kampfstab und Kriegshammer sehr
erheblich. 

GdA

-----------------------------------------------------------------------------



Re^6: Kleine Aenderung (Morgoth,  6. Sep 2004, 12:11:43):
~#! rn=Gnome rt=1094465292 rg=gilden.kaempfer
~#! tid=1094324319
Wieso "muessen" neu lernen? Ok, weil alle so skillgeil sind und alles maxen
muessen was geht. Aber gibt es sonst noch einen Grund ausser die kranken Hirne
der "Ich will alles auf max"-Spieler?

M*

-----------------------------------------------------------------------------



Re^7: Kleine Aenderung (Croft,  6. Sep 2004, 12:13:13):
~#! rn=Morgoth rt=1094465503 rg=gilden.kaempfer
~#! tid=1094324319
Mitunter gibts auch soetwas wie Anforderungen fuer die naechste Stufe.
Falls man noch nicht Schreibtischgeneral geworden ist, entwickelt sich
das durchaus zum Muss, falls man die naechste Stufe erreichen will.

Croft

-----------------------------------------------------------------------------



Re^8: Kleine Aenderung (Karima,  6. Sep 2004, 12:14:47):
~#! rn=Croft rt=1094465593 rg=gilden.kaempfer
~#! tid=1094324319
Die Tanjian haben auch einen Stabskill und dort wurde er nicht zur Anforderung
fuer die folgenden Gildenlevel gemacht.
Ist das nicht einer Ueberlegung wert?
Oder zumindest eine Uebergangsregelung, dass ab einenm gewissen Zeitpunkt fuer
neue Charaktere dann erst der Kampfstab anforderung ist?!

Karima

-----------------------------------------------------------------------------



Re^9: Kleine Aenderung (Croft,  6. Sep 2004, 12:16:45):
~#! rn=Karima rt=1094465687 rg=gilden.kaempfer
~#! tid=1094324319
Wundert mich eigentlich.  Zu den Tanjian passt die Technik eigentlich 
am besten (von meiner Vorstellung von Tanjian her).  

Croft

-----------------------------------------------------------------------------



Re^9: Kleine Aenderung (Morgoth,  6. Sep 2004, 12:16:59):
~#! rn=Karima rt=1094465687 rg=gilden.kaempfer
~#! tid=1094324319
Hey, da muesste man ja nachdenken. Schau doch mal in welcher Rubrik Du bist...
:)
Wer hatte damals noch so schoen die Golems aus Diablo mit den Kaempfern
verglichen? "Zur naechsten Tuer rennen, aufmachen, reinlaufen, alles was zuckt
erschlagen"?

M*

-----------------------------------------------------------------------------



Re^7: Kleine Aenderung (Gnome,  6. Sep 2004, 12:20:21):
~#! rn=Morgoth rt=1094465503 rg=gilden.kaempfer
~#! tid=1094324319
1. es gibt immer 2 seiten: die, die das angebot schaffen und die, die das
   angebot wahrnehmen. wenn also die, die das angebot schaffen auf die
   anderen schimpfen, dass sie doch so "skillgeil" sind...
   steine. glashaus. naja... du kennst das ja. :)

2. und das lernen "muessen" waere nicht so dramatisch. ich stelle mir nur
   gerade vor, in welchem masze mein muehsam geuebtes kyll/bielkyll sinkt,
   nur weil ich was anderes ueben muss, was ich im prinzip schon kann.

deshalb: dagegen.

gnOme

-----------------------------------------------------------------------------



Re^8: Kleine Aenderung (Karima,  6. Sep 2004, 12:21:25):
~#! rn=Gnome rt=1094466021 rg=gilden.kaempfer
~#! tid=1094324319
Achja. Und die Kampfstaebe musst Du ja unbedingt ueben, weil Du sonst
die megatolle Waffe XYZ nicht mehr mit MaxSkill schwingen kannst und somit
dein Schwanz ein Stueck kuerzer wird.

Karima

-----------------------------------------------------------------------------



Re^8: Kleine Aenderung (Morgoth,  6. Sep 2004, 12:22:09):
~#! rn=Gnome rt=1094466021 rg=gilden.kaempfer
~#! tid=1094324319
Wenn Du es schaffst, den Satz aus 1. zehnmal hintereinander aufzusagen,
bekommst Du den goldenen Schwachmaten von mir. 


-----------------------------------------------------------------------------



Re^9: Kleine Aenderung (Gnome,  6. Sep 2004, 12:25:21):
~#! rn=Karima rt=1094466085 rg=gilden.kaempfer
~#! tid=1094324319
du hast es erfasst.
der eisstab ist beispielsweise jetzt ein kampfstab und auf den wuerde
ich nur ungern verzichten.
dass mein schwanz vom nichtueben allerdings kuerzer werden wuerde halte
ich fuer ein geruecht.
oder sprichst du da aus erfahrung und kannst uns mehr davon erzaehlen?

gnOme

-----------------------------------------------------------------------------



Re^10: Kleine Aenderung (Gloinson,  6. Sep 2004, 12:39:27):
~#! rn=Gnome rt=1094466321 rg=gilden.kaempfer
~#! tid=1094324319
Sollen wir dir Fotos von dir schicken? :)


-----------------------------------------------------------------------------



Re^8: Kleine Aenderung (Wischmop,  6. Sep 2004, 15:38:57):
~#! rn=Gnome rt=1094466021 rg=gilden.kaempfer
~#! tid=1094324319
>1. es gibt immer 2 seiten: die, die das angebot schaffen und die, die das
>   angebot wahrnehmen. wenn also die, die das angebot schaffen auf die
>   anderen schimpfen, dass sie doch so "skillgeil" sind...

Gewiss. Die Einrede "skillgeil" faellt zweifelsfrei in  die Klasse der
duemmsten anzunehmenden Kommentare, zusammen mit levelgeil, forschgeil,
metzelgeil usw. In diesem speziellen Falle ist sie noch zusaetzlich
deplaziert, da die Waffenskills der Trves nicht unabhaengig voneinander
sind.

>2. und das lernen "muessen" waere nicht so dramatisch. ich stelle mir nur
>   gerade vor, in welchem masze mein muehsam geuebtes kyll/bielkyll sinkt,
>   nur weil ich was anderes ueben muss, was ich im prinzip schon kann.

Das waere doch eine Frage der Implementierung. Ich weiss nicht, ob
Trves fuer nicht im Kaempfer-Spellbook vorhandene Waffenklassen
bisher Skills ansammeln konnten. Falls nein, wuerden Eure Waffenskills
vielleicht etwas sinken, es sei denn, es gibt ne "Altfallregelung".
Andererseits ist es bei vielen Aenderungen so, dass das Erreichte
wenigstens relativ abgewertet wird.

>deshalb: dagegen.

Ist das nicht etwas vorschnell? Na egal.

Um ein paar weitere Probleme zu skizzieren:

Soll die neue Waffenklasse einen eigenen Krakh Getres-Level erhalten,
mit Kragensymbol und allem?
Wie soll der Kampfstab heissen? Soll es einen klassischen Namen geben?
Soll die Waffenkammer der Eroberer dementsprechend erweitert werden,
die Geschichte bis zu Koru Tschakar umgeschrieben werden?
Oder soll die Waffenklasse als "moderne Erweiterung" aufgenommen
werden, evtl ohne eigenen Level?

Insgesamt sehe ich da auch einiges an Aufwand. Ich faende ihn aber
schon lohnend. Die Alternative, den Maxskill fuer Felinen anders
zu implementieren, geht natuerlich auch. Dann bliebe nur die Frage,
ob man die Staebe unter Kyll einsortieren soll (mir sympathischer)
oder ignorieren (wodurch diese Waffen nicht mehr geuebt wuerden
bzw. keine Auswirkungen der Kaempferfertigkeiten bekaemenn).

Wischmop

-----------------------------------------------------------------------------



Re^9: Kleine Aenderung (Anatol,  6. Sep 2004, 20:47:17):
~#! rn=Wischmop rt=1094477937 rg=gilden.kaempfer
~#! tid=1094324319
Gnomes Conclusio "Ignorieren ist besser." haette ich eher von der
absoluten Unberechenbarkeit der Fuehrungsspitze abgeleitet. Wer
weiss, ob morgen nicht noch die naechste Waffengattung - z.B. 
WT_THROWING_SPEAR (weil ja nicht jeder Speer zum Wurf geeignet
ist, nicht wahr und nicht jeder Wurfspeer auch nur einen Schlag
aushaelt - beschlossen und verkuendet wird.

Anatol - wartet noch immer auf ARGUMENTE ;)


-----------------------------------------------------------------------------



Re^10: Kleine Aenderung (Zook,  6. Sep 2004, 20:48:48):
~#! rn=Anatol rt=1094496437 rg=gilden.kaempfer
~#! tid=1094324319
Ah, die Rubriken sind wieder etwas leerer...

Zook.

-----------------------------------------------------------------------------



Re^11: Kleine Aenderung (Anatol,  6. Sep 2004, 20:49:32):
~#! rn=Zook rt=1094496528 rg=gilden.kaempfer
~#! tid=1094324319
Du lenkst ab. 
Nicht dass das ungewoehnlich waere.
Aber hervorgehoben werden sollte es. 
Zumindest einmal.
Diesesmal.
Gell.
A*


-----------------------------------------------------------------------------



Re^12: Kleine Aenderung (Zook,  6. Sep 2004, 20:50:24):
~#! rn=Anatol rt=1094496572 rg=gilden.kaempfer
~#! tid=1094324319
Warum sollte es hervorgehoben werden?

Zook.

-----------------------------------------------------------------------------



Re^13: Kleine Aenderung (Anatol,  6. Sep 2004, 20:51:14):
~#! rn=Zook rt=1094496624 rg=gilden.kaempfer
~#! tid=1094324319
Nur ausnahmsweise.

By the way: Gibt es das MPA-Archiv ueber Webfrontend wieder? ;)


-----------------------------------------------------------------------------



Re^14: Kleine Aenderung (Zook,  6. Sep 2004, 20:52:32):
~#! rn=Anatol rt=1094496674 rg=gilden.kaempfer
~#! tid=1094324319
Ich wuerde sagen, dass diese Frage ein Bumerang ist.

Zook.

-----------------------------------------------------------------------------



Re^14: Kleine Aenderung (Catweazle,  8. Sep 2004, 22:06:09):
~#! rn=Anatol rt=1094496674 rg=gilden.kaempfer
~#! tid=1094324319
Ich mach ja schon ... :(

YTC

-----------------------------------------------------------------------------



Re^15: Kleine Aenderung (Catweazle,  8. Sep 2004, 22:20:43):
~#! rn=Catweazle rt=1094673969 rg=gilden.kaempfer
~#! tid=1094324319
Zu einfach...

YTC

-----------------------------------------------------------------------------



Re: Paralyse... (Maarg,  9. Sep 2004, 21:43:32):
~#! rn=Humni rt=1094147776 rg=entwicklung
~#! tid=1094147776
Die betroffenen Faehigkeiten sollten geaendert sein.

Falls Euch was komisch vorkommt, bitte Bescheid sagen. :o)

Maarg

-----------------------------------------------------------------------------



Aenderungen in der Ausbildung (Maarg, 28. Jan 2005, 13:52:54):
Es gibt neue Regelungen, wer wen ausbilden darf.

Ab sofort duerfen Takal'Mor auch Krakh'Getres ausbilden, und Prolkh'Weths
haben zusaetzlich die Moeglichkeit, auch bei den erfahrensten Kaempfern unter
den Zalkh'Batar zu ster^D^D^D^D^D^D^D in die Lehre zu gehen.

Selbstverstaendlich gibt der ehrenwerte Grossmeister der Waffe Eisenhelm nach
wie vor Auskunft darueber, wer als Ausbilder bzw. Azubi geeignet ist.

Frohes Metzeln,

   Maarg

-----------------------------------------------------------------------------



Re: Aenderungen in der Ausbildung (Maharet, 28. Jan 2005, 15:48:48):
~#! rn=Maarg rt=1106916774 rg=gilden.kaempfer
~#! tid=1106916774
Grossartig, danke.

-----------------------------------------------------------------------------



Re: Re: Aenderungen in der Ausbildung (Malar, 28. Jan 2005, 16:57:59):
~#! rn=Maharet rt=1106923728 rg=gilden.kaempfer
~#! tid=1106916774
Das neue Jahr geht wirklich gut los. Vielen Dank, Maarg!

Malar.

-----------------------------------------------------------------------------



Re^3: Aenderungen in der Ausbildung (Orktoeter, 28. Jan 2005, 21:00:43):
~#! rn=Malar rt=1106927879 rg=gilden.kaempfer
~#! tid=1106916774
War das wirklicht noetig? Es hatte doch seinen Grund, warum das Ausbilden
begrenzt war.

OrkT, Abeteurer, aber nicht 100% begeistert.

-----------------------------------------------------------------------------



Re^4: Aenderungen in der Ausbildung (Gloinson, 28. Jan 2005, 21:02:25):
~#! rn=Orktoeter rt=1106942443 rg=gilden.kaempfer
~#! tid=1106916774
Vorschlag: Loesch Tower, fang nochmal an, beantworte deine Frage.

Doch, der ist konstruktiv.


-----------------------------------------------------------------------------



Re^5: Aenderungen in der Ausbildung (Orktoeter, 28. Jan 2005, 21:08:59):
~#! rn=Gloinson rt=1106942545 rg=gilden.kaempfer
~#! tid=1106916774
Ach, dass die Generaele jetzt die Newbies ausbilden koennen und dafuer die
mittleren Raenge gar nicht mehr aufsteigen koennen ist die Loesung?
Oder sollen einfach nur ein paar kleine Spieler gezuechtet werden, die gerade
eben beitreten koennen und dann beigetreten und ausgebildet werden?

Seh ich offen gestanden nicht als Zukunft der Kaempfergilde.

OrkT.

-----------------------------------------------------------------------------



Re^6: Aenderungen in der Ausbildung (Pitfall, 28. Jan 2005, 21:09:33):
~#! rn=Orktoeter rt=1106942939 rg=gilden.kaempfer
~#! tid=1106916774
Halt einfach die Backen still, wenn du keine Ahnung hast 
Orktoeter. Und lies Maargs Artikel nochmal.

-----------------------------------------------------------------------------



Re^7: Aenderungen in der Ausbildung (Wurzel, 28. Jan 2005, 21:16:38):
~#! rn=Pitfall rt=1106942973 rg=gilden.kaempfer
~#! tid=1106916774
>Seh ich offen gestanden nicht als Zukunft der Kaempfergilde.
die zukunft seh ich als rm trves.c oder so aehnlich. das waere doch mal eine
echte alternative :)

-----------------------------------------------------------------------------



Re^8: Aenderungen in der Ausbildung (Orktoeter, 28. Jan 2005, 21:19:18):
~#! rn=Wurzel rt=1106943398 rg=gilden.kaempfer
~#! tid=1106916774
Warum? Weil das mal eine Gilde ist, die in sich sich stimig ist? Da hat ein
echter Rollenspieler seine Erfahrung einfliessen lassen... Die Trves sind
meiner Meinung nach die schoenste und stimmigste Gilde von allen.

OrkT.

-----------------------------------------------------------------------------



Re^9: Aenderungen in der Ausbildung (Gloinson, 28. Jan 2005, 21:23:38):
~#! rn=Orktoeter rt=1106943558 rg=gilden.kaempfer
~#! tid=1106916774
Und besonders unstimmig daran ist in letzter Zeit der Mangel an Ausbildern und
Auszubildenden in bestimmten Konstellationen. Und das schon seit ein bis zwei
Jahren.


-----------------------------------------------------------------------------



Re^9: Aenderungen in der Ausbildung (Wurzel, 28. Jan 2005, 21:23:42):
~#! rn=Orktoeter rt=1106943558 rg=gilden.kaempfer
~#! tid=1106916774
wow, ein "echter rollenspieler"... toll.
allerdings muss ich anmerken, dass es im mg davon noch mehr gibt als nur den
einen. und die sehen das nicht alle so.

-----------------------------------------------------------------------------



Re^9: Aenderungen in der Ausbildung (Humni, 30. Jan 2005, 11:57:54):
~#! rn=Orktoeter rt=1106943558 rg=gilden.kaempfer
~#! tid=1106916774
Das ist richtig, die Trves sind stimmig, haben ein tolles Konzept und gefallen
mir - gerade wegen alternativen Moeglichkeiten im Aufstieg.

Leider ist aber in letzter Zeit die Konstellation aufgetreten, dass kleine
Spieler kaum noch ausgebildet werden konnten, weil das Mittelfeld einfach
fehlte (die sind naemlich irgendwann alle Generaele geworden).

Die Loesung, extra zu diesem Zweck Zweities auf kleinem Level in der Gilde zu
halten, halte ich nicht (vor allem auch nicht dauerhaft) fuer
spielspassfoerdernd, darum habe ich das so genehmigt. Mag nicht ganz stimmig
sein, dass der Fast-General mit dem Messerstecher herumlaeuft, aber die
Alternative waeren Spieler gewesen, die nicht mehr (oder nur mit Zweitiehilfe)
ausgebildet werden koennten. Da habe ich dann abgewaegt und habe der
Waagschale mit dem Fortkommen der kleinen (und auch der groesseren, denn auch
die Offiziere fanden nur noch ganz kleine Spieler vor) Spieler das groessere
Gewicht zugesprochen.

Humni

-----------------------------------------------------------------------------



Re^10: Aenderungen in der Ausbildung (Gnome, 31. Jan 2005, 10:31:13):
~#! rn=Humni rt=1107082674 rg=gilden.kaempfer
~#! tid=1106916774
man haette auch einfach die gesamten bedingungen aller gildenlevel - und
insbesondere die der generaele - etwas aufpolieren koennen. seit der
erschaffung der gilde wurden sie nicht geaendert; was damals fast
unerreichbar klang ("boah, 60M EP fuer 23? wie soll ich DAS denn
schaffen?"), zaubert heutzutage nur noch ein muedes laecheln auf die
gesichter ("wenn ich mir muehe gebe, schaffe ich die restlichen 12M am
kommenden WE"). eine generalueberholung aller bedingungen hielte ich
somit fuer mehr als ueberfaellig, dann haette man sich vielleicht auch
das neue ausbildungs-konzept sparen koennen (ich will damit nicht sagen,
dass ich es unbedingt schlecht finde, aber man haette auch an der
anderen schraube drehen koennen).

ja, ich weiss. man koennte auch allen monstern weniger EP geben. aber
a) halte ich den zug fuer lange abgefahren und b) geht es ja nicht nur
bei den bedingungen um die EP.

gnOme

-----------------------------------------------------------------------------



Re^11: Aenderungen in der Ausbildung (Darklor, 31. Jan 2005, 14:00:55):
~#! rn=Gnome rt=1107163873 rg=gilden.kaempfer
~#! tid=1106916774
Wie funktionierte es denn fuer den ersten - der auch keinen Ausbilder hatte?

Darklor

-----------------------------------------------------------------------------



Re^12: Aenderungen in der Ausbildung (Wurzel, 31. Jan 2005, 14:01:59):
~#! rn=Darklor rt=1107176455 rg=gilden.kaempfer
~#! tid=1106916774
ketzerische fragen kannst du stellen.... 
er war natuerlich magier, da ist das alles etwas einfacher :)

-----------------------------------------------------------------------------



Re^13: Aenderungen in der Ausbildung (Darklor, 31. Jan 2005, 14:04:59):
~#! rn=Wurzel rt=1107176519 rg=gilden.kaempfer
~#! tid=1106916774
Ein Magier als Ausbilder - hoert sich nach einem interessanten Konzept an...
;)

Darklor

-----------------------------------------------------------------------------



Re^14: Aenderungen in der Ausbildung (Maharet, 31. Jan 2005, 15:30:48):
~#! rn=Darklor rt=1107176699 rg=gilden.kaempfer
~#! tid=1106916774
Die Ausbildung wurde erst spaeter eingefuehrt, nicht mit Einfuehrung der
Gilde. Es wird daher schon verschiedenen Level gegeben haben, um das
abzudecken.
Zeitzeugen gibt es bestimmt keine mehr. Oder wenn, leiden sie eh an
Altersdemenz.

-----------------------------------------------------------------------------



Re^11: Aenderungen in der Ausbildung (Anatol, 31. Jan 2005, 20:44:31):
~#! rn=Gnome rt=1107163873 rg=gilden.kaempfer
~#! tid=1106916774
Voelliger Bloedsinn, die Bedingungen sind im Laufe der Zeit doch
zunehmend schwerer geworden, weil die miese Objektbalance mit der
sinnfreien Abwerterei doch einem noch den letzten Spass am Spiel
verderben kann.

Jawohl! 

A* ;)


-----------------------------------------------------------------------------



Re^12: Aenderungen in der Ausbildung (Ark, 31. Jan 2005, 20:50:31):
~#! rn=Anatol rt=1107200671 rg=gilden.kaempfer
~#! tid=1106916774
Apropos Bloedsinn, hier eine These: Jede Aenderung, egal welcher Art, zieht
sofortige Generalueberlegungen ueber Objekt-,Gilden-,MG-Balance nach sich,
gefolgt vom allgemeinen Staenkern bis hin zur Ueberlegung, das Leben
schlechthin abzuschaffen.
Gueltigkeit der These: vermutlich in jeder MPA Rubrik.
Konsequenz: shutdown ... so mal ein paar Monate lang :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^13: Aenderungen in der Ausbildung (Darklor, 31. Jan 2005, 21:14:37):
~#! rn=Ark rt=1107201031 rg=gilden.kaempfer
~#! tid=1106916774
Ich glaub danach waer es hier ganz ruhig - sollte es je wieder hochgefahren
werden...

Darklor (malt schwarz)

-----------------------------------------------------------------------------



Re^14: Aenderungen in der Ausbildung (Wurzel, 31. Jan 2005, 22:36:13):
~#! rn=Darklor rt=1107202477 rg=gilden.kaempfer
~#! tid=1106916774
ja, das koennte funktionieren. dadurch haetten wir endlich mehr ruhe hier
drin. gibt ja einige beispiele, wie gut ein mehrmonatiger shutdown wirkt, z.b.
nightfall. einige der aelteren hier kennen es noch, heute sind in der spitze
mal 5 oder 6 leute da. da gibt es keine langen abwertungsdiskussionen, da
braucht niemand auf balance zu schimpfen, einfach friedlich.

-----------------------------------------------------------------------------



Re^15: Aenderungen in der Ausbildung (Gloinson, 31. Jan 2005, 22:38:41):
~#! rn=Wurzel rt=1107207373 rg=gilden.kaempfer
~#! tid=1106916774
Und der Verein koennte seine MAxime auf "wir unterstuetzen ... Silberland"
aendern.


-----------------------------------------------------------------------------



Re^15: Aenderungen in der Ausbildung (Boing,  1. Feb 2005, 09:58:18):
~#! rn=Maharet rt=1107181848 rg=gilden.kaempfer
~#! tid=1106916774
Die ersten Kaempfer musste weder ausbilden noch ausgebildet werden,
mit steigendem Level wurden dann die (von Anfang an vorgesehenen)
Ausbildungsanforderungen schrittweise freigeschaltet.
  Boing

-----------------------------------------------------------------------------



Re^16: Aenderungen in der Ausbildung (Bambulko,  1. Feb 2005, 09:59:28):
~#! rn=Boing rt=1107248298 rg=gilden.kaempfer
~#! tid=1106916774
Es waere sicher auch schwer gewesen, die ersten Kaempfer auszubilden, wenn
keine Ausbilder da sind.

Bambulko

-----------------------------------------------------------------------------



Re^17: Aenderungen in der Ausbildung (Lug,  4. Apr 2005, 00:27:50):
~#! rn=Bambulko rt=1107248368 rg=gilden.kaempfer
~#! tid=1106916774
Einfache Loesung: Orktoeter abschaffen...

FidKG!
Lugt

-----------------------------------------------------------------------------



Re^15: Aenderungen in der Ausbildung (Zardoz,  4. Apr 2005, 13:58:31):
~#! rn=Maharet rt=1107181848 rg=gilden.kaempfer
~#! tid=1106916774
Ich kann mich noch erinnern es direkt programmiert zu haben... aber wohl nicht
aktiviert? Ist wirklich Altersdemenz...

-----------------------------------------------------------------------------



trves-bericht (Nicolai, 15. Aug 2005, 23:59:06):
Seit eben haengt mein Bericht am Brett des Struvs.
Nein es ist weder erster April noch ist mein Passwort geknackt.

Mit der Bitte um Objektive Bewertung, bei Kritik und Anregungen
fueg ich natuerlich jederzeit was hinzu oder streiche was raus.

-----------------------------------------------------------------------------



Re^20: Level 17 und 18(?) (Gloinson, 17. Aug 2005, 19:09:07):
~#! rn=Nicolai rt=1124294026 rg=gilden.karate
~#! tid=1123850536
> kaempferausbildung ist schneeballsystem

Und das auch nur, wenn ein Azubi sich nur einmal bis X ausbilden laesst und
danach einfach aufsteigt ohne "ueberfluessige" Kills zu machen. Ganz zu
schweigen davon, dass die 5 Azubis prinzipiell die selbe Person sein koennen
(und teilweise sind, wenn man sich gut versteht).


-----------------------------------------------------------------------------



Re^21: Level 17 und 18(?) (Nicolai, 17. Aug 2005, 20:31:58):
~#! rn=Gloinson rt=1124298547 rg=gilden.kaempfer
~#! tid=1123850536
....womit du mir recht gibst in meiner aussage das das system
hinkt (spaetestens jetzt erkennbar wenn der nachwuchs versiegt).
nun muessen die spieler (in diesem fall die azubis) ihr spiel-
verhalten aendern um ein schiefes system wieder geradezuruecken :)

kommt lieber zu den zaubi :>

-----------------------------------------------------------------------------



Re^22: Level 17 und 18(?) (Gloinson, 17. Aug 2005, 22:17:35):
~#! rn=Nicolai rt=1124303518 rg=gilden.kaempfer
~#! tid=1123850536
Nein, ich gebe dir eben nicht recht, denn mein KAempferverhalten war schon
immer eher kooperativ, d.h. ich habe damals meine Ausbilder teils ueber Level
begleitet. Brachte mir schnelleres Lernen (angeblich, ich guck das jetzt nicht
nach) und ihnen die Kills.


-----------------------------------------------------------------------------



Licht (Lug, 13. Jan 2006, 21:03:18):
Guggs,

es waere mal direkt mehr als praktisch, wenn wir as Trves endlich mal wieder
die Moeglichkeit haeten MP in Licht umzuwandeln. Meinetwegen auch durch
Yrdsteine gegen den Kopf knallen...

Licht an!
Lug

-----------------------------------------------------------------------------



Re: Licht (Muadib, 13. Jan 2006, 21:30:21):
~#! rn=Lug rt=1137182598 rg=gilden.kaempfer
~#! tid=1137182598
nimm dir doch nen pfirsich mit, oder fackeln, oder hau die hydra, oder was
weiss ich
ah ich weiss: ab in die klerikergilde

-----------------------------------------------------------------------------



Re: Re: Licht (Humni, 13. Jan 2006, 22:10:03):
~#! rn=Muadib rt=1137184221 rg=gilden.kaempfer
~#! tid=1137182598
Ich finds eigentlich ganz ok, dass bestimmte Gilden bestimmte Dinge halt nicht
"mal eben so" koennen. Und seien wir ehrlich: Fackel oder fuer jemanden wie
Dich auch nen Pfirsich besorgt man sich doch wirklich "mal eben so". Ich finde
es eher schoen, dass die Kaempfer da eingeschraenkt sind. Wuerde imho auch
nicht zu denen passen.

Humni
PS: "Du" ist in diesem Fall Lug, nicht Muadib, Artikel in
megaschmarrn-Tradition auf das letzte Re.

-----------------------------------------------------------------------------



Re^3: Licht (Kellybundy, 13. Jan 2006, 22:11:31):
~#! rn=Humni rt=1137186603 rg=gilden.kaempfer
~#! tid=1137182598
Genauso wie chaoten keinen heiligen, klerikerweicheier keinen boesen schaden
machen koennen. wo ist das problem?
Bloe^Hndchen, empfiehlt F*******g im Lupital

-----------------------------------------------------------------------------



artikel 4 (Nicolai, 13. Jan 2006, 22:19:11):
einfach immer "kwer bei $spielername" und dann jeden dunkelelf
im raum gnadenlos niedermetzeln. dann is auch meistens wieder hell.

-----------------------------------------------------------------------------



Re: artikel 4 (Lug, 14. Jan 2006, 02:34:21):
~#! rn=Nicolai rt=1137187151 rg=gilden.kaempfer
~#! tid=1137187151
Es gibt Situationen, in denen sich auch der mit 100 Lichtqille bewehrete
Kaempfer ploetzlich im Dunkeln mitten in einem Lab wiederfinden kann. Licht
ist sowas von essentiell und ein Anfaenger-Abenteuerspruch- Das Argument
"passt nicht" liesse sich mit beliebig vielen Pseudorealitaetselementen
kontern.

Just my 2 Cents...
L.

-----------------------------------------------------------------------------



Re: Re: artikel 4 (Anacrion, 14. Jan 2006, 02:38:39):
~#! rn=Lug rt=1137202461 rg=gilden.kaempfer
~#! tid=1137187151
Jede Gilde hat ihre Einschraenkungen. Und wenn die Kaempfer schon jeden
Schadenstype machen koennen und zwar viel davon und das noch nicht mal von
P_NO_MAGIC betroffen wird, so koennen sie immerhin nicht zaubern. ICH finde
das gut.

Anac*

-----------------------------------------------------------------------------



Re^3: artikel 4 (Lug, 14. Jan 2006, 02:41:02):
~#! rn=Anacrion rt=1137202719 rg=gilden.kaempfer
~#! tid=1137187151
Sprach der Zauberer... die mehr physischen Schaden anrichten als Trves ;)

Amuesiert
Lug

-----------------------------------------------------------------------------



Re^4: artikel 4 (Gloinson, 14. Jan 2006, 02:47:22):
~#! rn=Lug rt=1137202862 rg=gilden.kaempfer
~#! tid=1137187151
Karateka geht es auch nicht besser. (Der "reibe haende"-Spruch wird ja immer
abgelehnt.) Du musst halt vorsorgen ... oder laeufst du auch ohne Ruestung
herum?


-----------------------------------------------------------------------------



Re^5: artikel 4 (Lug, 14. Jan 2006, 02:52:46):
~#! rn=Gloinson rt=1137203242 rg=gilden.kaempfer
~#! tid=1137187151
LIes es nochmal durch, dann antworte...

-----------------------------------------------------------------------------



Re^6: artikel 4 (Gloinson, 14. Jan 2006, 02:53:54):
~#! rn=Lug rt=1137203566 rg=gilden.kaempfer
~#! tid=1137187151
Koenntest du diese hypothetische Situation mal praezisieren, damit ich darauf
eingehen kann?


-----------------------------------------------------------------------------



Re^4: Licht (Darklor, 14. Jan 2006, 14:07:09):
~#! rn=Kellybundy rt=1137186691 rg=gilden.kaempfer
~#! tid=1137182598
Mach die Hilbert-Quest Lug...

Darklor

-----------------------------------------------------------------------------



Re: Licht (Krstfrs, 14. Jan 2006, 14:11:53):
~#! rn=Lug rt=1137182598 rg=gilden.kaempfer
~#! tid=1137182598
Ich hatte vor wenigen Tagen das Problem, dass ich in einer Quest festhing und
durch durch den Feenring wieder rauskam wg. fehlendem Licht.
Hatte keine Fackel mehr bei und hing im letzten Raum von 4 Elemente. Um die
Quest zu loesen muss man etwas untersuchen. Geht nicht ohne Licht.
Krstfrs, dachte ich mir, Krstfrs, gehste einfach wieder zum Feuer und stirbst
noch ne Runde. Ich ging zum Feuer... Und wurde vom Drachen geblockt, so dass
es keine Sterbemoeglichkeit mehr gab.
Faule Fische und Feuerwerksraketen halfen nix, drehe ring...

Auch Trves brauchen eine Erleuchtung!

Krstfrs

-----------------------------------------------------------------------------



Re: Re: Licht (Jadawin, 14. Jan 2006, 14:13:42):
~#! rn=Krstfrs rt=1137244313 rg=gilden.kaempfer
~#! tid=1137182598
Ende geht da nicht?
Jad*

-----------------------------------------------------------------------------



Re^3: Licht (Krstfrs, 14. Jan 2006, 14:16:32):
~#! rn=Jadawin rt=1137244422 rg=gilden.kaempfer
~#! tid=1137182598
Wer macht das denn freiwillig?

Krstfrs

-----------------------------------------------------------------------------



Re: Re: Licht (Eljo, 14. Jan 2006, 14:16:44):
~#! rn=Krstfrs rt=1137244313 rg=gilden.kaempfer
~#! tid=1137182598
Sowas heisst dann einfach 'Pech gehabt'!
Ein Kaempfer geht auch nicht Ausruestung zu einem groesseren NPC, genauso
wenig geht man ohne Fackel/Schaufel/Seil questen. Wenn man etwas vergisst, ist
man selbst schuld und muss schauen, wie man dort wieder rauskommt.

Ja, ich musste auch schon oft genug ende machen, da ich etwas dort vergessen
hatte und keinerlei andere Fluchtmoeglichkeit dort hatte (zB in 4 Elemente).
Nur ich fordere dann nicht einen Lichtspruch oder sonstiges fuer die jeweilige
Gilde, sondern fass mir selber an den Kopf, wie man sowas auch vergessen kann
...

Eljo im Namen saemtlicher Xties.

-----------------------------------------------------------------------------



verstehe die aufregung auch nicht, gibt soviele nette ausruestungsteile die leuchten und ne fackel gibts auch an jeder ecke. dafuer gibts ja den trageskill das ma mehr mit rumschleppen kann... (Dentier, 14. Jan 2006, 14:21:40):
~#! rn=Eljo rt=1137244604 rg=gilden.kaempfer
~#! tid=1137182598
mist sollte mir mal die hilfe mpa anschauen :(

-----------------------------------------------------------------------------



Re: verstehe die aufregung auch nicht, gibt soviele nette ausruestungsteile die leuchten und ne fackel gibts auch an jeder ecke. dafuer gibts ja den trageskill das ma mehr mit rumschleppen kann... (Grimmborn, 14. Jan 2006, 14:23:20):
~#! rn=Dentier rt=1137244900 rg=gilden.kaempfer
~#! tid=1137182598
Ja, solltest Du. Bei dem Subjekt...

GdA

-----------------------------------------------------------------------------



Re: Re: verstehe die aufregung auch nicht, gibt soviele nette ausruestungsteile die leuchten und ne fackel gibts auch an jeder ecke. dafuer gibts ja den trageskill das ma mehr mit rumschleppen kann... (Eljo, 14. Jan 2006, 14:23:56):
~#! rn=Grimmborn rt=1137245000 rg=gilden.kaempfer
~#! tid=1137182598
Nur noch darauf antworten, dieses Subjekt sollte erhalten bleiben. ;-)

-----------------------------------------------------------------------------



Re: Licht (Ark, 14. Jan 2006, 14:30:26):
~#! rn=Lug rt=1137182598 rg=gilden.kaempfer
~#! tid=1137182598
Brauchst nichtmal "zuecke feueraxt/-schwert/-dolch/-keule" fuer!


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^4: Licht (Maharet, 14. Jan 2006, 14:55:58):
~#! rn=Krstfrs rt=1137244592 rg=gilden.kaempfer
~#! tid=1137182598
Ende ging, musste ich damals machen, und dann noch mal Karpfen angeln ... ich
hab auch nur geflucht.  Aber das ist das Problem der Quest:  dann muessen da
halt Leuchtmittel irgendwo zu finden sein, oder man muss wenigstens rauskommen
koennen.

Alle nen Lichtzauber bzw Nachtsicht?  Dann kann man hier ja hell und dunkel
gleich abschaffen.  

Maha

-----------------------------------------------------------------------------



Re^5: Licht (Ark, 14. Jan 2006, 15:02:22):
~#! rn=Maharet rt=1137246958 rg=gilden.kaempfer
~#! tid=1137182598
Am besten die Spezialloesung fuer Turnbeutelvergesser:
Einen Teppichhaendler, der die Superspezialfackel fuer sagenhafte 26462 Gold
im Angebot hat. Kein Gold? Kein Problem, ich nehme solange Ihren Vollstrecker
in Zahlung, mein Cousin wird ihn mit Verlust an den Eigentuemer
zurueckveraeussern, Sie sehen, ich lasse nichts unversucht, Sie in Genuss
dieser leuchtstarken, sensationell leichten, dekorativ kleinen, pfiffig
tragbaren, waermenden Luxmaschine zu bringen.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^6: Licht (Miril, 14. Jan 2006, 15:03:20):
~#! rn=Ark rt=1137247342 rg=gilden.kaempfer
~#! tid=1137182598
Wozu brauch ich da jetzt noch die Fackel, wenn ich den Vollstrecker hab?

Miril

-----------------------------------------------------------------------------



Re^7: Licht (Maharet, 14. Jan 2006, 15:04:56):
~#! rn=Miril rt=1137247400 rg=gilden.kaempfer
~#! tid=1137182598
Weil Kaempfer. Die sind nicht so helle und brauchen halt extra-Licht ;)

-----------------------------------------------------------------------------



Re^7: Licht (Ark, 14. Jan 2006, 15:05:00):
~#! rn=Miril rt=1137247400 rg=gilden.kaempfer
~#! tid=1137182598
Gute Frau, mit meiner sensationellen Fackel, gefertigt in Deutschland,
BRAUCHEN Sie keinen Vollstrecker mehr. Sie vollstreckt die Dunkelheit im Nu
und gibt der Angst im Dunklen den Todesstoss.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Re: artikel 4 (Zook, 14. Jan 2006, 15:08:38):
~#! rn=Lug rt=1137202461 rg=gilden.kaempfer
~#! tid=1137187151
Seit ein nicht genannter Magier das Lichtdingens geaender hat, machen 
100 Pfirsiche nicht einfach 100mal heller. 

Zook.

-----------------------------------------------------------------------------



Re^8: Licht (Orktoeter, 14. Jan 2006, 15:08:50):
~#! rn=Maharet rt=1137247496 rg=gilden.kaempfer
~#! tid=1137182598
Im Gegensatz zu anderen Gilden muessen Kaempfer sehr wohl helle sein.
Zumindest wer General werden will, muss einen Bericht schreiben...
Aber dieses Stereotyp ist wohl einfach zu sehr eingefahren...

OrkT

-----------------------------------------------------------------------------



Re^9: Licht (Muadib, 14. Jan 2006, 15:10:20):
~#! rn=Orktoeter rt=1137247730 rg=gilden.kaempfer
~#! tid=1137182598
ah, dann sind kaempfergeneraele besonders helle
das ist sehr erhellend

-----------------------------------------------------------------------------



Re^10: Licht (Grimmborn, 14. Jan 2006, 15:35:31):
~#! rn=Muadib rt=1137247820 rg=gilden.kaempfer
~#! tid=1137182598
Es ist erhellend, dass offenbar innerhalb der Kaempfergilde die Faehigkeit
schreiben zu koennen als Beleg fuer erhoehte Intelligenz angesehen wird. 

GdA

-----------------------------------------------------------------------------



Re^11: Licht (Lug, 14. Jan 2006, 17:07:14):
~#! rn=Grimmborn rt=1137249331 rg=gilden.kaempfer
~#! tid=1137182598
Die Eintraege hier lassen allerdings das Gegenteil vermuten.
Lug

-----------------------------------------------------------------------------



Re: Re: Licht (Morgoth, 16. Jan 2006, 10:53:51):
~#! rn=Krstfrs rt=1137244313 rg=gilden.kaempfer
~#! tid=1137182598
Ihr habt doch saufskill. vorher bis zur oberkante volltanken und wenn es
noetig ist, die "fackel" einfach aus der hose holen, pinkeln und streichholz
dran ... 

M*

-----------------------------------------------------------------------------



Re^3: Licht (Lug, 16. Jan 2006, 14:47:22):
~#! rn=Morgoth rt=1137405231 rg=gilden.kaempfer
~#! tid=1137182598
Endlich mal ein fast sinnvoller Beitrag. Wenn jetzt noch Schwert gegen Kopf
kloppen funken sprueht - haben wir es!
Und somit wuerden auch Warmduscher, die nicht mit 100% Alkohol tanken
gebuehrend bestraft...

Prost!
Lug

-----------------------------------------------------------------------------



Re^3: Licht (Seleven, 16. Jan 2006, 16:17:46):
~#! rn=Morgoth rt=1137405231 rg=gilden.kaempfer
~#! tid=1137182598
Gut. Das kann doch wer mal umsetzen.
Seleven nicht. :)
PS: Sorry, couldn't resist.

-----------------------------------------------------------------------------



Re^9: Licht (Deepblue, 16. Jan 2006, 22:20:08):
~#! rn=Orktoeter rt=1137247730 rg=gilden.kaempfer
~#! tid=1137182598
Sowas nennt man dann Armleuchter, oder wie?

-----------------------------------------------------------------------------



Re^11: Licht (Morgonate, 24. Jan 2006, 14:28:06):
~#! rn=Grimmborn rt=1137249331 rg=gilden.kaempfer
~#! tid=1137182598
Wie war das beim Bund?
1 Pommes = Ich kann lesen.
2 Pommes = Ich kann schreiben.
3 Pommes = Ich kann lesen UND schreiben?

Wie viele Pommes tragen denn Trves-Generaele?

*mal sinnierend*
Morgonate

-----------------------------------------------------------------------------



Re^12: Licht (Gnome, 24. Jan 2006, 14:30:30):
~#! rn=Morgonate rt=1138109286 rg=gilden.kaempfer
~#! tid=1137182598
4 = Ich kann kaempfen.

-----------------------------------------------------------------------------



Re^13: Licht (Gloinson, 24. Jan 2006, 14:31:04):
~#! rn=Gnome rt=1138109430 rg=gilden.kaempfer
~#! tid=1137182598
4 Pommes = ich habe dem Koch Kartoffeln geschaelt


-----------------------------------------------------------------------------



Re^13: Licht (Morgonate, 24. Jan 2006, 14:31:24):
~#! rn=Gnome rt=1138109430 rg=gilden.kaempfer
~#! tid=1137182598
Hmm, dann eher 6, denn wir brauchen P_KAMPF und P_SCHREIB ;)

Das sollte jetzt aber eher gen Schmarrn gehen. 

-----------------------------------------------------------------------------



Re^14: Licht (Gloinson, 24. Jan 2006, 14:32:24):
~#! rn=Morgonate rt=1138109484 rg=gilden.kaempfer
~#! tid=1137182598
Das ist schon belegt.


-----------------------------------------------------------------------------



Re^3: artikel 4 (Rangorn, 25. Jan 2006, 06:32:08):
~#! rn=Zook rt=1137247718 rg=gilden.kaempfer
~#! tid=1137187151
Moment. da fehlt jetzt noch der Bezug zu Boing seinem  geposteten Artikel in
Allgemein und der von dort geklaute Verweis:
http://www.idlethumbs.net/display.php?id=177

Also: macht alles rueckgaengig. Will wieder mit 100 fackeln durch die Gegend
joggen :)

- Rangorn Khur'Tigres -

-----------------------------------------------------------------------------



Re^4: artikel 4 (Anacrion, 25. Jan 2006, 06:33:12):
~#! rn=Rangorn rt=1138167128 rg=gilden.kaempfer
~#! tid=1137187151
Also wenn Du von WIEDER redest ....

Der Seher von welt hatte eher 100 Hydraruestungen ... die wiegen naemlich nix
;-)

Anac*

-----------------------------------------------------------------------------



Re^5: artikel 4 (Bambi, 15. Feb 2006, 22:35:53):
~#! rn=Anacrion rt=1138167192 rg=gilden.kaempfer
~#! tid=1137187151
Ich enttaeusche Dich nur ungern, aber diese Methode wuerde heute (imho) nicht
mehr funktionieren. Und das liegt nicht am Gewicht der Ruestung.

-----------------------------------------------------------------------------



Re^6: artikel 4 (Orktoeter, 15. Feb 2006, 22:48:58):
~#! rn=Bambi rt=1140039353 rg=gilden.kaempfer
~#! tid=1137187151
Ih! Ein gar nicht so versteckter Hinweis auf das Lichtsy.. Lichtsys... also
diese komische unvollendete "Verbesserung" .. und das ausgerechnet in dieser
Rubrik!

OrkT.

-----------------------------------------------------------------------------



Re^7: artikel 4 (Maharet, 15. Feb 2006, 22:53:18):
~#! rn=Orktoeter rt=1140040138 rg=gilden.kaempfer
~#! tid=1137187151
Ich denke, das war eher ein Hinweis auf die "neue" Hydraruestung. Bist auch
nicht mehr so uptodate, ne? ;)

-----------------------------------------------------------------------------



Re^8: artikel 4 (Gloinson, 15. Feb 2006, 22:58:18):
~#! rn=Maharet rt=1140040398 rg=gilden.kaempfer
~#! tid=1137187151
Vielleicht war es auch ein Hinweis auf die Anzahl der tragbaren Gegenstaende
(100 direkt im Inv), was ja durchaus Lichtdingsinspiriert passiert ist. Wer
weiss, wer weiss.


-----------------------------------------------------------------------------



Re^7: artikel 4 (Bambi, 24. Feb 2006, 23:41:47):
~#! rn=Orktoeter rt=1140040138 rg=gilden.kaempfer
~#! tid=1137187151
Quatsch. Ich wollte lediglich darauf hinaus, dass Du keine 100 Hydraruestungen
pro Charakter besitzen kannst.

-----------------------------------------------------------------------------



Neuer Gildenmagier (Humni,  4. Mar 2006, 14:24:48):
So, nachdem der Posten laenger nicht wirklich belegt war, haben wir mit
Gabylon einen neuen Gildenmagier fuer die Kaempfer gefunden.

Ich danke Maarg fuer die gleistete Arbeit und wuensche Gabylon viel Erfolg bei
seiner neuen Aufgabe!

Humni

-----------------------------------------------------------------------------



Neue Zeiten... (Gabylon,  4. Mar 2006, 14:36:46):
Hallo Trves!

Die Kaempfer haben nun wieder einen aktiven Gildenmagier.

Ich habe vor, viel Zeit und Arbeit in die Gilde zu investieren. Denn
wie vielleicht einige von euch wissen, liegen mir die Kaempfer besonders
am Herzen.

Ich wuerde euch gerne hier meinen weiteren Fahrplan hier vorstellen:

1. Als allererstes moechte ich euch fragen, was euch an dieser Gilde nicht
   gefaellt, was man anders oder vielleicht auch besser machen koennte.
   Ich rufe euch also hiermit auf, meinen Briefkasten zu bombardieren.
   Haltet nicht mit Kritik zurueck, legt einfach drauflos.
   Allerdings: mails a la "Ich will die Kaempfer doppelt so stark haben wie
   jetzt" oder auch "Alles grosser Bockmist hier" werden wohl kaum Anklang
   finden. Bitte seid realistisch und konstruktiv.

2. Dann werde ich die naechsten paar Wochen erstmal sammeln und sichten, und
   dann umsetzen, was mir (bzw. ggf. Humni und mir) sinnvoll und machbar
   erscheint. Dabei habe ich natuerlich auch ein paar eigene Ideen und
   Vorstellungen. Die Umsetzung gewisser Sachen kann dann wohl einige Wochen
   oder gar Monate dauern, also bitte ein bisschen Geduld.
   Von jeder Umstellung wird natuerlich in der mpa berichtet.

3. Mittelfristig werde ich dann wohl das Projekt "Level24" angehen; nicht
   ohne Unterstuetzung natuerlich. Ideen und Vorschlaege sind auch hierzu
   immer noch herzlich willkommen.
   Und ich hoffe, dass ich diese, aeh, Aufgabe noch zu meinen Lebzeiten
   fertiggestellt bekomme.


So, das wars erstmal von meiner Seite.

Gabylon

-----------------------------------------------------------------------------



Aenderungen: Teil I (Gabylon,  8. Mar 2006, 00:03:34):
Hallo Trves!

Tja, manche Dinge koennen ja sooo schnell gehen.

Brieseltrim hat mir sein Leid geklagt: Die wertvolle Zeit der jungen
und auch aelteren Spunde wuerde immer mehr in viel zu viele Abenteuer
anstatt in Ausbildung und Kaempfe gesteckt.
Deshalb haben wir die Koepfe zusammengesteckt und lange und ausfuehrlich
beraten, wie wir dem ersten Teil des Wortes "Kaempfergilde" wieder mehr
Bedeutung zukommen lassen koennten.

Folgendes ist dabei herausgekommen:

1. Die Abenteuerpunkte als Bedingung fuer die einzelnen Stufen sind
   betraechtlich gesenkt und nun auf einen festen Wert fuer jede Stufe
   gezurrt worden.

2. Im Gegenzug wurden andere Anforderungen zum Aufsteigen - insbesondere
   Spielerstufe und EP - deutlich angehoben.


Diese Werte koennen sich relativ zeitnah an wenigen Stellen evtl. noch
geringfuegig aendern (z.B. wenn sich ein bestimmter Wert als nicht praxis-
tauglich herausstellen sollte).

Zudem werden sie von Zeit zu Zeit von uns auf ihre Berechtigung ueberprueft,
so dass sich solche ueberholten Werte, wie sie bis vor kurzem gueltig waren,
nicht wieder ergeben sollten.



         Brieseltrim  Grieselhuck                      Gabylon
         - Kommandant des Struv -                - Gildenoberhaupt -

-----------------------------------------------------------------------------



Re: Aenderungen: Teil I (Swoop,  8. Mar 2006, 21:52:54):
~#! rn=Gabylon rt=1141772614 rg=gilden.kaempfer
~#! tid=1141772614
Brieseltrim sagt: Aha, so sieht es also mit Dir aus! Du kannst aus folgendem
Brieseltrim sagt: Grund nicht befoerdert werden: Dir fehlen noch 4662571
Brieseltrim sagt: Erfahrungspunkte. Schildkroete musst Du noch laengst nicht
Brieseltrim sagt: sehr sehr schlecht, Ellbogenschlag musst Du noch laengst
Brieseltrim sagt: nicht sehr sehr schlecht koennen. Du musst noch einen
Brieseltrim sagt: niedrigeren Trves ausbilden! Du solltest noch etwas durch
Brieseltrim sagt: die Welt ziehen und Abenteuer bestehen! Du hast 1660
Brieseltrim sagt: Abenteuerpunkte, brauchst aber 1600100 Punkte. Du solltest
Brieseltrim sagt: Dich noch gruendlicher ausbilden lassen! Frage am Besten
Brieseltrim sagt: einen Spieler hoeheren Ranges.

Danke, ich warte noch ein bisschen, bis die AP inflationaerer verteilt werden.


-----------------------------------------------------------------------------



Re: Re: Aenderungen: Teil I (Maharet,  8. Mar 2006, 22:24:40):
~#! rn=Swoop rt=1141851174 rg=gilden.kaempfer
~#! tid=1141772614
Naja, wenn du die AP hast, haste auch genug Stufen ;) Ich brauch fuer den
naechsten Level 12 Stufen - ich glaube, da fehlt mir die Motivation.  Schade,
bisher mochte ich die Kaempfergilde.  Aber nur Stufen und 80 Mio EP - das ist
mir zu plump.  Da kann ich gleich zu den Karateka wechseln, die haben
originellere Aufstiegsanforderungen.  Soviel zum Thema stimmungsvolle Gilde
...

-----------------------------------------------------------------------------



Re^3: Aenderungen: Teil I (Jimdigriz,  8. Mar 2006, 22:56:34):
~#! rn=Maharet rt=1141853080 rg=gilden.kaempfer
~#! tid=1141772614
Ich sehe nicht, dass er schon die geforderten 1600100 AP hat,
sonst waer Swoop auch sicher ganz oben auf allen
Toplisten und man haette schon vor diesem Artikel 
von Swoop gehoert.

JdG

-----------------------------------------------------------------------------



Re^4: Aenderungen: Teil I (Jimdigriz,  8. Mar 2006, 22:56:54):
~#! rn=Jimdigriz rt=1141854994 rg=gilden.kaempfer
~#! tid=1141772614
s/er/sie/
sorry

-----------------------------------------------------------------------------



Re: Aenderungen: Teil I (Croft,  9. Mar 2006, 15:23:18):
~#! rn=Gabylon rt=1141772614 rg=gilden.kaempfer
~#! tid=1141772614
Mich wuerde mal interessieren mit welcher Grundlage die neuen XP-Werte
gewaehlt worden sind.  In Anbetracht der in letzter Zeit anwesenden Spielern
fuehrt die Aenderung in der Form jedenfalls zu einer deutlichen Umstellung
der Spielweise bis zum General.  Sterben vermeiden und viel Zeit an gut
XP-bringenden Monstern verbringen.  Ein Hoch auf das langweilige Grinden.

Croft

-----------------------------------------------------------------------------



Re: Re: Aenderungen: Teil I (Thetis,  9. Mar 2006, 15:57:46):
~#! rn=Croft rt=1141914198 rg=gilden.kaempfer
~#! tid=1141772614
Du musst ja nicht Trves spielen, wenn's dir nicht passt.


Wer Ironie findet, darf sie behalten.
Und schoenen Gruss an die Leute der -dunkelelfen Diskussion neulich.

Thetis, den Spruch unbedingt anbringen wollend

-----------------------------------------------------------------------------



Re^3: Aenderungen: Teil I (Bielefeld,  9. Mar 2006, 16:48:29):
~#! rn=Thetis rt=1141916266 rg=gilden.kaempfer
~#! tid=1141772614
Antwort auf den letzten Artikel in alter megaschmarrn-Tradition.

Vorneweg ein Lob an Gabylon, dass er sich fuer die Gilde engagiert
und Dinge aendert. Dass das nicht jedem Recht ist, sei so.

Drei Anmerkungen:

- Drastisch gestiegener Level. Schoene Herausforderung, die dem
  Spieler genug Alternativen laesst, das Ziel zu erreichen.

- Besitzstandswahrung. Warum sollen nach einer Neuerung der 
  Anforderungen die Spieler, die es in der Vergangenheit 
  'einfach' hatten, sich auf ihren Posten ausruhen? Das Privileg 
  des gesunden Dienststubenschlafes hat allerhoechstens 
  Brieseltrim! Man bedenke hier, dass eine Armee nicht nur
  befoerdert, sondern auch degradiert.

- Mir erschliesst sich der Sinn einer XP-Schwelle von 250 Mio 
  fuer GL 23 nicht. Ein Blick auf die aktuelle Topliste verraet, 
  dass Spieler wie z.B. Pitfall mit dieser Anforderung niemals
  General geworden waeren. Die nackte Zahl selbst laesst sich 
  prima erscripten. Warum auch anders verfahren, wenn nur 
  irgendwie eine Wert erreicht werden muss? Macht es Sinn, dass 
  mit dem Niedermaehen von 25.000 Gardewaechtern die Bedingung 
  zufriedenstellend erfuellt ist?
  Mein Gedanke: XP-Grenze auf einen Wert absenken, der fuer
  Vielsterber eine Herausforderung ist (100 Mio?), und
  stattdessen Abwechslung. Was weiss ich, 800 Erstkills?

-Bielefeld

-----------------------------------------------------------------------------



Re^4: Aenderungen: Teil I (Knurps,  9. Mar 2006, 18:13:58):
~#! rn=Bielefeld rt=1141919309 rg=gilden.kaempfer
~#! tid=1141772614
> Warum sollen nach einer Neuerung der Anforderungen die Spieler,
> die es in der Vergangenheit 'einfach' hatten, sich auf ihren
> Posten ausruhen?

Willst du wirklich eine Antwort auf die Frage? Motivationstechnisch ist es
aeusserst ungeschickt, den Leuten wegzunehmen, wofuer sie doch nicht
unerheblich Aufwand investiert haben. Besser Glv24 anschliessen und darueber
Anreize schaffen, als Leute bereits Ereichtes jagen zu lassen. Desweiteren
wird gerade beim Militaer niemand degradiert, der nichts (falsches) macht. Im
Gegenteil ... ;-)

-----------------------------------------------------------------------------



Re^5: Aenderungen: Teil I (Gabylon,  9. Mar 2006, 20:06:42):
~#! rn=Knurps rt=1141924438 rg=gilden.kaempfer
~#! tid=1141772614
Hi Trves,

und schon greift das Kleingedruckte: die Anforderungen der einzelnen GL
sind sowohl fuer Spielerstufe als auch fuer EP wieder etwas gesenkt worden.

Gabylon

-----------------------------------------------------------------------------



Re^6: Aenderungen: Teil I (Zook,  9. Mar 2006, 20:09:54):
~#! rn=Gabylon rt=1141931202 rg=gilden.kaempfer
~#! tid=1141772614
Auf welchen Wert denn?

Zook.

-----------------------------------------------------------------------------



Re^7: Aenderungen: Teil I (Gabylon,  9. Mar 2006, 21:40:16):
~#! rn=Zook rt=1141931394 rg=gilden.kaempfer
~#! tid=1141772614
Hi Trves,

hier nochmal nun die genaue Auflistung der jetzt gueltigen Anforderungen
fuer die einzelnen Level. In Klammern jeweils die alten Werte.


Gildenlevel      Spielerstufe               EP
-------------------------------------------------------
    1                5  (2)        50.000        (5.000)
    2                6  (3)        55.000        (7.000)
    3                7  (5)        60.000       (10.000)
    4                9  (7)        75.000       (13.000)
    5               11  (9)        90.000       (18.000)
    6               13 (11)       100.000       (22.000)
    7               15 (12)       125.000       (26.000)
    8               17 (13)       150.000       (30.000)
    9               19 (14)       175.000       (60.000)
   10               22 (15)       200.000      (100.000)
   11               25 (16)       300.000      (200.000)
   12               28 (17)       500.000      (550.000)
   13               32 (18)       700.000      (700.000)
   14               35 (19)       900.000      (800.000)
   ----------------------------------------------------
   15               38 (20)     1.000.000    (1.000.000)
   16               40 (23)     2.500.000    (2.000.000)
   17               42 (26)     5.000.000    (4.000.000)
   18               44 (30)     7.500.000    (8.000.000)
   19               46 (33)    10.000.000   (12.000.000)
   20               48 (35)    15.000.000   (16.000.000)
   21               50 (38)    20.000.000   (20.000.000)
   22               55 (41)    25.000.000   (25.000.000)
   23               60 (45)    50.000.000   (30.000.000)
   24               75 (48)   100.000.000   (45.000.000)
   25               80 (50)   200.000.000   (60.000.000)
   26               90 (52)   300.000.000   (80.000.000)
   27              100 (55)   500.000.000  (100.000.000)


Gabylon

-----------------------------------------------------------------------------



Re^8: Aenderungen: Teil I (Muadib,  9. Mar 2006, 22:02:20):
~#! rn=Gabylon rt=1141936816 rg=gilden.kaempfer
~#! tid=1141772614
was ist eigentlich der beweggrund fuer die aenderung?

-----------------------------------------------------------------------------



Re^8: Aenderungen: Teil I (Orktoeter,  9. Mar 2006, 22:25:13):
~#! rn=Gabylon rt=1141936816 rg=gilden.kaempfer
~#! tid=1141772614
Heisst es, dass GL ueber 23 jetzt bereits erreichbar und freigeschaltet sind?
Gibt es neue Kampftechniken in den neuen Stufen?

OrkT, neugierig.

-----------------------------------------------------------------------------



Re^9: Aenderungen: Teil I (Ark,  9. Mar 2006, 22:27:53):
~#! rn=Orktoeter rt=1141939513 rg=gilden.kaempfer
~#! tid=1141772614
Nein. Waere auch ebbes ueberraschend, oder? Da muessten ja Tote auferstehen.
:-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^8: Aenderungen: Teil I (Zook,  9. Mar 2006, 22:32:07):
~#! rn=Gabylon rt=1141936816 rg=gilden.kaempfer
~#! tid=1141772614
Ausgangspunkt der Aenderung (Artikel 60) war doch auch das Festschreiben
der Grenzen fuer die Abenteuerpunkte. Koenntest Du diese denn dann noch
mit angeben? Dann haette man die Aenderungen zu 1. und 2. Deines Artikels
irgendwie im Ueberblick.

Zook.

-----------------------------------------------------------------------------



Re^9: Aenderungen: Teil I (Gabylon, 11. Mar 2006, 00:45:27):
~#! rn=Zook rt=1141939927 rg=gilden.kaempfer
~#! tid=1141772614
Ohja, Entschuldigung, das ging irgendwie unter.

Here we go again:


Gildenlevel      Spielerstufe               EP                AP
------------------------------------------------------------------
    1                5  (2)        50.000        (5.000)       -
    2                6  (3)        55.000        (7.000)       -
    3                7  (5)        60.000       (10.000)       -
    4                9  (7)        75.000       (13.000)       -
    5               11  (9)        90.000       (18.000)       -
    6               13 (11)       100.000       (22.000)       -
    7               15 (12)       125.000       (26.000)       -
    8               17 (13)       150.000       (30.000)       -
    9               19 (14)       175.000       (60.000)       -
   10               22 (15)       200.000      (100.000)       -
   11               25 (16)       300.000      (200.000)       -
   12               28 (17)       500.000      (550.000)       -
   13               32 (18)       700.000      (700.000)       -
   14               35 (19)       900.000      (800.000)       -
   --------------------------------------------------------------
   15               38 (20)     1.000.000    (1.000.000)     1600
   16               40 (23)     2.500.000    (2.000.000)     1700
   17               42 (26)     5.000.000    (4.000.000)     1800
   18               44 (30)     7.500.000    (8.000.000)     1900
   19               46 (33)    10.000.000   (12.000.000)     2000
   20               48 (35)    15.000.000   (16.000.000)     2100
   21               50 (38)    20.000.000   (20.000.000)     2200
   22               55 (41)    25.000.000   (25.000.000)     2300
   23               60 (45)    50.000.000   (30.000.000)     2400
   24               75 (48)   100.000.000   (45.000.000)     2500
   25               80 (50)   200.000.000   (60.000.000)     2600
   26               90 (52)   300.000.000   (80.000.000)     2700
   27              100 (55)   500.000.000  (100.000.000)     2800


Die alten Werte fuer die AP waren jeweils etwa 500 Punkte mehr.

Weil nachgefragt wurde:
Hauptgruende fuer die Aenderungen der Anforderungen waren eine dynamische
AP-Anforderung und die Tatsache, dass man heutzutage viel leichter an
EP und Stufen herankommt als noch vor 10 Jahren.

Und achja... von einem Zalkh'Batar kann man zumindest erwarten, dass er
eine sichere Fluchtrichtung hat.


Gabylon

-----------------------------------------------------------------------------



Re^10: Aenderungen: Teil I (Roland, 11. Mar 2006, 00:50:50):
~#! rn=Gabylon rt=1142034327 rg=gilden.kaempfer
~#! tid=1141772614
wie viel naeher ist den lvl 24 gerueckt? ... und auf was kann man sich freuen
... ?
Ro*

-----------------------------------------------------------------------------



Re^11: Aenderungen: Teil I (Gabylon, 11. Mar 2006, 00:52:54):
~#! rn=Roland rt=1142034650 rg=gilden.kaempfer
~#! tid=1141772614
Innerhalb der letzten 4 Tage?

Uoohh... bestimmt schon um 0,01%. :)


Gabylon

-----------------------------------------------------------------------------



Re^10: Aenderungen: Teil I (Croft, 11. Mar 2006, 00:55:56):
~#! rn=Gabylon rt=1142034327 rg=gilden.kaempfer
~#! tid=1141772614
Wenn ich das richtig sehe: ist es korrekt dass man nun auf Level 5 sein
muss um der Gilde beizutreten?  Was war hier die Motivation?

Croft

-----------------------------------------------------------------------------



Re^11: Aenderungen: Teil I (Gabylon, 11. Mar 2006, 01:38:00):
~#! rn=Croft rt=1142034956 rg=gilden.kaempfer
~#! tid=1141772614
Wenn die Eintrittsbedingung auf Level 2 geblieben waere, haette es doch
fuer Anfaenger recht frustrierend werden koennen, wenn sie die zweite
Gildenstufe erst haetten erklimmen koennen, nachdem sie 4 Spielerlevel
erhoehten.


Gabylon

-----------------------------------------------------------------------------



Re^12: Aenderungen: Teil I (Croft, 11. Mar 2006, 09:35:53):
~#! rn=Gabylon rt=1142037480 rg=gilden.kaempfer
~#! tid=1141772614
Naja, wieso wurde die 2. Stufe dann erhoeht?  Was ich bei den Kaempfern
bisher sehr schoen fand, war die Tatsache, dass man als neue Spieler
fast gleich von Anfang an in der Gilde integriert war.  Und ich frage
mich halt wieso dieser fruehe Einstieg nun entfernt wird.

Croft

-----------------------------------------------------------------------------



Re^10: Aenderungen: Teil I (Muadib, 11. Mar 2006, 10:57:38):
~#! rn=Gabylon rt=1142034327 rg=gilden.kaempfer
~#! tid=1141772614
Hi,

die Anpassung der AP-Werte nach unten finde ich gut.

IMHO war das Problem mit den bisherigen Stufenanforderungen, dass bei
Erreichen von Gildenlevel 14, der naechste Schritt enorm weit in der Zukunft
liegt und somit ein erreichbares Nahziel fehlt. 
Das kommt daher, dass die Seheranforderungen sich immer weiter von Level 20
entfernt haben.
Das hast Du, wenn ich das richtig sehe, dadurch korrigiert, dass der Level der
fuer Gildenstufe 14 notwendig ist, nun naeher an der fuer den Seherlevel
notwendigen Stufe liegt.

Das ist mit Sicherheit eine Moeglichkeit dieses fehlende Nahziel doch wieder
naeher an den angehenden Unteroffizier heranzuruecken.
Aber wie sieht es mit den unteren Gildenraengen aus?
Die notwendige Spielerstufe fuer den jeweils naechsten Level ist ja angehoben
worden. Fuer Zweitspieler stellt das sicher keinerlei Problem dar. Doch ist es
fuer Erstspieler wirklich so einfach diese Stufen zu erreichen? Und stellt die
naechste Gildenstufe in ihren Anforderungen wirklich eine Herausforderung dar,
oder eher eine Frustration?

Ich kann das nicht beurteilen. Was sagt denn Ihr als Spieler dazu?

Zu den EPs bin ich indifferent. EPs zu bekommen ist Dank der Ausbildung kein
Problem und selbst wenn man sie nicht hat, so war und ist EP-Sammeln imho eh
immer eine stumpfe Taetigkeit, die man halt mal abgrindet.

Eine Anregung waere vielleicht auch EKs zu beruecksichtigen und an den
Anforderungen bezueglich der Gildenquests zu drehen und dafuer ein wenig bei
den Leveln nachzugeben.
Diese Anforderungen sind in der Tabelle nicht zu ersehen, insofern kann ich
nicht beurteilen wie dort der aktuelle und der alte Stand ist.

Gruss
Muadib

-----------------------------------------------------------------------------



Re^11: Aenderungen: Teil I (Jadawin, 11. Mar 2006, 11:09:49):
~#! rn=Muadib rt=1142071058 rg=gilden.kaempfer
~#! tid=1141772614
Sehr schoen Zusammengefasst, Muadib.
Insbesondere bei den EK gebe ich dir recht, das wuerde sehr gut in die Gilde
passen. Man braucht halt als Kaempfer dann einfach immer 10-20% EK mehr als
durch die korrespondierende Spielerstufe vorgegeben sind. Ist natuerlich kein
groesseres Problem (soll es ja auch nicht sein), da das insbesondere im Rahmen
der Ausbildung gut zu machen sein duerfte. Motiviert aber evtl. den einen oder
anderen, nicht zum hundertsten Mal Hyaenen, Eiselfen oder Moulokin-Wachen zu
hauen.
Und die Anpassung bzgl. der AP war wirklich begruessenswert. In der Regel war
das immer das fehlende Kriterium (zumindest bei mir) und nicht gerade
motivationsfoerdernd. Von der angesprochenen Level-14-Problmatik jetzt mal gar
nicht zu reden...
Jad*

-----------------------------------------------------------------------------



Re^11: Aenderungen: Teil I (Ark, 11. Mar 2006, 11:17:05):
~#! rn=Muadib rt=1142071058 rg=gilden.kaempfer
~#! tid=1141772614
Naja, bis zum ersten Nichtwaffenskill dauert es eh etwas ... ich war da eher
mit Questen und Gegend anschauen beschaeftigt. Bin aber eh Zweiti :) Stupse
finde ich auch hier etwas ueberbewertet. Die kommen eh mit der Zeit,
allerdings wird man bei den Anforderungen dann im Zweifel eher "sichere" NPC
immer wieder umhauen, anstatt sich auch mal gemeinsam an neuem zu versuchen.
Insofern faende ich da auch eine gewisse Beruecksichtigung von EKs besser.
Allerdings sollte das nicht so ausufern wie bei einer gewissen anderen Gilde
:-)
Inwiefern die XP dann fuer hoehere Raenge so sinnvoll sind, kann man dann
diskutieren, wenn es mal irgendwann soweit ist.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^12: Aenderungen: Teil I (Ark, 11. Mar 2006, 12:16:06):
~#! rn=Ark rt=1142072225 rg=gilden.kaempfer
~#! tid=1141772614
Ersetze "Stupse" mit "XP" :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^13: Aenderungen: Teil I (Darklor, 11. Mar 2006, 15:04:52):
~#! rn=Ark rt=1142075766 rg=gilden.kaempfer
~#! tid=1141772614
Also ich finde die Erhoehung der Spielerstufe is eine sehr unelegante Loesung
um das Loch zur Stufe 14 zu veringern, deswegen hatte ich ja auch eine weitere
Gildenstufe fuer die unteren Raenge empfohlen - den Stabkaempfer. Ausserdem
finde ich ist es echt ein Motivationskiller, wenn man auf einmal sehr viel
weiter von der naechsten Stufe weg is als zuvor, besonders wenn man als
kleiner Char von Anfang an bei den Trves war, weil dort am Anfang der
Unterschied von Spielerlevel zu Gildenlevel noch mit am geringsten war und man
noch nich allzuviel Aufwand in langweiliges Questen fuer das erreichen der
naechsten Stufe stecken musste - schliesslich sollen die Trves ja Kaempfer
sein - und keine Bluemchenpfluecker... 

Darklor

-----------------------------------------------------------------------------



Re^14: Aenderungen: Teil I (Ark, 11. Mar 2006, 17:28:05):
~#! rn=Darklor rt=1142085892 rg=gilden.kaempfer
~#! tid=1141772614
Nur mit Kaempfen ist es nicht getan, zurecht gibt es auch Anforderungen, die
nicht nur die Waffe betreffen, siehe auch Signatur t2 in der Struv Bibliothek,
insbesondere den dritten Kodex :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Meinungen gefragt (Gabylon, 11. Mar 2006, 22:18:26):
Hi Trves,

mir sind da ein paar Sachen aufgefallen, die ich gerne unter Euch diskutiert
haette.

1. Zur Zeit ist das Messer die beste Parierwaffe. Ich hatte Messer und Dolche
   immer klein und zerbrechlich in Erinnerung und eine Parade mit einem Dolch
   gegen eine schwere Keule oder einen langen Speer wuerde ich persoenlich
   von wenig Erfolg gekroent sehen, wuerde die Werte also geaendert haben
   wollen.
   Wie sehr ihr das?

2. Momentan ist der Erfolg der Parade auch unabhaengig von der zu parierenden
   Waffe. Das ist meiner Meinung kaum einsehbar, ist doch ein kleines Messer
   viel schwerer zu parieren als eine schwere, langsame Keule.
   Abermals ist hier eure Meinung gefragt.

3. Keulen sind zur jetzigen Zeit die besten Waffen fuer einen Waffentrick.
   Bielkylls liegen knapp dahinter. Beide Waffengattungen sind in meinen
   Augen fuer einen Waffentrick ziemlich ungeeignet, da sie recht schwer
   sind und nur behaebig zu fuehren sind.
   Meinungen dazu?

4. Nochmals Parade: Mit Zweihandwaffen pariert man schlechter als mit
   Einhandwaffen. Ich wuerde es genau andersrum sehen. Schliesslich hat man
   zweihaendig ungleich mehr Kontrolle ueber seine Waffe, kann also
   Schlaege viel besser abwehren.
   Moeglicherweise koennte man das auch gewichtsabhaengig gestalten. Mit
   einer Einhandwaffe laesst es sich dann genausogut parieren wie mit einer
   zweihaendigen, wenn sie ein gewisses Gewicht nicht ueberschreitet.
   Was meint ihr?


Gabylon

-----------------------------------------------------------------------------



Re: Meinungen gefragt (Miril, 11. Mar 2006, 22:47:57):
~#! rn=Gabylon rt=1142111906 rg=gilden.kaempfer
~#! tid=1142111906
Zu 1. wollte ich nur anmerken, dass es Parierdolche gibt, die genau zu diesem
Zwecke hergestellt werden. Insofern wuerde ich an der Stelle nicht unbedingt
etwas aendern. Bei 4. waere es vielleicht gut, mal jemanden zu befragen,
der RL mit sowas umgehen kann, ansonsten bleibt das naemlich pure
Spekulation. Insgesamt faende ich es gut, wenn erstmal wirklich notwendige
und fuer Spieler interessante Aenderungen vorgenommen wuerden, die nicht
gleich so starke (und z.T. auch schwer vorhersehbare) Auswirkungen auf
die Kaempfe haben. Die Anpassung der Level find ich begruessenswert, 
wuerde allerdings auch eine Beruecksichtigung von EKs den hohen EP Werten
vorziehen. Dass die Moeglichkeit entfallen soll, bereits mit Level2 in
die Gilde einzutreten, finde ich ehrlich gesagt schade.

Miril

-----------------------------------------------------------------------------



Re: Re: Meinungen gefragt (Orktoeter, 11. Mar 2006, 23:59:11):
~#! rn=Miril rt=1142113677 rg=gilden.kaempfer
~#! tid=1142111906
Es waere vielleicht schon interessant, die Parade von der gegnerischen Waffe
abhaeging zu machen (wobeich persoenlich eine eine Lanze einfacher zu 
parieren finde als eine Keule (so man den richtigen Winkel gefunden hat). Aber
wies es schon vorab hiess: Es gibt wohl wichtigeres....
OrkT, nach gruendlichem Gelage.

-----------------------------------------------------------------------------



Re: Meinungen gefragt (Muadib, 12. Mar 2006, 00:30:49):
~#! rn=Gabylon rt=1142111906 rg=gilden.kaempfer
~#! tid=1142111906
ad 1-4)
parieren ist vielgestaltig. ein schnelles schwert kann man zum beispiel mit
einem paradedolch zur seite parieren, einen speer mit einem schwert zur seite
schlagen, ne keule ist wohl schon schwerer, weil die enorm wucht hat, da sind
schilde wohl am besten :)
das gleiche gilt fuer den waffentrick: mit einer schoenen handaxt oder einer
rotierenden keule ist beim gegner sicher fuer verwirrung gesorgt, aber
natuerlich auch fuer kleine, leicht verdeckbare dolche etc.

insgesamt kenne ich das system nicht exakt, aber ich nehme an, dass zardoz da
einiges an gehirnschmalz reingesteckt hat und wuerde erst einmal versuchen das
zu durchdringen und dann gegebenenfalls leicht zu aendern. das leicht sollte
auch in anderer hinsicht vorsichtig geschehen: mit starken aenderungen wird
die balance mit sicherheit extrem belastet mit der verifikation alter
entscheidungen

-----------------------------------------------------------------------------



Re: Re: Meinungen gefragt (Liara, 12. Mar 2006, 02:05:31):
~#! rn=Muadib rt=1142119849 rg=gilden.kaempfer
~#! tid=1142111906
Wir sind ein Questmud! Sagt Boing! Und ich fand es sowieso immer schon schade,
dass kleinere Trves von Ranghoeheren wegen der Kills durch's Mud geschleift
wurde, obwohl sie oft nicht mal wussten, wo sie sich gerade befanden.
Durch eine AP-Erniedrigung wird sicherlich nicht gefoerdert, dass sich kleine
Trves im Mud umsehen, aber gerade das finde ich wichtig. Zumal wir inzwischen
im Gegensatz zu frueher im Vergleich zur Spielerzahl eher viele neue Gebiete
haben, die kaum besucht und gewuerdigt werden.
Ich persoenlich bin als Schuettler von Gildenanforderungen unbelaestigt im MG
gross geworden, und es war die schoenste Zeit, die ich hatte. Egal ob als
Zaubi (Uebungszwang haelt vom Questen und Forschen ab) oder als Trves
(Ausbildung/Ueben haelt vom Questen und Forschen ab) hat mich die
Gildenzugehoerigkeit nicht gerade mit dem Mud bekannter gemacht. ;-)
Deshalb finde ich es ein falsches Signal, wenn die AP-Anforderungen
heruntergesetzt werden. Damit wird IMHO genau der Teil der Trves aufgewertet,
der ohnehin schon zu sehr durch die Gilde gefordert wird.
Sogar ich, die Questen und Forschen lieber mag als Gildenanforderungen zu
erfuellen, verwandelte mich innerhalb einer Gilde zum eifrigen Metzler/Ueber.
Das muss man durch diese neue Gildenpolitik nicht unbedingt noch mehr
unterstuetzen. *g*
ZZL

-----------------------------------------------------------------------------



Re: Meinungen gefragt (Knurps, 12. Mar 2006, 03:04:00):
~#! rn=Gabylon rt=1142111906 rg=gilden.kaempfer
~#! tid=1142111906
Ad 1. Mit Dolche Parieren kann ich mir schwerlich vorstellen, schon eher mit
(entsprechend langen) Messern. Auch wenn Parade der Terminus ist, mag
vielleicht die erhoehte Wendigkeit und Beweglichkeit mit einem Messer nicht
unbedingt der Parade sondern viel mehr dem schadenminderndem Ausweichen
zutraeglich sein. In Anbetracht des Einhand-Stigmas finde ich es gut, dass
hier 1Handwaffen einen Bonus haben. Auch wenn es mehr die technischen Aspekte
befolgt, warum kann man nicht beim Parieren mit Dolch die Meldung "Statt zu
parieren, weichst du Schlag (gut, halbwegs, ein bisschen) aus."

Ad 2. Faende ich gut. Parierbarkeit abhaengig vom Waffentyp zu machen: Ich
wuerde die Reihenfolge: Speere, Hands, Schwerter, Aexte, Kampfstaebe, Messer,
Keulen rein aus dem Bauch heraus aufbeten. Wobei Parieren gegen Hands durchaus
noch einen Minimalschaden (aehnlich dem Messerkreis?) verursachen koennte. Ich
bin zu faul naachzugucken, wieviele Schlaege kann ein geuebter Trves doch
gleich pro Runde parieren? (Mir ist nur aufgefallen, dass Dunkelelfen nur
einen Schlag pro Runde parieren koennen...)

Ad 3) Da ich eh nie richtig verstanden habe, was der technische Unterschied
zwischen einem Waffentrick und einer Finte ist, will ich hierzu mal nichts
sagen. Ich freue mich aber, wenn mir das jemand erklaeren kann.

Ad 4) Bei der Parade geht es primaer um Geschwindigkeit, da man auf den Schlag
reagiert und deshalb weniger Zeit hat. Man schlaegt nicht Waffe gegen Waffe
sondern laesst eigentlich die gegnerische Waffe abgleiten, so dass der Schlag
wenig bis keinen Schaden macht. Die Kontrolle kann mit einer Hand ueber den
Winkel und den Aufprallpunkt gereget werden. Da Einhandwaffen i.d.R. schneller
gefuehrt werden, finde ich es stimmig und gut, dass sie besser zur Parade
geeignet sind. Die Geschwindigkeit hat nicht unbedingt nur mit dem Gewicht der
Waffe zu tun.

Knurps, ein paar Gedanken einstreuend

-----------------------------------------------------------------------------



Re: Re: Meinungen gefragt (Knurps, 12. Mar 2006, 03:05:12):
~#! rn=Knurps rt=1142129040 rg=gilden.kaempfer
~#! tid=1142111906
Miesser Satzbau, fehlende Worte und schlechte Grammatik sind der spaeten
Stunde und dem sehr hohen Alkoholpegel geschuldet. Ich bitte um Verzeihung.

-----------------------------------------------------------------------------



Re^3: Meinungen gefragt (Humni, 12. Mar 2006, 08:09:09):
~#! rn=Knurps rt=1142129112 rg=gilden.kaempfer
~#! tid=1142111906
Ganz kurz aus eigener Spielererfahrung:

Finte lenkt den Gegner ab und ermoeglicht hoeheren Schaden, Waffentrick lenkt
den Gegner so ab, dass er weniger Schaden macht. Wie ich mir das im Kampf
vorzustellen habe weiss ich gerade nicht, hab die Ausbildungsgespraeche aber
auch nicht mehr im Kopf.

Humni

-----------------------------------------------------------------------------



Re^4: Meinungen gefragt (Lord, 12. Mar 2006, 12:01:37):
~#! rn=Humni rt=1142147349 rg=gilden.kaempfer
~#! tid=1142111906
1. Paradewaffen:
Ich glaube es reicht nicht, die Parierfaehigkeit bestimmter Waffentypen
fuer sich allein zu betrachten. Es gibt vermutlich einen guten Grund warum 
Messer gute Parierwaffen sind. Vielleich liegt es daran, dass Messer im
Vergleich zu allen anderen Waffengattungen etwas weniger Schaden machen.
Ich weiss nicht wie gut sich das durch einen Schildstoss kompensieren laesst,
hab schliesslich keine Haare auf den Fuessen. Bin nur dafuer, dass man 
bei solchen Umstellungen auf die Rassenbalance Acht gibt.
 
4. Waffentrick:
Der versnobte Elf, dieser Angeber, der mir den Waffentrick beibracht hat,
schien bei der Ausfuehrung einen grossen Wert auf Schnelligkeit zu legen. 
Seine Worte waren damals: 
"Sobald Dein Gegner Schwaeche zeigt, dann kannst Du Deine Waffe in 
scheinbar komplizierten Bewegungen nutzen, um die Aufmerksamkeit 
von Deiner wahren Absicht abzulenken. In der Praxis sieht das also so aus, 
dass Du mit der Waffe Deinen Trick machst, der den Gegner verwirrt."

Ich moechte mal einen Zwerg mit einem klobigen Schmiede- oder Steinbrecher-
hammer fuchteln sehen. Ok gut, ich wuerde mich wahrscheinlich lachend auf dem 
Boden waelzen und er haette sein Ziel, naemlich mich zu Verwirren, erreicht.

Allerdings finde ich das gekonnte Umgehen mit einem coolen Klappmesser a la
Ash'en'lokh oder ein schnell rotierendes Gewirbel mit einer langen 
Stangenwaffe, wesentlich beeindruckender.

-----------------------------------------------------------------------------



Re^3: Meinungen gefragt (Gabylon, 12. Mar 2006, 20:18:08):
~#! rn=Orktoeter rt=1142117951 rg=gilden.kaempfer
~#! tid=1142111906
Nur zwei Sachen:

- Man mag es nicht glauben, aber ich bin multitaskingfaehig. Wichtige,
  "fuer den Spieler interessante" Aenderungen sind schon laengst in
  Arbeit.

- Bitte diskutiert weiter. Je mehr Meinungen ich zu den vier o.g. Punkten
  hoere umso besser. Macht eigene Vorschlaege, entwickelt Szenarien,
  setzt Abhaengigkeiten.


Gabylon

-----------------------------------------------------------------------------



Re: Re: Meinungen gefragt (Zook, 12. Mar 2006, 20:21:08):
~#! rn=Miril rt=1142113677 rg=gilden.kaempfer
~#! tid=1142111906
aol. zook.

-----------------------------------------------------------------------------



Re^4: Meinungen gefragt (Sharia, 13. Mar 2006, 17:58:13):
~#! rn=Gabylon rt=1142191088 rg=gilden.kaempfer
~#! tid=1142111906
zu den Messern:

Ich denke Hobbits sind aufgrund ihrer eingeschraenkten Waffenwahl leicht
benachteiligt. Sicher war auch das ein Grund dafuer, dass Zardoz damals den
Messern bei der Parade einen Vorteil verschafft hat. 
Ich fand die Kaempfer, was das angeht, bisher recht gut balanciert und wuerde
wohl daran eher nix veraendern ...


Sharia mit Hobbitkaempferzweiti :)


-----------------------------------------------------------------------------



Re^5: Meinungen gefragt (Orktoeter, 13. Mar 2006, 19:00:11):
~#! rn=Sharia rt=1142269093 rg=gilden.kaempfer
~#! tid=1142111906
Du sprichst da im Grunde zwei Sachen an: Hobbits als Kaempfer und Messer als
Verteidigungswaffe.
zu letzterem: Messer sind klein (wenn man mal von gewissen Schwertern absieht
die "Messer" genannt werden) und leicht, lassen sich als sehr schnell bewegen.
Das ist sicher ein Vorteil und damit eine gegnerische Waffe abzuwehren.
Nachteil ist aber, dass die Reichweite gering ist, d.h. du kannst die Waffe
erst ablenken, wenn sie schon relativ nahe an dir ist, d.h. der Weg(die Zeit)
um die Waffe genuegend weit aus der Bahn zu bringen sind klein(kurz). Weiterer
Nachteil ist natuerlich, das ein Messer als Einhandwaffe auch nur die Kraft
einer Hand zur Verfuegung steht, wenn man also mit dem Messer einen Schlag
einer beidhaendig geschwungenen Keule abwehren will, hat man sicher trotz
aller Schnelligkeit ein Problem.

Zu den Hobbits als Kaempfer: Fuer mich muss nicht jede Gilde jeder Rasse
optimale Vorraussetzungen bieten. Wenn fuer Hobbits das Kaempferdasein
schwerer ist als fuer andere, dann sollte sich der Mensch hinter den Tasten
ueberlegen ob er den Hobbit wirklich zum Kaempfer machen will (was ja auch
nicht gerade der Tolkienschen Hobbitmentalitaet entspricht) und wenn er das
will, dann muss er halt mit eingeschraenkter Kampfkraft leben, oder wenn nein,
dann soll er halt in eine andere Gilde gehen. 

OrkT.

-----------------------------------------------------------------------------



Re^6: Meinungen gefragt (Humni, 13. Mar 2006, 19:05:13):
~#! rn=Orktoeter rt=1142272811 rg=gilden.kaempfer
~#! tid=1142111906
Vorsicht bei der Denkweise "dann mach ich eben keinen Hobbit zum Kaempfer,
wenn das jetzt nicht mehr so gut geht." Es sind schon viele Hobbits Kaempfer,
und denen etwas wegnehmen, was nicht unbedingt noetig erachtet wird (weils aus
dem Ruder laeuft oder ....) wird Aerger hervorrufen.

Nichts gegen wohldurchdachte Aenderungen, auch Dinge die logisch sind - aber
achtet darauf, dass ihr keine Leute vertreibt, jedenfalls nicht, wenn es nicht
noetig ist ;-)

Ok. Der Apell geht natuerlich letzten Endes an diejenigen, die das
entscheiden, aber ich wollte ihn auch mal hier vorbringen ;-)

Humni

-----------------------------------------------------------------------------



Hobbits als Kaempfer (Ark, 13. Mar 2006, 19:15:57):
Kampf gegen den Threadmissbrauch :-)

Es ist wieder mal das liebe alte Lied (kennt sicher der eine oder andere aus
Rollenspielrunden): Charakter Optimierung. Ich will unbedingt einen <Rasse>
spielen ... hm, der hat aber leider die Einschraenkung $bloedattribut1 und
$nachteilwert2, ausserdem kann er nicht unter Wasser riechen.
Na gut, das laesst mich gegenueber den anderen nachteilig dastehen ... aber
halt, <Superallgemeinrasse> kann das ja alles, dann nehm ich die halt. Usw.
... und nachher stellt man mit Schreck beim Wuerfeln fest, dass der auch eine
1 hat, man kann auch mit der <Nichtmehrsosuperrasse> patzen, so ein Mist.
Warum sage ich das? Weil immer noch das am meisten Spass macht, was von Zahlen
befreit ist. Die Spieler, die ich (und einige andere vielleicht auch noch) in
Erinnerung habe, sind nicht immer die mit den tollsten Waffen, Ruestungen,
Gildenattributen, sondern immer noch die, die sich durch welche Aktionen auch
immer (manchmal auch nicht unbedingt positiv) in mein Gedaechtnis gepraegt
haben.
Alternative koennte sein, sozialistische Gleichmacherei, weil "das andere
nicht mehr so gut geht und das darf ja nicht sein". Bitte auch Hobbits in die
Chaotengilde, denn sonst kommt Alice Schwarzfuss und sagt, so aber bitte
nicht. Spielt eigentlich noch eine Rasse, weil er sie auch mit ihren
Nachteilen akzeptiert, auch, was Gilden betrifft? Wenn ja, wunderbar.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^6: Meinungen gefragt (Roland, 13. Mar 2006, 19:35:44):
~#! rn=Orktoeter rt=1142272811 rg=gilden.kaempfer
~#! tid=1142111906
HiHo

So n paar Sachen mag ich auch mal zum besten geben. 
ALso die einziegen waffen die in 'recht' als Paradewaffen wirklich kenne sind
'Dolche' und 'Saebel' evtl Degen noch ... 
Alles in allem sehr leichte waffen, wobei die Dolche etwas Laenger sind als
normale Dolche, und am ender noch zwei extra dingens haben. das es wie ein
Dreizack wir, (keinen Plan wie man die nennt) 
Bei der Parade geht es meines wissens hauptsaechlich um Ablenken. und da kommt
es nicht wirklich auf die wucht der eingenen waffe an. Aber eben ein Bischen
auf die des Gegners. Obwohl ich mit einer geschickten bewegung eine schwere
Keule an einem Stab gut abrutschen lassen koennte.
Aber ne Keule zum beispiel ist wegen der Klobigen und wohl auch oft kantigen
Geometrie nicht besonders zu geeignet.

Alles in allem denke ich das die waffen welche parieren koennen wohl schon gut
gewaehlt sind. Und Einbezug von geschick beim hobit wohl auch auf
Verstaendniss stosen sollte.  

Ich muss mich einer weiter oben genanten Meinung anschliessen das man, wenn
aenderungen und neuerungen gemacht werden, auf sachen zugreifen sollte die
'noetig' sind und nicht alte, evtl auch sehr unuebersichtliche (auf die
auswirkungen gesehen) mal einfach veraendern und hoffen das es klappt.

eine optimierung des Ausbildungs und Aufstiegsystemes ist wohl richtig und
auch gut. aber von so gravierenden aenderungen sollte mit bedacht gebrauch
gamacht werden.

zum waffentrick:
Da finde ich den kamm man eigendlich mit allen waffen machen. Ob ich nun n
Messer in der Tasche rumhibbel oder mir mit der keule selber auf den Fuss hau
um den Gegner zu verwirren sollte beides recht grosse verwirrung ausloesen. An
stelle da eine Waffen-Gattung zu bevorzugen sollte evtl die rasse und der
waffenskill (also die verwendung der waffe) mit eingerechnet werden.  Also das
die finte oder der Waffentrick besser klappt wenn man die waffe auch fuehren
kann und sie mir beim umherdrehen nicht aus der hand faellt .... zb.

Nur n paar Gedanken von mir..... *Rechtschreibfehler inklusive ;)
Ro*

-----------------------------------------------------------------------------



Re^7: Meinungen gefragt (Kessa, 13. Mar 2006, 21:00:48):
~#! rn=Roland rt=1142274944 rg=gilden.kaempfer
~#! tid=1142111906
Ist es die Parierstange, die du meinst?

Die ist bei Paradewaffen nicht nur dazu da, die eigene Hand zu schuetzen,
sondern vor allem, die Klinge des Gegners aus der Bahn zu lenken. Je nachdem,
wie sie geformt ist, kann man die gegnerische Waffe sogar einklemmen (daher
vllt. die Dreizackform, die dir vorschwebt). 

Hier finde ich es ganz gut erklaert, warum eine leichte Waffe zum Parieren
geeigneter ist als eine schwere:

"Wichtig ist es, die gegnerische Waffe nicht auf sich zu ziehen, sondern die
Wucht der Schlaege in Richtung Klingenspitze zu leiten. Dazu ist es
erforderlich, mit dem Kreuz (der Schwerpunkt der Waffe, nahe der Paradestange)
aus dem Zentrum des Koerpers herauszugehen. Es wird empfohlen, den Koerper aus
der Huefte hinter die Waffe in Sicherheit zu drehen, da so der erforderliche
Winkel der Unterarme fast automatisch erreicht wird."
(http://tinyurl.com/e9unc)

Man muss also die eigene Waffe vom eigenen Schwerpunkt entfernen, was mit
einem schweren Zweihaender nicht einfach sein duerfte. Weiterhin benutzt man
sinnvollerweise Paradewaffen als Zweitwaffe - eine weitere oder einen Schild
braucht man ja fuer die eigenen Angriffe. Dolche und andere leichte Einhaender
scheinen mir da doch am besten geeignet zu sein.

Bran, als Zaubi natuerlich richtig Ahnung habend

-----------------------------------------------------------------------------



Re^8: Meinungen gefragt (Orktoeter, 13. Mar 2006, 21:47:13):
~#! rn=Kessa rt=1142280048 rg=gilden.kaempfer
~#! tid=1142111906
Genau.. und zwischen Parade und Angriff immer schoen die Waffe bzw. Schild
wechseln... ach ja, zwischendurch vielleicht noch eine andere Waffe fuer die
besser Finte und eine 4. Waffe fuer den Waffentrick. Ich bin sicher jeder
Gegner wird Verstaendnis haben und in der Zeit des Waffenwechsels still
halten.

*Sarkassmus off*

OrkT.

-----------------------------------------------------------------------------



Re^9: Meinungen gefragt (Taranis, 13. Mar 2006, 22:00:12):
~#! rn=Orktoeter rt=1142282833 rg=gilden.kaempfer
~#! tid=1142111906
Mhmm, so ganz verstehe ich aber gerade nicht, warum Du gerade bran mit Deinem
Sarkasmus bedenkst. Ich finde die Erlaeuterung durchaus treffend.

Taranis

-----------------------------------------------------------------------------



Re^9: Meinungen gefragt (Kessa, 13. Mar 2006, 22:10:26):
~#! rn=Orktoeter rt=1142282833 rg=gilden.kaempfer
~#! tid=1142111906
Du bringst ja durchaus gute Ueberlegungen vor, nur warum im sarkastischen Ton?
Ich habe versucht zu erklaeren, wie eine Parade normalerweise, RL,
funktioniert, denn darum ging es in den letzten Artikeln zu dem Thema. Dagegen
steht, wie die Kaempfergilde angelegt ist. Schnelle Waffenwechsel gehoeren
wohl zur Grundausstattung. Man kann sich natuerlich auch da fragen, wie
realistisch das ist. Oder ob man ein double-wield fuer Kaempfer einbauen
koennte, eben fuer Paradewaffe und Angriffswaffe. Nur fuerchte ich, wenn man
zu viel rumbastelt, wird letztlich eine ganz andere Gilde daraus.

Kessa/Bran

-----------------------------------------------------------------------------



Re^10: Meinungen gefragt (Taranis, 13. Mar 2006, 22:21:01):
~#! rn=Kessa rt=1142284226 rg=gilden.kaempfer
~#! tid=1142111906
Ich will Bran gerade mal wieder zustimmen. Schnelle Waffenwechsel waehrend der
Gegner auf einen einhaut, finde ich auch unrealistisch. Aber sie ausbauen und
durch was anderes zu ersetzen halt ich gerade fuer nicht sehr klug.
Es ist schon in ein paar Artikeln etwas angeklungen: Man sollte einen Umbau
der Gilde nicht zu weit treiben, da besteht durchaus das Risiko, dass eine
alte Gilde wie die Kaempfer das nicht 'ueberlebt'.
Taranis

-----------------------------------------------------------------------------



Re^7: Meinungen gefragt (Gabylon, 13. Mar 2006, 23:00:53):
~#! rn=Roland rt=1142274944 rg=gilden.kaempfer
~#! tid=1142111906
Trotz Deines, aeh, abenteuerlichen Schreibstils, meine ich, den letzten
Deine Punkte richtig verstanden zu haben und finde ihn aeusserst
interessant: nicht nur die Fertigkeit selber, sondern auch den
Waffenskill der Waffe miteinberechnen, mit der man den Waffentrick/die
Finte/die Parade/den Waffenbruch zu machen versucht ist.

Wenn ich den Auftrag haette, das komplette Spellbook der Kaempfer zu
renovieren, wuerde ich sicherlich diese Ueberlegung ernsthaft in Betracht
ziehen. Da das aber nicht der Fall ist, wuerde ich mich gerne auf ein
paar kleine Schoenheitskorrekturen beschraenken.
Zardoz hat mit Sicherheit wahnsinnige Arbeit in diese Gilde gesteckt und
mit jeder Zeile Code, die ich lese, wird mein Respekt vor ihm groesser.
Aber selbst er war bestimmt nicht immun gegen Fluechtigkeits-/Denk-/
oder uebermuedungsbedingte Fehler.
Natuerlich hat er mit der Kaempfergilde ein Meisterstueck abgeliefert.
Doch sollte man deshalb noch (hinter-)fragen duerfen, ob der eine oder
andere Punkt denn wirklich so seine spiel- und menschenlogische Berechtigung
hat.


Dann wuerde ich gerne noch ein paar Worte zu den Stufen und EP verlieren.

Die AP-Anforderungsminderung betrifft nur die Raenge ab dem 15. GL.
Von "kleinen Spielern" wuerde ich ab Level 38/15 nicht mehr unbedingt reden
wollen. Die AP wurden gemindert und auf einen festen Wert gesetzt, weil sie

a) mittlerweile viel zu ueberzogen waren und
b) mit jedem neuen Abenteuer gestiegen sind.

Das haette irgendwann dazu gefuehrt, dass man als Kaempfer von Quest zu Quest
gezogen waere und mehr oder weniger lustvoll Abenteuer haette bestehen
muessen, nur um in seiner *Gilde* weiterzukommen (von KL-Foerderung bis hin
zu "tm xyz kannst du meinen char mal eben durch inferno jagen? brauche noch
320 AP *aechz*" will ich gar nicht reden).

Klar, Abenteuer gehoeren dazu.
Jedoch man sollte nicht den Hauptgrund eines Gildenbeitritts der meisten aus
den Augen verlieren: Kampfkraftsteigerung. Das geschieht in den unteren
Raengen der meisten Gilden noch nicht so intensiv, weshalb man sich hier
noch auf Abenteuer und Forschen (man kennt das Mud ja erst zu einem
Bruchteil), konzentrieren kann. Deshalb auch die Stufenanforderungserhoehung
in den unteren Raengen. Man soll sich hier mehr aufs Forschen/Questen
konzentrieren, als seine gerade erlernten Waffenskills zu maxen.

Ab GL 15 kehrt sich der Spiess dann so langsam um. Man hat schon einige
Skills, die geuebt werden wollen und es "lohnt" sich auch langsam, denn man
wird zunehmend angesprochen, bei groesseren Kaempfen zu helfen. Fuer Abenteuer
und Forschen ist nun nicht mehr ganz so viel Zeit wie frueher. Zwar sollen sie
nicht an Bedeutung verlieren, sollen aber auf der anderen Seite auch kein
staendiger Nicht-Befoerderungsgrund sein. Ich denke, mit 100 AP pro Stufe kann
man gut leben. Wer _mehr_ questen moechte, kann das ja immer tun.


Zum Schluss noch eine kleine Bemerkung zur gerade laufenden Diskussion:

Bitte bleibt beim Thema. Z.B. ist die Frage, ob schnelle Waffenwechsel hier
in dieser Gilde so bleiben, obwohl unrealistisch, gaenzlich unsinnig zu
eroertern. Selbstverstaendlich wird das so bleiben.


Gabylon

-----------------------------------------------------------------------------



Re^4: Meinungen gefragt (Zook, 13. Mar 2006, 23:04:51):
~#! rn=Gabylon rt=1142287185 rg=gilden.kaempfer
~#! tid=1142111906
"man soll sich hier mehr aufs forschen/questen konzentrieren" ... ich 
frag mich ja immer woher dieser normative zug kommt, was kleine spieler
machen "sollen". ich hab genug spieler kennengelernt, die auch mit 
lvl <10 lieber metzelten als questen/forschen und denen das oh wunder
sogar spass machte. ich stehe spielspassvorschriften immer recht
reserviert gegenueber. zook.

-----------------------------------------------------------------------------



Re^8: Meinungen gefragt (Zook, 13. Mar 2006, 23:09:32):
~#! rn=Gabylon rt=1142287253 rg=gilden.kaempfer
~#! tid=1142111906
> Von "kleinen Spielern" wurde ich ab Level 3815 nicht mehr unbedingt
> reden wollen.

Nun ja, der Level 38 stammt doch von Dir, oder? Frueher waren die
Anforderungen laut Deiner Tabelle doch Lvl. 20, 1 Mio XP. Aufgerissen 
haben doch die Abenteuerpunkte und die Seheranforderungen die Luecke
zwischen 14 und 15. Ich haette mir eher gewuenscht, die Luecke anders
zu schliessen als einfach die Stufenanforderungen nach oben zu schrauben.

Zook.

-----------------------------------------------------------------------------



Re^8: Meinungen gefragt (Taranis, 13. Mar 2006, 23:16:14):
~#! rn=Gabylon rt=1142287253 rg=gilden.kaempfer
~#! tid=1142111906
>Jedoch man sollte nicht den Hauptgrund eines Gildenbeitritts der meisten aus
>den Augen verlieren: Kampfkraftsteigerung.
Also, ehrlich gesagt, klingt das fuer mich etwas so, als seien die Gilden nur
als kampfkraftsteigerndes Anhaengsel/Etwas/Dings da. So empfand ich das nie.
Ich habe nix dagegen, dass Gilden die Kampfkraft steigern oder bei vielen
dieser Grund mitspielt, aber ich bin mir nicht sicher, ob das der Hauptgrund
fuer Gilden bei den meisten Spielern sind. Und falls dem so ist, faende ich es
zumindest merkwuerdig.
Aber es kann natuerlich sein, dass ich Dich da etwas missverstanden habe und
Du das so drastisch nicht gemeint hast.
Taranis

-----------------------------------------------------------------------------



Re^5: Meinungen gefragt (Ark, 13. Mar 2006, 23:24:02):
~#! rn=Zook rt=1142287491 rg=gilden.kaempfer
~#! tid=1142111906
Na schaun sie ... (so fing unser Mathe Prof. immer an, wenn er grossartig
einen Studenten nach einer kniffligen Beweisfuehrung fragte und man die
Stecknadel haette fallen hoeren koennen :-) )
Alles ist voneinander abhaengig. Nur metzeln wird nicht klappen ... die
Aufstiegsmoeglichkeit ist muehsam und begrenzt ... man braucht einigermassen
Attribute, um weiterzukommen. Am einfachsten geht es (gewollt) durch Quests
und Forschen. Normativ? Ja, zu einem gewissen Punkt schon. Warum auch nicht?
Man animiert dazu, neue Gebiete zu erkunden/und neue potentielle Gegner.
Der Sinn ist schon absichtlich nicht der, dass man die SSP zum xten Mal hoch
und runter schubbert und die Kampfkraft an der benoetigten Zeit, einen
Eisgiganten zu zerschmuetzeln, zu messen. Auf der anderen Seite wird man nun
das Kaempfen nicht ganz abstellen wollen, denn hier wird vor allem das M in
Mud gefoerdert, was mir als Spieler gut gefaellt. Und seit dem Teamkampf hat
auch jeder was davon.
Wenn man nun innerhalb einer Gilde sowohl das eine als auch das andere
fordert, ist dies logisch ... und in einem gewissen Mass selbstverstaendlich.
Foerdert man nur das Metzeln/macht es zur Hauptanforderung, hat es imho das
altbekannte (Achtung, 5 Euro Wort) Wurstsehertum zur Folge, meine Meinung.
Uebrigens, die Bezeichnung Questmud wuerde ich fuer das MG trotz der ueber 10
Jahre Bestehen auch noch heute ohne Zoegern in den Mund nehmen. Und aus meiner
Sicht kann das auch so bleiben. Und ich will keinem vorschreiben, questen zu
_muessen_. Man kommt halt nur langfristig wohl nicht ueber die SSP (mittlere
Level) hinaus. Aber damit wird man dann eben leben muessen. No pain, no gain.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^9: Meinungen gefragt (Gabylon, 13. Mar 2006, 23:26:32):
~#! rn=Zook rt=1142287772 rg=gilden.kaempfer
~#! tid=1142111906
Nein, nicht ganz.

Die Stufe 38 und EP 1MEP fuer GL 15 habe ich soweit den aktuellen
Seheranforderungen entnommen. Ich wollte den Uebergang zwischen 14
und 15 so unkompliziert wie moeglich gestalten, indem ich die spieler
"von klein an" auf Level 38 hinquesten/forschen/metzeln lasse.
Ein Spieler mit 20/14, der auf Gl 15 kommen will, haette noch 18
Spielerstufen vor sich und waere weitaus gefrusterer, als wenn
er ans kontinuierliche Stufensammlen gewoehnt waere.

Ich weiss, natuerlich macht man dem Spieler dann gewisse "Vorschriften".
Aber ist das nicht ueberall so? Ein Spieler kann sich erst ab einem
gewissen Level den Titel selber setzen - frueher sogar erst ab Seher.
Warum darf das ein Level-1-Spieler nicht? Warum nehmen wir ihm den
Spass mit einem Titel durch die Gegend zu laufen? Warum machen wir
ihm die Vorschrift, erst mit x Stufen das machen zu duerfen?
Ja, sehr ketzerisch, sicher. Aber daraus wuerde es im Prinzip hinauslaufen.


Gabylon

-----------------------------------------------------------------------------



Re^10: Meinungen gefragt (Muadib, 14. Mar 2006, 00:15:47):
~#! rn=Gabylon rt=1142288792 rg=gilden.kaempfer
~#! tid=1142111906
der grosse frust zwischen lvl 14 und 15 ist sicher unbestritten nach den alten
bedingungen.
der ist nun weg.
dafuer ist er feinsaeuberlich auf die kleineren gildenstufen verteilt.
zumindest scheint es mir so

die croftsche frage bleibt uebrigens noch offen.
warum darf man nun erst spaeter in die gilde?

-----------------------------------------------------------------------------



Re^7: Meinungen gefragt (Morgoth, 14. Mar 2006, 08:01:54):
~#! rn=Humni rt=1142273113 rg=gilden.kaempfer
~#! tid=1142111906
Aehhh, IIRC bist DU doch der Gilden-EM und somit der, der entscheidet o.O ?!

M*

-----------------------------------------------------------------------------



Re^8: Meinungen gefragt (Darklor, 14. Mar 2006, 13:12:04):
~#! rn=Morgoth rt=1142319714 rg=gilden.kaempfer
~#! tid=1142111906
Mich stoert ja, dass das stopfen der Luecke auf den Ruecken der kleinen Chars
ausgetragen wird, die von klein an in die Gilde gewechselt sind, weil es dort
am Anfang so einen schoenen flachen Anstieg zu den naechst hoeheren Stufen
hatte fast wie eine der offiziellen Anfaengergilden ohne deren langweilige
Gildenatmosphaere, d.h. sehr Anfaengerfreundlich. Und es nich so ins Gewicht
viel, das man auf diesen Stufen noch nich wirklich was konnte, selbst im
Vergleich zu den offiziellen Anfaengergilden. Und jetzt? Jetzt kann man noch
viel laenger nix und es ist auch noch schwieriger einen Einstieg zu finden. -
(Dann kann man aber auch gleich Tanji werden, wo man als Kleiner auch lange
Zeit nix kann und auch nich weiterkommt.)

Darklor

-----------------------------------------------------------------------------



Re^5: Meinungen gefragt (Roland, 14. Mar 2006, 16:29:19):
~#! rn=Zook rt=1142287491 rg=gilden.kaempfer
~#! tid=1142111906
zeigt auf.
Genau zu den von Zook angesprochenen Leuten gehoere ich und ich schaeme mich
nicht das zu zu geben. 
Ich mag metzeln, ich wuerd is ununterbrochen tun wenn ich nicht laufend
sterben wuerde.
Ich queste zwar auch und ich hab mir vorgenommen das ich irgendwann mal alle
quest in meiner liste geloest hab, aber das wird noch laaaange dauern. Jetzt
muss ich ja nciht mehr umbedingt.
Und das bringt mich jetzt auch zu einem Kommentar zu 103 von Gab.
Ich finde die umstellung der lvl-anforderungen gut. 
Wenn ich bedenke wie lange ich gebracht hatte um seher zu werden. Ich weis
garnicht mehr genau auber ueber lvl 40 war ich da sicher. Auch ein Grund
dafuer ist weil ich cniht gerne queste doer Forsche. wodurch viel fp nicht an
mich gegangen sind.
Und es war schon sehr anstraengent den 2000 oder 3000sensten kill als
Auszubildender zu machen waerend alle an mir vorbei gezogen sind.
Wenn die anforderungen an AP und LV und spaeter nun auch noch EP in einem
guten ryhtmuss steigen und sich nach oben hin wo man eh er metzelt (ich zm),
kann das nur gut sein, um ein Gleichgewicht zwischen metzelnden und
forschenden kaempfern zu finden.

Zu 101 von Taranis: Natuerlich war das mit dem einziegen ziel welches Gabylon
nannte die Kampfkraftsteigerung bildlich gesprochen (das hoffe ich zu
mindestens)
Natuerlich ist eine der grossen Gilden immer etwas staerker als eine spass
Gilde (wie es in meinen augen bei manchen nun derzeit nur noch ist). Was aber
auch an der weiterentwicklung der npc und gleichbleibung der Gilden ist
(Schuetler zum beispiel)
Aber man sollte seine Gilde immernoch 'Leben'
Ich persoenlich bin ein ueberzeugter Kaempfer. Mir gefaellt das system was zu
tun und zu lernen ist. Auch das man sich im Kampf sehr gut unterstuetzen kann
und ergaenzen kann. Macht das leben als Kaempfer doch spannender und auch
stielvoller.

Das ausbildungssystem, gerade fuer 'erstis' kann zwar sehr nerfig sein, da es
oft an nachwuchs fehlt, oder von groesseren zweitikaempfern / Ausbildern als
laestig empfunden wird und dann nur so standartzeug abgearbeitet wird. Aber es
gehoert irgendwie dazu. Und wenn mehr Leute sich als 'ersti' entscheiden ein
kaempfer zu sein. und das auch konseqwent durchziehen kann und wird das
Kaempfersystem funktionieren. 

Gerade aus diesem grund sollte es nciht so strickt getrennt werden erst
questen / froschen .. und spaerter kaempfer ... das MG ist derzeit so gross
gewurden das man das sowieso nciht mehr realisieren koennte. und somit ist die
derzeitige anpassung nur sinnvoll.

Kleine bemerkung noch zum wt/ft zu Gablyon. Das man fuer das einbeziehen
meiner vorschlaege so grosswiege umbauten machen muss wuste ich nicht. kenn
mich mit dem lpc nciht aus und auch keinen plan wie man hier uebehaupt was
baut. alles in allem sollte man nur aufpassen, dass man nicht zuviel vom
Gedanken der ZardozKaempfer veraendern sollte. Das anpassungen kommen und auch
gut sind versteht sicher jeder. aber das sollte mit bedacht geschehen. das war
mein gedanke dabei und deswegen ehr der vorschlag mit einbezug der skills
anstelle waffengattungen zu beforzugen, bt andere komplett aus der derzeitigen
bonus und nutzenreihe zu entziehen.

''auch in hier koennte ihr meine rechtschreibfehler wieder fuer euch behalten
wenn ihr wollt ;)

Roland von Gilead

-----------------------------------------------------------------------------



Re^6: Meinungen gefragt (Ceilo, 14. Mar 2006, 18:31:03):
~#! rn=Roland rt=1142350159 rg=gilden.kaempfer
~#! tid=1142111906
Auch mal ein paar Anmerkungen zur laufenden Diskussion:

Erstens: Ob man allgemein vor allem der Kampfkraft wegen in eine Gilde geht,
laesst sich ja bezweifeln, dass bei einer Kaempfergilde nun mal das Kaempfen
im Vordergrund steht, liegt aber nahe.
Demnach finde ich es auch richtig, wenn der Aufstieg in der Gilde vor allem
mit den erworbenen Kampffaehigkeiten und -erfahrungen zusammenhaengt.
Anforderungen ans Questen und Forschen sollte es geben  (Verstandesklarheit
und Sinnesschaerfe...) aber in Massen

Zweitens: Kampferfahrung zeigt sich m.E. nicht gar so sehr in XP. Ein und
dasselbe Monster hundertmal geplaettet zu haben mag eine ordentliche Leistung
fuer  einen Prolkh'Weths sein. Es zehntausendmal getan zu haben, qualifiziert
aber nicht zum Offizier.
Ein Offizier zeichnet sich eher dadurch aus, dass er unterschiedliche Taktiken
und Strategien kennt und anwenden kann, was sich eben durch Erfolg in
unterschiedlichen  Kampfsituationen  - sprich Erstkills - belegen laesst.

Drittens: Neben den allgemeinen Quests gibt es ja auch noch die Gildenquests,
die staerker aufs Kaempferdasein ausgerichtet sind, sich aber keineswegs auf
Klopperei beschraenken. Wenn  Brieseltrim also meint, dass bei den neuen
AP-Anforderungen
Verstandesklarheit und Sinnesschaerfe zu kurz kommen, dann soll er seine Leute
halt verstaerkt auf Gildenquests schicken.

Ceilo

-----------------------------------------------------------------------------



Re: Meinungen gefragt (Seleven, 16. Mar 2006, 15:26:05):
~#! rn=Gabylon rt=1142111906 rg=gilden.kaempfer
~#! tid=1142111906
1. Dolche sind auf Grund ihrer Groesse nicht sehr zerbrechlich und da sie 
   aus dem selben Grund einfacher zu Handhaben sind, laesst sich IMHO auch
   ein Schlag einfacher abfangen. Fazit: Kann man lassen
2. Guter Punkt.
3. Hierzu muss ich mir noch ein paar Gedanken machen :)
4. Ich sehe das anders: Um eine Zweihandwaffe zu halten muss ja schon mehr 
   Energie aufwenden, als fuer eine (kleine) Einhandwaffe => Trifft ein 
   Schlag die Zweihandwaffe, faellt diese einfacher aus der Hand.

Seleven, benebelt.

-----------------------------------------------------------------------------



parade (Muadib, 16. Mar 2006, 16:44:07):
Hi,

eine Anmerkung zur Parade am Rande.
Wenn man anfaengt die Guete der Waffen gegeneinander abzuwaegen, so sollte man
imho auch den jeweiligen Skill der Kombatanten gegeneinander abwaegen.
Ein Schwertmeister mit Kuchenmesser gegen einen Gaertner mit Edelschwert sei
als Beispiel genannt.
Ich glaube nicht, dass der Gaertner wirklich erfolgreiche Paraden hat.


-----------------------------------------------------------------------------



Re: parade (Roland, 16. Mar 2006, 16:50:01):
~#! rn=Muadib rt=1142523847 rg=gilden.kaempfer
~#! tid=1142523847

Gutes Argument, aber ich denke das wird sich noch schwerer realisieren lassen
als mein vorschlag dein eigenen waffenskill mit ein zu rechen ... sag ich
jetzt mal so blauaeugig dahin
Ro

-----------------------------------------------------------------------------



Re: Re: parade (Muadib, 16. Mar 2006, 16:55:01):
~#! rn=Roland rt=1142524201 rg=gilden.kaempfer
~#! tid=1142523847
das glaub ich auch

-----------------------------------------------------------------------------



Re^3: parade (Roland, 16. Mar 2006, 17:25:29):
~#! rn=Muadib rt=1142524501 rg=gilden.kaempfer
~#! tid=1142523847
Alles bleibt anders, und doch wies ist!

 basda

*grins

-----------------------------------------------------------------------------



Re^4: parade (Karis, 16. Mar 2006, 17:43:18):
~#! rn=Roland rt=1142526329 rg=gilden.kaempfer
~#! tid=1142523847
Ich bin ja nu schon lange aus dem Geschaeft draussen, aber trotzdem
ein paar kleine Anregungen:
* Die Eintrittshuerde per Level zu erhoehen, finde ich sehr schade.
* Die Erhoehung der XPs besonders in den ersten Leveln finde ich 
einfach unnoetig. Die Leute sollen ihre Skills lernen, das kommt alles 
von alleine. Skills als Huerde lasse ich gerne gelten.
* was ist eigentlich mit dem Zwei-Waffen-Kampf? Irgendwann sollte man 
schon mal daran denken, dass ein guter Soldat mit zwei Einhaendern
kaempfen kann - nicht nur mit Waffe und Schild.
* Die Diskussion, welche Waffe jetzt realistisch geeignet ist, eine Parade
zu machen, halte ich eigentlich fuer ueberfluessig. Bitte, wenn jetzt
noch jemand eine Physik-Engine einbauen moechte... ist ja schwer in Mode
in den heutigen Games. Aber ein bisserl Fantasy moecht doch schon sein.
Insebesondere, nachdem das jetzige System recht gut ausbalanciert ist.
Ich wuerde gut drueber nachdenken, ob man da so viel drehen sollte!

Auch unter dem Aspekt, dass die Spielerzahl abnimmt. Viele der alten Spieler
haben sich im Laufe der Zeit an einiges gewoehnt und haben schlicht und
ergreifend keine Lust mehr, ein neues System zu lernen (ich z.B.
hatte.... ach, lassen wir das...)

Hingegen faende ich es viel wichtiger, die oberen Raenge mal genauer zu
definieren :) Bis lvl27 ist da doch genug zu tun, oder? ;)

Ciao,
Karis

-----------------------------------------------------------------------------



Re^6: Meinungen gefragt (Seleven, 16. Mar 2006, 18:38:27):
~#! rn=Orktoeter rt=1142272811 rg=gilden.kaempfer
~#! tid=1142111906
Als Hobbiterstie finde ich es wichtig, dass eine Gilde moeglichst gut auf die
verschiedenen Rassen abgestimmt _bleibt_. Wenn jemand eine neue Gilde
programmiert, dann kann er das ausbauen, aber eine Gilde so zu modifizieren,
dass eine bisher gut eingepasste Rasse ploetzlich Nachteile hat faend ich
unangebracht. Fuer Hobbits gilt dies im Besonderen, weil sie meiner Meinung
nach eh genug Nachteile haben und ich ausser Trves und Tanjian keine wirklich
guten Vertreter dieser Rasse kenne.
Zur Hobbitmentalitaet nach Tolkien: Hobbits tragen im MG Schuhe, muessen nicht
dauernd ans Essen denken und haben so weit ich weiss auch nicht die Faehigkeit
im dunkeln besser zu sehen, als andere Rassen, oder sich "lautlos zu bewegen"
(das geht im MG ueberhaupt nicht).
So, das musste sein, auch wenn ich vom Thread abweiche - sorry.
Seleven alias Terry.

-----------------------------------------------------------------------------



Re^7: Meinungen gefragt (Vector, 16. Mar 2006, 20:42:15):
~#! rn=Seleven rt=1142530707 rg=gilden.kaempfer
~#! tid=1142111906
die diskussion hat doch eigentlich nur 2 sachen gezeigt.

1. es gibt zig verschiedene meinungen und ansaetze, die auch
groesstenteils gar nicht schlecht begruendet wurden.

2. alles so lassen wie bisher waere wohl das beste.

-----------------------------------------------------------------------------



Re^8: Meinungen gefragt (Orktoeter, 16. Mar 2006, 20:49:17):
~#! rn=Vector rt=1142538135 rg=gilden.kaempfer
~#! tid=1142111906
Ich antworte mal auf den letzten Artikel, auch wenn es um einen anderen geht.
Von wegen 2-Waffen-Kampf. Ich mag mich irren, aber das ist nichts was mal eben
so in die Kaempfergilde eingebaut werden koennte sondern das erfordert ein
komplett neues Kampfsystem fuer das gesamte MG.

OrkT.

-----------------------------------------------------------------------------



Re^8: Meinungen gefragt (Roland, 16. Mar 2006, 23:24:24):
~#! rn=Vector rt=1142538135 rg=gilden.kaempfer
~#! tid=1142111906
Da muss ich jetzt mal den vorrednern zustimmen.

Heisse wirre reden wo zum schluss eh nur wieder maulerei gibt wiel es immer in
den augen welcher unnoetig war genau das zu aendern weil es ja ok war. sotte
in der frage von parade und wafftrick wies grad ist dazufuehern das zu lassen.

zweischwerterkampf .. nunja, das ist nicht ganz die mentalitaet enien
'richtigen' kaempfers .. da guckst du zuviele Asiafilme, allerding waere der
ausbau der hoeheren lvl und sei es mit brachialen anforderungen (bitte nciht
zu oertlich nehmen) sicher sinnvoller.

 :schliesst sich der Meinung eingier Vorredner an.

Ro*

-----------------------------------------------------------------------------



Re^8: Meinungen gefragt (Knurps, 17. Mar 2006, 03:46:49):
~#! rn=Vector rt=1142538135 rg=gilden.kaempfer
~#! tid=1142111906
> die diskussion hat doch eigentlich nur 2 sachen gezeigt.

> 1.....
D'accord

> 2. alles so lassen wie bisher waere wohl das beste.
Das sehe ich ueberhaupt nicht. Wie kommst du darauf, dass die Diskussion das
zeigt?


-----------------------------------------------------------------------------



Re^8: Meinungen gefragt (Liara, 17. Mar 2006, 21:28:21):
~#! rn=Gabylon rt=1142287253 rg=gilden.kaempfer
~#! tid=1142111906
Zitat: 'Jedoch man sollte nicht den Hauptgrund eines Gildenbeitritts der
meisten aus den Augen verlieren: Kampfkraftsteigerung.'
Woher weisst du das?

-----------------------------------------------------------------------------



Re^9: Meinungen gefragt (Darklor, 17. Mar 2006, 21:42:31):
~#! rn=Liara rt=1142627301 rg=gilden.kaempfer
~#! tid=1142111906
Weil das der Sinn einer nicht Anfaengergilde is?

Darklor

-----------------------------------------------------------------------------



Re^10: Meinungen gefragt (Kessa, 17. Mar 2006, 22:15:57):
~#! rn=Darklor rt=1142628151 rg=gilden.kaempfer
~#! tid=1142111906
Das trifft offenbar nicht auf jeden zu.

-----------------------------------------------------------------------------



Re^11: Meinungen gefragt (Darklor, 18. Mar 2006, 00:52:50):
~#! rn=Kessa rt=1142630157 rg=gilden.kaempfer
~#! tid=1142111906
Aber dann koennten sie ja auch in n Anfaenger bzw. Spassgilden
bleiben/gehen...

Darklor

-----------------------------------------------------------------------------



Re^10: Meinungen gefragt (Muadib, 18. Mar 2006, 01:19:22):
~#! rn=Darklor rt=1142628151 rg=gilden.kaempfer
~#! tid=1142111906
aber die trves sind doch eine sehr schoene anfaengergilde. man waechst mit den
leveln.
ok, durch den erhoehten einstiegslevel und die gestreckten abstaende leidet
die anfaengerfreundlichkeit, aber bisher war sie es denn doch

-----------------------------------------------------------------------------



Re^12: Meinungen gefragt (Lurchi, 18. Mar 2006, 09:12:34):
~#! rn=Darklor rt=1142639570 rg=gilden.kaempfer
~#! tid=1142111906
Ich find das immer wieder toll, wenn jemand anderen vorschreiben will, was
Spass ist. 
Wer sagt Dir denn, dass nicht viele Spieler den Weg in den Kaempfergilde
gefunden haben, weil sie sich von Log und seinen Werbeprospekten ueberzeugen
liessen und ihren Spass darin sehen in einer Gemeinschaft gross zu werden, von
Gildenmitgliedern ausgebildet zu werden - schliesslich ist das hier ein Mud
und kein Singleplayer-Game. Und es gibt auch sicherlich Leute, die lieber mit
Waffen hantieren, als mit Zauberspruechen um sich werfen. Allerdings nicht,
weil sie sooooo stark werden wollen, sondern einfach, weil sie diese _Art_ des
Kaempfens bevorzugen.
 
Lurchi

-----------------------------------------------------------------------------



Re^12: Meinungen gefragt (Kessa, 18. Mar 2006, 09:31:33):
~#! rn=Darklor rt=1142639570 rg=gilden.kaempfer
~#! tid=1142111906
Meine Guete. Ich dachte immer, ich waere Bierschuettler geworden, weil das
lustig klang (und auch war), Zauberer, um mal richtig zu zaubern, Kleriker und
Tanjian, einfach um zu sehen, wie das so ist. In keinem Fall, um supertoll
kaempfen zu koennen. Und mein Bruder waere Abenteurer geblieben, weil ihm
genau das gefaellt, und dass den da wohl allenfalls eine Gilde der
Geschaeftsleute rauslocken koennte. Wenn das aber doch in Wirklichkeit alles
ganz anders ist... da muss ich doch nochmal drueber nachdenken.

Bran, eine Spassbalance erwaegend

-----------------------------------------------------------------------------



Re^13: Meinungen gefragt (Ark, 18. Mar 2006, 10:56:41):
~#! rn=Kessa rt=1142670693 rg=gilden.kaempfer
~#! tid=1142111906
Also: Zauberer zaubern, Kaempfer kaempfen, Bierschuettler schuetteln Bier,
Abenteurer abenteuern und Tanjian .... ach, von denen weiss man nicht so
genau, was sie tun :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^14: Meinungen gefragt (Lurchi, 18. Mar 2006, 10:57:47):
~#! rn=Ark rt=1142675801 rg=gilden.kaempfer
~#! tid=1142111906
Du vergisst in der Aufzaehlung die Katzenkrieger... :)

Lurchi

-----------------------------------------------------------------------------



Re^15: Meinungen gefragt (Chagall, 18. Mar 2006, 10:59:07):
~#! rn=Lurchi rt=1142675867 rg=gilden.kaempfer
~#! tid=1142111906
Es gibt aktive Katzenkrieger? 

MC

-----------------------------------------------------------------------------



Re^15: Meinungen gefragt (Muadib, 18. Mar 2006, 12:28:05):
~#! rn=Lurchi rt=1142675867 rg=gilden.kaempfer
~#! tid=1142111906
die waren noch nicht geschreddert?

-----------------------------------------------------------------------------



Re^13: Meinungen gefragt (Taranis, 18. Mar 2006, 13:19:35):
~#! rn=Lurchi rt=1142669554 rg=gilden.kaempfer
~#! tid=1142111906
Ich hatte ja auch schonmal was zum Thema geschrieben, dass ich bezweifle, dass
Kampfkraftsteigerung bei allen der primaere Grund ist, in eine andere Gilde
einzutreten. Bzw. hoffe, dass dem nicht so ist. ;-) Ich stimme hier mit Lurchi
und Bran/Kessa voellig ueberein. Auch bin mal Zaubi geworden, weil ich einfach
in eine magische Gilde gehen wollte. Die Alternative waeren die Chaoten
gewesen. Damals hab ich aber ueber das Mud und seine Gilden noch nicht viel
gewusst, geschweige denn, welche Gilden hier mehr Kampfkraft als andere
"bereitstellt".
Wenn man per Gilde nur mehr Kampfkraft verteilen will, ist das alles viel
einfacher und man koennte sich als Gildenmagier viel Arbeit sparen. Ich bin
froh, dass das viele Gildenmagier anders gesehen haben und sich offenbar viel
Gedanken ueber andere Dinge gemacht haben und so zumindest in vielen Gilden
schoene Beschreibungen und damit eine schoene "Atmosphaere" aufkamen, gerade
zu nennen die Kaempfers und die Chaoten (zu meinem Leidwesen ja leider weniger
die Zaubis).
Ok, genug geschwafelt. ;-)

Taranis

-----------------------------------------------------------------------------



Re^11: Meinungen gefragt (Darklor, 18. Mar 2006, 13:21:26):
~#! rn=Muadib rt=1142641162 rg=gilden.kaempfer
~#! tid=1142111906
Genau diese Erhoehung hab ich ja bemaengelt...

Darklor

-----------------------------------------------------------------------------



Re^13: Meinungen gefragt (Darklor, 18. Mar 2006, 13:27:48):
~#! rn=Lurchi rt=1142669554 rg=gilden.kaempfer
~#! tid=1142111906
Genasuo toll find ich es, wenn immer wieder versucht wird aus diesem Mud ein
Quest- und Forschmud zu machen, denn die richtige Kombination ist ja was den
Reiz ausmacht - und nur questen und forschen is einfach nur nervig, oede und
zum grossen Teil auch noch frustrierend, wenn man mal wieder in einer Quest
verzweifelt festhaengt... - kaempfen und skillen is zwar oft nich so spannend,
aber dafuer sieht man dabei, dass es vorangeht.

Darklor

-----------------------------------------------------------------------------



Re^12: Meinungen gefragt (Ark, 18. Mar 2006, 13:28:52):
~#! rn=Darklor rt=1142684486 rg=gilden.kaempfer
~#! tid=1142111906
Was ist dagegen zu sagen, erstmal ein wenig als Abenteurer durch die Welt zu
ziehen? Man verpasst jetzt nicht so dramatisch viel, wenn man sich einiges
andere vorher anschaut, bevor man sich fuer eine andere Gilde entscheidet. Bis
Stufe 5 wuerde ich sagen, muesste man sich dann auch ueberlegt haben, ob einem
das Mud als solches gefaellt oder nicht.
Wenn man dann fragt, welche Gilde schoen ist (und keinem
"meinegildeistdiebestenichtzudenzauberernkaempfersinddoof" Argument erliegt),
werden einem Vor- und Nachteile der verschiedenen Gilden sicher hilfsbereit
erklaert ... oder man hat schon mittlerweile eine Vorstellung, was man hier
mal machen will. Auch die Moeglichkeit, dass einem nach kurzer Zeit die Gilde
null gefaellt, ist vielleicht etwas hoeher, wenn man gleich mit Level 1 dort
Mitglied wird.
Insofern also keine Bedenken, finde ich.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^14: Meinungen gefragt (Ark, 18. Mar 2006, 13:30:08):
~#! rn=Darklor rt=1142684868 rg=gilden.kaempfer
~#! tid=1142111906
Ehm, das war vom Konzept her sicher so, erst spaeter kam mit den Gilden auch
der Aspekt des Kaempfens. Also wird nicht "versucht", sondern es ist/war schon
immer so.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^15: Meinungen gefragt (Roland, 18. Mar 2006, 13:43:55):
~#! rn=Ark rt=1142685008 rg=gilden.kaempfer
~#! tid=1142111906

Also das mit dem Eintritt erst bei lvl 5, darin sehe ich keine
Verschlechterung der Gilde, des Gildenflairs.
Da man man Anfang eh nur Waffentraining hat, und das auch noch LvL gebunden
ist, kann es auch nerfig sein wenn ich in der gilde bin, und ueberhaupt nciht
vorran komme weil ich noch zu klein bin. und auch bei div. miniquests (wichte)
zum beispiel, was nun ja mal devinitiev in nem anfaengergebiet ist, muss
gekaempft werden. und dann ist man in der gilde wo man wegen des lvls nur nur
auf 10% waffe kommt und damit nur kitzelt und haucht. Das ist auch
frustrierend. Ausserdem ist 'sich ausbilden lassen' als lvl 2 ohne zts
gefunden zu haben. auch sehr nerfig, wenn man zum 12ten mal an der 2ten hyaene
tanken muss. grade wenn 'erstikleinikaempferausbilder' -
erstinochkleinierazubie' durchs mud schleift. somit ist doch lvl 5 garnicht
mal schlecht um das leben in der gilde als waffenknecht sogar noch zu
erlecihter. Muadib muss ich zustimmen. man waechst sehr gut mit der gilde,
aber auch wiedersprechen: die gestreckten lvl sind auch gut um seine skills
erst mal auf ein guten stand zu bringen als einfach durch die gildenlvl zu
rennen um dann fest zu stellen das man lvl 22 ist und alle skills nur
mittelmaessig behaerscht, und das ueben in dem lvl viel schlechter geht als in
dem lvl wo man den skill lernt. 

Und nun nochmal im kaempferstyle
 neues Aufstigssystem  - Gut
 Skillveraenderung (finte parade) - Boese
 lvl 24 baun - Gut
 solches hickhack hier - boese
 
 Hey Progg mal wer handzettel, das ich neue werden kann!

Roland

-----------------------------------------------------------------------------



Re^16: Meinungen gefragt (Darklor, 18. Mar 2006, 13:48:57):
~#! rn=Roland rt=1142685835 rg=gilden.kaempfer
~#! tid=1142111906
Mit den Skills hat ich so noch nie grosse Proleme als kleiner, nur mit dem
Questen fuers naechste Level...

Darklor

-----------------------------------------------------------------------------



Re^16: Meinungen gefragt (Ark, 18. Mar 2006, 13:51:39):
~#! rn=Roland rt=1142685835 rg=gilden.kaempfer
~#! tid=1142111906
Verbesserung: im WWW muss man nicht metzeln. Im Forst der Silberseide schon.
Aber auch da ist es so, dass die kleinen Spinnen niedrigeren Spielern liegen
sollten, egal, ob sie tolle oder weniger tolle Waffen haben. Es sollte ja auch
eine Herausforderung sein, jedenfalls kam vor geraumer Zeit mal die Frage nach
einem Anfaengermetzelgebiet ... und da verstehe ich keine Bienchen oder
Ameisen :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Ich will ... (Roland, 18. Mar 2006, 15:41:11):
... die Spendenquest wiederholen.
... mehr Ordenverdienen duerfen.

... weniger komische sachen sagen.

;)

-----------------------------------------------------------------------------



Re: Ich will ... (Orktoeter, 18. Mar 2006, 15:46:35):
~#! rn=Roland rt=1142692871 rg=gilden.kaempfer
~#! tid=1142692871
Naja, den gleichen Orden mehrfach faende ich langweilig, aber fuer mehr Sachen
(die evtl. noch zu proggen sind) Orden zu vergeben und dann eine Art
Ordensband das jeder Kaempfer tragen kann und auf dem er seine Auszeichnungen
zur Schau stellen kann, das haette schon etwas denke ich.

OrkT.

-----------------------------------------------------------------------------



Re: Re: Ich will ... (Roland, 18. Mar 2006, 15:48:13):
~#! rn=Orktoeter rt=1142693195 rg=gilden.kaempfer
~#! tid=1142692871

wow orktr. mal ne zustimmung das ist selten .  na wenns jetzt nix wird.
*

-----------------------------------------------------------------------------



Re^3: Ich will ... (Ceilo, 18. Mar 2006, 16:18:23):
~#! rn=Roland rt=1142693293 rg=gilden.kaempfer
~#! tid=1142692871
Den gleichen Orden mehrmals zu bekommen waere natuerlich bloed, aber warum
nicht mehrere Stufen eines Ordens? Fuer das Sportabzeichen gibt es das ja auch
schon.

Ceilo

-----------------------------------------------------------------------------



Re: Ich will ... (Croft, 18. Mar 2006, 16:32:38):
~#! rn=Roland rt=1142692871 rg=gilden.kaempfer
~#! tid=1142692871
Verstandesklarheit und Sinnesschaerfe leite unser Denken. Nutzloses und
Eitles tropfe ab an uns, verachtenswert seien Dummheit und Ignoranz.

Croft

-----------------------------------------------------------------------------



Re: Re: Ich will ... (Orktoeter, 18. Mar 2006, 16:37:14):
~#! rn=Croft rt=1142695958 rg=gilden.kaempfer
~#! tid=1142692871
Wieso gibt es dann ueberhaupt einen Orden? Also gibt es den Widerspruch doch
eh schon.

OrkT.

-----------------------------------------------------------------------------



Re^13: Aenderungen: Teil I (Croft, 20. Mar 2006, 12:58:50):
~#! rn=Croft rt=1142066153 rg=gilden.kaempfer
~#! tid=1141772614
In Anbetracht der fehlenden Antwort, kann man wohl davon ausgehen, dass
hier nicht wirklich ein Konzept hintersteht, sondern dass es eher als
willkuerliche Zahlenschieberei anzusehen ist.  Schade.

Croft

-----------------------------------------------------------------------------



Re^14: Aenderungen: Teil I (Gabylon, 20. Mar 2006, 13:26:17):
~#! rn=Croft rt=1142855930 rg=gilden.kaempfer
~#! tid=1141772614
Du hast mir eine Frage gestellt, dessen Antwort ich in dem Artikel
zuvor (69) gegeben habe.
Was genau moechtest Du jetzt? Soll ich den Artikel einfach nochmal
posten?

Gabylon

-----------------------------------------------------------------------------



Re^15: Aenderungen: Teil I (Croft, 20. Mar 2006, 13:40:26):
~#! rn=Gabylon rt=1142857577 rg=gilden.kaempfer
~#! tid=1141772614
Ich moechte wissen wieso insgesammt die Anfaengerstufen geaendert
wurden.  Du hast nur die Erhoehung der 1. Stufe mit dem Abstand
zur neuen 2. Stufe begruendet, was mir nicht wirklich als sinnvolles
Argument erscheint.  Die Stufen koennten sicherlich auch so gewaehlt
werden dass Spieler im Bereich 2-4 in der Gilde schon beitreten koennen.
Die Frage ist: wieso gibst du das auf?  

Croft

-----------------------------------------------------------------------------



Re^16: Aenderungen: Teil I (Bambulko, 20. Mar 2006, 13:42:00):
~#! rn=Croft rt=1142858426 rg=gilden.kaempfer
~#! tid=1141772614
Andere Frage: Wieviele Ersties mit Level < 5 kennen das MG so gut, dass sie
schon die Gilde finden koennen?

Bambulko

-----------------------------------------------------------------------------



Re^17: Aenderungen: Teil I (Croft, 20. Mar 2006, 13:42:30):
~#! rn=Bambulko rt=1142858520 rg=gilden.kaempfer
~#! tid=1141772614
Du kennst das Anwerbebuero in Port Vain, Bambulko?

Croft

-----------------------------------------------------------------------------



Re^17: Aenderungen: Teil I (Lurchi, 20. Mar 2006, 13:44:32):
~#! rn=Bambulko rt=1142858520 rg=gilden.kaempfer
~#! tid=1141772614
Wo wir schon beim Fragen sind:

Wieso kann man nicht einfach erst fuer Gilden-Level 19 (Also die
Offiziersraenge) den Seherstatus (inkl Lvl 38) verlangen? Dann kann man die
Anforderungskurve schoen sachte ansteigen lassen.


Lurchi

-----------------------------------------------------------------------------



Re^18: Aenderungen: Teil I (Bambulko, 20. Mar 2006, 13:45:24):
~#! rn=Croft rt=1142858550 rg=gilden.kaempfer
~#! tid=1141772614
Klar kenne ich das. Aber das beantwortet meine Frage nicht. Das ganze kommt
mit wie eine Phantom-Diskussion vor, die sowieso kaum jemand betrifft.

Bambulko

-----------------------------------------------------------------------------



Re^19: Aenderungen: Teil I (Croft, 20. Mar 2006, 13:51:35):
~#! rn=Bambulko rt=1142858724 rg=gilden.kaempfer
~#! tid=1141772614
In diesem Buero wird jedem der es wissen will der Weg genau genug
beschrieben um die Gilde finden zu koennen.  Dazu muss man das MG nicht
gut kennen.  Und was die Anzahl der Betroffenen betrifft: sicher, es sind
nicht viele.  Aber wieso sollte man es einschraenken, wenn es Jahre lang
so war?  Viele Aenderungen der letzten Zeit versuchen den Einstieg ins
Mud fuer Ersties zu foerdern.  Diese Umstrukturierung empfinde ich
jedenfalls als zu diesen Bemuehungen gegenlaeufig.

Croft

-----------------------------------------------------------------------------



Re^20: Aenderungen: Teil I (Gabylon, 20. Mar 2006, 14:15:24):
~#! rn=Croft rt=1142859095 rg=gilden.kaempfer
~#! tid=1141772614
Ark hat einen - wie ich finde - recht passenden Artikel (134) dazu
geschrieben.

Aber ich kann auch meine eigenen Worte dazu verwenden:
Als ganz kleiner Spieler erstmal einen gewissen - wenn auch immer noch
recht kleinen - Ueberblick ueber das MG und seine Gilden und Rassen zu
haben, halte ich mit Level 5 einfach fuer moeglicher als mit Level 2 und
richtiger noch dazu, als blindlings in eine Gilde zu laufen, nur weil ihr
Rekrutierungsbuero zufaellig in der Naehe liegt.

Ich wuenschte mir eigentlich in dem Zusammenhang auch, dass man bis zu
einem gewissen Level die Rasse wechseln kann, da man direkt beim Einloggen
noch gar nicht wissen *kann*, welche Vor- und Nachteile die gewaehlte
Rasse im MG besitzt.
Ja natuerlich, dies ist eine ganz andere Diskussion und die meisten
waehlen ihre Rasse nach Sympathie und spielen sie dann durch, koste es
was es wolle. Aber eben nicht alle.

Zurueck zum Punkt:
Es wird hier oft fehlende Anfaengerfreundlichkeit genannt. Dies halte ich
doch fuer ziemlichen Unsinn, da ein Anfaenger mit nur wenigen online-Stunden
gar nicht weiss, welche Gilden es genau gibt, was ihre Gilde ausmacht (kaum
ein Anfaenger kann sich wirklich was unter "Bierschuettler" oder "Tanjian"
vorstellen) und welche Einstiegsbedingungen sie parat halten (Ausnahmen
bestaetigen die Regel, wie immer).

(Viel anfaengerfreundlicher waere es beispielsweise, den einmaligen
Rassenwechsel bis zu einem gewissen Level zu erlauben...)

Ausserdem kann ich es mir wirklich nicht vorstellen, dass ein Anfaenger mit
beispielsweise Level 3 das Hierbleiben im Mud davon abhaengig macht, ob er
stante pede in die Kaempfergilde aufgenommen wird oder erst 2 Level spaeter.


Gabylon

-----------------------------------------------------------------------------



Re^19: Aenderungen: Teil I (Zook, 20. Mar 2006, 14:19:03):
~#! rn=Bambulko rt=1142858724 rg=gilden.kaempfer
~#! tid=1141772614
Also, wenn ich mich so erinnere, hat es immer wieder Spieler gegeben,
die mit kleinem Level (<10) bei den Kaempfern eingetreten sind. Insofern
halte ich die Einschaetzung einer Phantom-Diskussion fuer nicht zutreffend.

Zook.

-----------------------------------------------------------------------------



Re^18: Aenderungen: Teil I (Zook, 20. Mar 2006, 14:29:43):
~#! rn=Lurchi rt=1142858672 rg=gilden.kaempfer
~#! tid=1141772614
Die Frage hab ich mir auch gestellt. Zook.

-----------------------------------------------------------------------------



Re^21: Aenderungen: Teil I (Ark, 20. Mar 2006, 15:39:55):
~#! rn=Gabylon rt=1142860524 rg=gilden.kaempfer
~#! tid=1141772614
Naja, mit Aussagen wie "kann ich mir nicht vorstellen" sollte man sich
zurueckhalten, gibt ja (wie Du schon andeutest), mehrere Geschmaecker,
ausserdem ist einiges manipulierbar (das Wissen, welche es Gilden z.B., wird
schneller da sein, wenn es einmal das Tutorial fuer Anfaenger gibt).
Die Frage ist eher etwas normativ: will man jetzt dem Anfaenger mit Lvl 1 oder
2 schon die Mitgliedschaft ermoeglichen, oder laesst man es erst mit Lvl 5
oder so zu.
Fuer beides gibt es fuer und wider: "freie Wahl" vs. "educated decision"
sozusagen (ich weiss, flapsig zusammengefasst). Ich bin fuer letzteres ...
denn da wuerde ich den Punkt setzen, wo man schon einen ersten Ueberblick hat,
vielleicht ein wenig Abenteurerwaffenskill, den ersten Spruch bei den
Abenteurern lernen kann (oder entsprechend Delfen/KKrieger). Da beginnt fuer
mich ein wenig das Gruebeln, was ich machen will.
Habe ich bis dahin viel verpasst? Ich denke nicht ... und normales Leveln wird
auch danach zu meinem Kaempferalltag gehoeren. Ob nun Level 4 oder 6 oder ...
besser sind, naja, ein trefflicher Streit, aber muessig.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^22: Aenderungen: Teil I (Ark, 20. Mar 2006, 15:41:05):
~#! rn=Ark rt=1142865595 rg=gilden.kaempfer
~#! tid=1141772614
 -> das Wissen, welche _Gilden es gibt z.B._ <-


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^23: Aenderungen: Teil I (Lug, 20. Mar 2006, 16:11:14):
~#! rn=Ark rt=1142865665 rg=gilden.kaempfer
~#! tid=1141772614
Ds mit den Orden finde ich toll, besonders wenn die ordentlich was wiegen. Vor
meinem geistigen Auge sehe ich schon den einen oder anderen Seher ploetzlich
nach vorne kippen...

Lueluelue
Lug

-----------------------------------------------------------------------------



Re^23: Aenderungen: Teil I (Darklor, 20. Mar 2006, 16:11:20):
~#! rn=Ark rt=1142865665 rg=gilden.kaempfer
~#! tid=1141772614
Wer will denn bis Level 5 Abenteurer sein, wenn man auch in einer
interessanteren/besseren Gilde sein kann? - Abenteurer sind bis dahin das
Letzte... - und wenn man dann schon in einer interessanteren/besseren Gilde
is, warum dann noch Kaempfer werden ? (die zu dem Zeitpunkt noch weniger Sinn
machen?)

Darklor

-----------------------------------------------------------------------------



Re^24: Aenderungen: Teil I (Humni, 20. Mar 2006, 16:14:54):
~#! rn=Darklor rt=1142867480 rg=gilden.kaempfer
~#! tid=1141772614
Die Kampfkraft eines Abenteuers mit Level ... sagen wir mal ... 15 wuerde ich
derzeit (jetzt mal rein instinktiv) ueber der eines Kaempfers mit Spielerlevel
15 ansiedeln. Vor allem (!) aus den hinteren Kampfreihen.

Spaeter wendet sich das Blatt, gar keine Frage.

Bis Level 5 duerften sich die beiden aber nicht viel tun. Die Waffenskills
sind in der Regel noch nicht so weit entwickelt, dass sie ins Gewicht fallen.
Im gegenteil, der Abenteurer erhaelt im Zweifel die sinnvolleren, weil
wichtigeren Spells (Licht, Identifiziere...) weitaus frueher (gut, Licht
kriegt der Kaempfer so gar nicht).

Nur mal so am Rande ;-)

Humni

-----------------------------------------------------------------------------



Re^14: Aenderungen: Teil I (Orktoeter, 20. Mar 2006, 19:26:30):
~#! rn=Croft rt=1142855930 rg=gilden.kaempfer
~#! tid=1141772614
Zitat:
In Anbetracht der fehlenden Antwort, kann man wohl davon ausgehen, dass
hier nicht wirklich ein Konzept hintersteht, sondern dass es eher als
willkuerliche Zahlenschieberei anzusehen ist.
Zitat off

Tu mir bitte einen gefallen und werd nie Gesetzgeber oder Richter.
Abgesehen davon, dass in spaeteren Artikeln ja darauf eingegangen wurde, dass
die Frage schon beantwortet war bevor sie gestellt wurde, ist die generelle
Einstellung sehr gefaehrlich.
Du stellst eine Behauptung in den Raum und weil sich der "Angeklagte" nicht
verteidigt und rechtfertigt, ist die Behauptung fuer dich damit bewiesen?
Ich stelle mir gerade einen Prozess vor in dem der Angeklagte erst wegen
irgendeinem Verstoss gegen die Verfahrensordnung gefesselt und geknebelt wird
und dann kommt der Staatsanwalt und stellt die Behaupotung auf...
Okok, das war jetzt weit uberzogen, aber es sollte halt zeigen wohin diese
generelle Einstellung fuehren kann.

OrkT.

PS: die Typos darf behalten wer will

-----------------------------------------------------------------------------



Re^15: Aenderungen: Teil I (Ark, 20. Mar 2006, 19:34:31):
~#! rn=Orktoeter rt=1142879190 rg=gilden.kaempfer
~#! tid=1141772614
Naja, rein technisch ist die Gilde haesslicherweise nur der Defaultwert fuer
die Rassen Mensch, Hobbit, Zwerg und Elf. Jetzt koennte man hergehen und eine
stimmungsmaessig bessere und auf die Rassen angepasst Gilde (oder gar mehrere)
schreiben. Nur, wer macht's? Weder heute noch damals erheben die Abenteurer
die Stimme.
Wobei ... wer haette denn ein schoenes Konzept dafuer? Diskussion on.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^15: Aenderungen: Teil I (Croft, 20. Mar 2006, 23:48:31):
~#! rn=Orktoeter rt=1142879190 rg=gilden.kaempfer
~#! tid=1141772614
Nunja.  Ein Teil der Zahlen wurde erst in die eine Richtung und anschliessend
in die andere Richtung verschoben.  Das wirkte nicht wirklich bedacht.
Insofern finde ich den Schluss nicht wirklich weit hergeholt.

Croft

-----------------------------------------------------------------------------



Re^16: Aenderungen: Teil I (Vector, 20. Mar 2006, 23:51:24):
~#! rn=Croft rt=1142894911 rg=gilden.kaempfer
~#! tid=1141772614
naja nach der ersten aenderung wurde ja um feedback gebeten 
und gesagt, dass sich je nach praxistauglichkeit die werte
nochmal aendern koennen.
das feedback kam dann ja auch in form von gejammer und so
wurden die (in meinen augen gute) grenzen und anforderungen
gleich wieder aufgeweicht.

-----------------------------------------------------------------------------



Re^16: Aenderungen: Teil I (Seleven, 21. Mar 2006, 13:13:28):
~#! rn=Ark rt=1142879671 rg=gilden.kaempfer
~#! tid=1141772614
Dafuer!
Konzept Hobbits: Wandergesellen
Der Hobbit, wandert gerne, aber nur in friedlichen Gebieten. In den ersten
Leveln lernt er deshalb weniger das Kaempfen, sondern Skills, die ihm debei
helfen - beeren und pilzesuchen, effektieveres Fischen, ein lagerfeuer machen
und sich sein zweites fruehstueck im freien zubereiten. Wenn der kleine Hobbit
dann das Leben unter freiem Himmel zu schaetzen lernt, koennte er das Jagen
und auseinandernehmen von Wild lernen - ein erster Kampfskill. Jetzt wir der
Halbling neugierig und schaut auch mal in eine Hoehle - dazu braucht er Licht.
Dies kann ueber den ersten Zauberspruch, oder ueber einen Fackelbauskill
erreichen. Wenn dann der Hobbit gaenzlich von der Wanderlust gepackt wird (das
koennte ein Spell sein, der Ausdauer und/oder Kraft nach dem Vorbild von
Beruhige erhoeht) kann er an Kampfskills und Zauberfaehigkeiten herangefuehrt
werden.
Ach ja, einwichtiger Skill ist natuerlich das Rauchringeblasen - dabei koennte
der Hobbit ja ein bisschen schneller hochidlen, was er uebrigens auch tun
sollte, wenn er _kein_ Schuhwerk an hat.

Seleven hirnstuermt ein wenig - typos all inclusive.

-----------------------------------------------------------------------------



Re^17: Aenderungen: Teil I (Muadib, 21. Mar 2006, 13:15:35):
~#! rn=Seleven rt=1142943208 rg=gilden.kaempfer
~#! tid=1141772614
das hoert sich schoen an, fuer eine andere gilde
zu einer militaerischen organisation, wie es das struv eine ist passt das aber
weniger, oder?

-----------------------------------------------------------------------------



Re^17: Aenderungen: Teil I (Darklor, 21. Mar 2006, 13:16:43):
~#! rn=Seleven rt=1142943208 rg=gilden.kaempfer
~#! tid=1141772614
Ach, du meldest dich freiwillig um eine Anfaengergilde fuer Hobbits zu
proggen?

Darklor

-----------------------------------------------------------------------------



Re^16: Aenderungen: Teil I (Kerrier, 21. Mar 2006, 14:24:12):
~#! rn=Ark rt=1142879671 rg=gilden.kaempfer
~#! tid=1141772614
Hmm. Der Thread muesste mal Richtung gilden.abenteuerer oder rassen oder so
verlegt werden ...

-----------------------------------------------------------------------------



Re^18: Aenderungen: Teil I (Knurps, 21. Mar 2006, 16:52:55):
~#! rn=Darklor rt=1142943403 rg=gilden.kaempfer
~#! tid=1141772614
Wenn man so ein Konzept als Gemeinschaft hochzieht (vielleicht in einem Wiki)
mit schoenen Spruechen, die zu Hobbits passen, die technische Umsetzung ist
nicht wirklich aufwendig. Wenn die Staerke der Spells in der Region zwischen
Abenteuerern und Katzenkriegern liegt, ist es Balancemaessig ungefaehrlich und
es waere ja schon eine Verbesserung, wenn die Hobbit"gilde" einfach schoenere
Spells haette. Es muss ja nicht ein riesiges Drumrum aufgebaut werden.

Ein Konzept muesste beinhalten:
Welche Spells gibt es
Wann lernt man welchen
Wieviel kosten die einzelnen Spells?
Welchen Schaden macht ein Spell
Schadensmeldung (<-wichtig)
Wann kann man was lernen?
Voraussetzungen wie Gilden/Miniquests?

Gildennpc koennte der Hobbitpriester werden, der muesste natuerlich
dahingehend auch ein wenig getuned werden...

Knurps

-----------------------------------------------------------------------------



Re^8: Meinungen gefragt (Bambi, 23. Mar 2006, 00:33:46):
~#! rn=Gabylon rt=1142287253 rg=gilden.kaempfer
~#! tid=1142111906
Zitat:

Zum Schluss noch eine kleine Bemerkung zur gerade laufenden Diskussion:

Bitte bleibt beim Thema. Z.B. ist die Frage, ob schnelle Waffenwechsel hier
in dieser Gilde so bleiben, obwohl unrealistisch, gaenzlich unsinnig zu
eroertern. Selbstverstaendlich wird das so bleiben.


Gabylon
Zitat Ende.
Ich bin zwar erst bei Artikel 98 von 169, aber ich moechte das trotzdem
kommentieren. In meinen Augen ist die Diskussion, ob Dolche bessere
Parierwaffen sind oder nicht, eigentlich voellig ueberfluessig, solange kein
ernsthaftes Begruendungsproblem oder ein Balance-Problem besteht.
Wichtiger faende ich es, wenn man ueber die Vor- und Nachteile nachdenkt, die
die Gilde mit sich bringt und zu Problemem fuehrt.

Als echten Nachteil und absoluten Schwachsinn empfinde ich zum Beispiel genau
dieses Waffenwechselherumgehampel. Es spricht von meiner Seite aus zwar nicht
grundsaetzlich etwas dagegen, dass man seinen Client zur Umgehung einiger "vor
dem Monitor sitzender Nachteile" nutzt, aber die Gilde sollte eigentlich nicht
auch noch foerdern, dass man zu solchen -in diesem Fall imho extremen- Mitteln
greift.

Vermutlich tue ich einigen hier Unrecht (und hoffe das auch), aber bei manchen
Artikeln kommt es mir so vor, als wuerde mit aller Kraft in die (jeweils zum
Rassenspezifischen) Richtung argumentiert werden, die fuer einen selbst gerade
genehm ist und die groessten Vorteile mit sich bringt. Selbst wenn es in RL
der Fall sein sollte, dass man mit dem zweihaendig gefuehrten
Moerderbreitschwert besser parieren kann als mit einem "popeligen" einhaendig
gefuehrten Dolch: das ist hier doch im Prinzip voellig egal. Es gibt hier im
Spiel eine plausible (und vermutlich sogar realitaetsnahe) Begruendung und ich
sehe nun wirklich keinen Grund, daran herumzudiskutieren.

MfG, Bambi.

-----------------------------------------------------------------------------



Kryzz ??? (Roland, 26. Mar 2006, 21:55:04):

Was das fuer ne sinnlose aenderung hier, . warum soll ich jetzt kampfstaebe
lernen um weiter eerhoehen zu koennen ... vorallem staebe???? ich bin bmensch
.. ware das rassenangepasst ... mesch - sms - elf - sms - zwerg - brot oder so
was ok, aber ich kaempf doch net mitm kampfstab ....

-----------------------------------------------------------------------------



Re: Kryzz ??? (Vector, 26. Mar 2006, 21:56:22):
~#! rn=Roland rt=1143402904 rg=gilden.kaempfer
~#! tid=1143402904
an dir ist wahrlich ein zauberer verloren gegangen :)

-----------------------------------------------------------------------------



Re: Kryzz ??? (Gabylon, 27. Mar 2006, 14:49:21):
~#! rn=Roland rt=1143402904 rg=gilden.kaempfer
~#! tid=1143402904
Hi Trves,

gestern abend gab es wohl ein paar kleine Irritationen bei den
Anforderungen fuer die naechste Stufe. Das kam daher, weil ich
etwas getestet habe und hinterher vergessen habe, wieder rueck-
gaengig zu machen. Dies ist jetzt aber behoben.

Im Zuge einiger mehr oder weniger grossen Umstellungen in den
naechsten Tagen und Wochen kann es immer wieder mal vorkommen,
dass sich kleine Kaeferchens einschleichen. Das ist leider nicht
immer ganz zu vermeiden.
Wenn dies geschieht, bitte ich euch, nicht gleich loszuschimpefen
oder andere Magier (Humni bespielsweise) dafuer anzuprangern,
sondern mir per mail oder tm Bescheid zu geben.

Danke im voraus fuer euer Verstaendnis.


Gabylon

p.s. Nein, ich habe noch kein eigenes homemud, wird sich aber hoffentlich
     auch bald aendern.

-----------------------------------------------------------------------------



Re: Re: Kryzz ??? (Elberet, 27. Mar 2006, 14:54:32):
~#! rn=Gabylon rt=1143463761 rg=gilden.kaempfer
~#! tid=1143402904
mal ganz ehrlich: solltest du nicht primaer dann erstmal deine arbeitskraft
daran setzen, ein eigenes homemud aufzusetzen oder anderweitige
testmoeglichkeiten, so vorhanden, benutzt?

Ich finde es ein wenig seltsam, solche Tests am laufenden System
durchzufuehren. Du faehrst dir damit nur Aerger ein. Zum einen frustrierte und
stinkige Leute. Zum anderen unter Umstaenden auch komische Zustaende.
Vielleicht lernt jemand dann ja Sachen, die hinterher gar nicht angehaengt
werden usw.

Ist die Aenderung so dringend, dass man das macht, bevor es im homemud
getestet wurde?
Elbi

-----------------------------------------------------------------------------



Re^3: Kryzz ??? (Vector, 27. Mar 2006, 18:49:07):
~#! rn=Elberet rt=1143464072 rg=gilden.kaempfer
~#! tid=1143402904
mit frustrierte stinkige leute kannst du nur roland meinen?!
ich meine die roland-show von gestern haben wir ja alle
miterlebt.
nochmal fuer mich zum mitschreiben: hier laufen leute amok
und spielpausen sich, weil sie einen ZUSAETZLICHEN skill
bekommen und damit defacto eine aufwertung erfahren!

dann wird wohl erst wieder ruhe im karton sein, wenn man
ein paar skills abhaengt ?! :)

-----------------------------------------------------------------------------



Re^4: Kryzz ??? (Alkohol, 27. Mar 2006, 22:37:17):
~#! rn=Vector rt=1143478147 rg=gilden.kaempfer
~#! tid=1143402904
nein ich meinte keinen Spieler konkret, sondern einfach nur die Art, in einem
laufenden System so zu testen. Das hat ja nix mit Skills oder aehnlichem zu
tun, Aber auf die Weise hat man auch mal schnell was an oder abgehaengt, so
dass es gleich richtig knallt ...

Elbi/Alki

-----------------------------------------------------------------------------



Re^5: Kryzz ??? (Zaphob, 15. Apr 2006, 03:06:11):
~#! rn=Alkohol rt=1143491837 rg=gilden.kaempfer
~#! tid=1143402904
Nun, homemud macht sicherlich Sinn. Andererseits finde ich es gut, dass
Gabylon sich hier zu erkennen gibt und Erklaerungen abliefert. Das rechne ich
hoch an.

Ich finde es sehr gut, dass die Kaempfer etwas entstaubt werden. Wie auch
immer die Farbe unter dem Staub dann aussehen wird. Der lag ja auch schon
etwas laenger dort...

Zu dem Artikel nebenan moechte ich kurz bemerken, dass ich den Kaempfern mit
Stufe 3 beigetreten bin. Das Rekrutierungsbuero hatte mich vollends
ueberzeugt! 
Danach hab ich aber erst mal ein bisschen gequestet und Zaubertraenke
gesammelt. Zur Zeit (GL 17) machen mir meine Faehigkeiten am meisten zu
schaffen, Brieseltrim stellt mir da immer eine lange Liste zusammen...

Zap...

-----------------------------------------------------------------------------



Ausbildung (Ark, 23. Mai 2006, 22:50:43):
Der Vorschlag wird sicher das Grundproblem nicht loesen, aber vielleicht mal
ein Ansatz fuer mehr Anreiz, nicht immer nur die gleichen Gebiete
abzuklappern. Warum muss jeder Kill immer mit "1" bewertet werden? Schwere
Gegner koennten als 2 oder mehr Kills gewertet werden, was animieren soll,
nicht immer die SSP rauf und runter zu rennen, wenn man sie schon xmal
durchgelaufen ist.
Beispiel (simpel):
Gegner geben x Killpunkte fuer die Ausbildung, x = Anzahl der Stupse.
Vielleicht nur bedingt brauchbar, also
Beispiel 2 (komplexer):
Gegner geben x Killpunkte, x = Ruestung/Resistenz des Gegners mal
Trefferpunkte, eingeteilt in Klassen, z.B. 1 Killpunkt bis Wert 5000, 2 fuer
Wert bis 2000, 5 fuer Werte ab 200000.
Immer noch nicht genehm? Dann weitere Werte beruecksichtigen, die den Gegner
besser nach "Schwierigkeit" fuer das Ausbildungsteam bewerten.

Insgesamt sieht man so wohl a) die Menge an Killpunkten schneller bewaeltigt,
b) kommt eher mal in neue Gegenden (vom Ausbilder abhaengig, klar) und c) auch
nebenher an neue Killstupse (dito). Also eigentlich positiv, oder?


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Ausbildung (Ark, 23. Mai 2006, 22:52:37):
~#! rn=Ark rt=1148417443 rg=gilden.kaempfer
~#! tid=1148417443
Irgendwo fehlt natuerlich noch eine 0, aber das ist jetzt nebensaechlich :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Ausbildung (Seleven, 23. Mai 2006, 22:53:43):
~#! rn=Ark rt=1148417443 rg=gilden.kaempfer
~#! tid=1148417443
Dafuer. :)
iA Terry

-----------------------------------------------------------------------------



Re: Ausbildung (Sky, 23. Mai 2006, 22:53:52):
~#! rn=Ark rt=1148417443 rg=gilden.kaempfer
~#! tid=1148417443
wie waers mit:
noch 30 Kills in einem Gebiet der Klasse 2
noch 20 Kills in einem Gebiet der Klasse 4
noch 10 Kills in einem Gebiet der Klasse 5

Welches Gebiet dann wie und wo in welche Klasse und warum faellt muss man
nauterlich noch einbauen ^^

-----------------------------------------------------------------------------



Re: Re: Ausbildung (Ark, 23. Mai 2006, 22:58:12):
~#! rn=Sky rt=1148417632 rg=gilden.kaempfer
~#! tid=1148417443
Moeglich, aber komplexer und sehr ... umstritten, kann ich mir vorstellen.
Gebietneutrale Bewertung disqualifiziert nicht implizit gewissen NPC,
ausserdem sollte sich Ausbildung am Gegner, nicht am Gebiet messen lassen
muessen.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Re: Ausbildung (Orktoeter, 23. Mai 2006, 22:58:52):
~#! rn=Sky rt=1148417632 rg=gilden.kaempfer
~#! tid=1148417443
Ihr wisst eh, dass es bereits jetzt so ist, dass die Gegner eine gewisse
Staerke haben muessen um zu zaehlen?
Wenn ich mich recht entsinne, steigt die Staerkenanforderung mit den
Gildenstufen auch an.

OrkT.

-----------------------------------------------------------------------------



Re^3: Ausbildung (Vector, 23. Mai 2006, 23:01:34):
~#! rn=Orktoeter rt=1148417932 rg=gilden.kaempfer
~#! tid=1148417443
....."wenn".....

-----------------------------------------------------------------------------



Re^4: Ausbildung (Ark, 23. Mai 2006, 23:05:22):
~#! rn=Vector rt=1148418094 rg=gilden.kaempfer
~#! tid=1148417443
Da muss ich Vector zustimmen ... das einzige was ansteigt, ist die Zahl der
Kills ... und das, was fuer den Ausbilder (nicht den Azubi!) als Kill zaehlt.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^5: Ausbildung (Ark, 23. Mai 2006, 23:14:40):
~#! rn=Ark rt=1148418322 rg=gilden.kaempfer
~#! tid=1148417443
Ach, einen ausbildungsteamstaerkeabhaengigen Teiler koennte man noch
hernehmen:
P_BODY * P_MAX_HP / (P_GUILD_LVL + P_GUILD_LVL)
Dann sind die Punkte fuer in Summe starke Ausbildungsteams kleiner als fuer
vergleichsweise schwache. In Massen natuerlich.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^5: Ausbildung (Boing, 24. Mai 2006, 09:17:23):
~#! rn=Ark rt=1148418322 rg=gilden.kaempfer
~#! tid=1148417443
Und ich muss euch beide enttaeuschen, Orktoeter hat ausnahmsweise mal
recht.
  Boing

-----------------------------------------------------------------------------



Re^6: Ausbildung (Ark, 24. Mai 2006, 10:36:25):
~#! rn=Boing rt=1148455043 rg=gilden.kaempfer
~#! tid=1148417443
Ok, praktische Erfahrung (bisher bis Level 17) sagt mir, dass trotzdem die
gleichen Monster noch zaehlen, sowohl fuer mich als auch den unterschiedlich
leveligen Azubi. Ja, die kleinen Orks zaehlen fuer mich nicht mehr ... deshalb
meinte ich ja auch, dass sich das aendert. Dennoch bleibt es bei dem "muesst
ihr noch 12423 Gegner besiegen, um die Ausbildung zu vollenden". Das aendert
sich auch nicht, wenn ich zum Weghier renne, dann sind es noch 12422.
Vielleicht wird das noch drastisch anders in den hoeheren Trves Stufen, ich
erwarte es nicht :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^7: Ausbildung (Muadib, 24. Mai 2006, 11:06:15):
~#! rn=Ark rt=1148459785 rg=gilden.kaempfer
~#! tid=1148417443
das aendert sich
aber nicht drastisch
irgendwann reicht die orkhoehle halt nicht mehr und du gehst stattdessen auf
die drakoniermauer oder sowas
die erhoehte anrechnung fuer besonders schwierige monster finde ich nicht
uebel, allerdings wuerde ich dann vorschlagen nicht mehr von getoeteten
gegnern reden, sondern von errungenem Ruhm oder aehnlichem.
dann allerdings mit nur einmaliger anrechnung eines gegners.


-----------------------------------------------------------------------------



Re^8: Ausbildung (Ark, 24. Mai 2006, 17:30:00):
~#! rn=Muadib rt=1148461575 rg=gilden.kaempfer
~#! tid=1148417443
Meine Sprache. Allerdings muss man das genau ausknobeln, nicht dass man dann
irgendwann zu Myung muss. Anreiz ja, Zwang nein. Insofern eher nicht einmalige
Anrechnung, sondern Belohnung bei haeufigem Wechsel.
Evtl. doch belohnen den Wechsel der Region z.B. aber kein Zwang, x
Ausbildungspunkte in Region z machen zu muessen.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^9: Ausbildung (Knurps, 24. Mai 2006, 17:37:48):
~#! rn=Ark rt=1148484600 rg=gilden.kaempfer
~#! tid=1148417443
Antwort auf diesen Artikel erfolgte rein willkuerlich.

Aufgrund drastischer Einbrueche bei den Adepten der Tanjiangilde hat sich
Siamil vertrauensvoll an Brieseltrim gewandt. Mit grosser Sorge um die
Neutralitaet im Morgengrauen fragte er vorsichtig an, ob Brieseltrim nicht ein
paar Trves dafuer abstellen koennte, die Waage der Gerechtigkeit
auszubalancieren. 40 verschiedene Monster, die zu den Extremen neigen, gilt es
zu neutralisieren (Pun intended). Die Monster bewegen sich in einem sinnvollen
Schwierigkeitsgrad und bieten gute Abwechselung und Herausforderung fuer jeden
Kaempfer ab dem Seherstatus. Sollte ein Ausbilder mit Schuetzling Siamil
diesen Gefallen tun, wird dies als Ausbildung mit hohem Forderunggrad
anerkannt und dementsprechend nicht pro Monster sondern als direkten
Ausbildungsschub bewertet.

Es muss nicht unbedingt diese Aufgabe sein, aber es sollte klar sein, was ich
vorschlage...

-----------------------------------------------------------------------------



Re^10: Ausbildung (Orktoeter, 24. Mai 2006, 17:56:39):
~#! rn=Knurps rt=1148485068 rg=gilden.kaempfer
~#! tid=1148417443
Das mit dem staerkeren anrechnen besonders starker Gegner ist ja eine nette
Idee, hilft aber nicht gegen das Problem das scheinbar entstanden ist,
naemlich das zu wenige/keine Ausbilder fuer die kleinen Trves da sind. Dieses
Problem liesse sich allerdings recht einfach loesen indem auch Generaele die
ganz kleinen Ausbilden duerfen. Da ein General so eine Ausbildung allerdings
"aus dem Aermel schuettelt", wird er dabei selbstredend nichts mehr lernen,
sprich fuer ihn werden selbst sehr harte Gegner nicht fuer seine (evtl. ja
noch noetige) Ausbildung angerechnet. 

OrkT.

-----------------------------------------------------------------------------



Re^11: Ausbildung (Ark, 24. Mai 2006, 18:10:46):
~#! rn=Orktoeter rt=1148486199 rg=gilden.kaempfer
~#! tid=1148417443
Also das kann ich nicht nachvollziehen ... immer wenn ich (Lvl17) frage, ist
alles still/idle. Es ist eher das Thema, dass keine ausreichende Menge von
Azubis da ist, ich glaube, da bin ich nicht alleine. Aber sollte das so sein,
hoeren wir nun bestimmt Azubis, die das bestaetigen ... oder auch nicht.
Der Vorschlag sollte *seufz* das ja auch nicht aendern ... wie auch? Und
solange GLvl 24 nicht da ist, kann es den Generaelen egal sein, nein?
Ansonsten stehe ich dann zumindest ab naechster Stufe sowieso wieder als Azubi
zur Verfuegung :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^12: Ausbildung (Eljo, 24. Mai 2006, 21:28:49):
~#! rn=Ark rt=1148487046 rg=gilden.kaempfer
~#! tid=1148417443
Orktoeter ist mal wieder ein paar Jahre hinterher, das Problem gab es zu
meiner Trves-Anfangszeit (5Jahre her) inzwischen ist das Problem wie Ark
meinte genau andersrum: 
Es gibt genuegend Ausbilder, die Azubis suchen, aber an eben jenen hapert es.

Aber einen Anreiz, mal andere Gebiete durchzurennen als die SSP waere
sicherlich nett. (Aber dann als Belohnung, nicht als Zwang). Es gibt einfach
auch Ausbildungen, in denen man sich gegenseitig nicht wirklich mehr etwas
zeigen/beibringen muss, sondern es ist einfach das Muss der Ausbildung. Man
kann es ja schon etwas interessanter halten, aber auch das hat mit steigendem
Wissen irgendwann ein Ende.

-----------------------------------------------------------------------------



Re^13: Ausbildung (Schwachkopf, 25. Mai 2006, 01:18:36):
~#! rn=Eljo rt=1148498929 rg=gilden.kaempfer
~#! tid=1148417443

Was mir bei dieser ganzen sache noch auffaellt ist: das in der Ausbildung sehr
stark auf hohe zahlen von toten gegnern oder neuerdings auch
gegner-wert-punkten geachtet wird.
Ich moechte an dieser stelle mal an eine sache erinnern die bei diesem hin und
her ganz aussen vor gelassen wird.
Bei einigen meiner letzen Ausbildungstouren hatte ich verhemrt Azubis dabei
die werder wusten was der unterschied zwischen finte und waffentrick ist noch
eine geringe ahnung davon wie sie diese doch nicht mindere kleinigkeit zu
ihrem vorteil nutzen konnten. Desweiteren waren sie ganz entsetz das ich
empfahl den doch so verdammt guten und schwer zu besorgenden vampirpanzer in
der Feuerebene ab zu legen. Oder erklaerten mir das sie als elf wohl gemert
das eisschwert als beste waffe fuer den normalen angriff halten. 
Das wissen was in der ausbildung hier derzeit abgerissen wird ist meiner
meinung nach echt duenn. die leute wissen sie muessen x monster killen und
dabei von einem spieler hoeheren ranges durch gezerrt werden. und dabei evtl
den einen oder anderen skill mehr oder weniger puschen.
Wenn ich mit leuten unterwegs war kam es gerne mal vor das wir nur 5-6
gegnerpunkte sammelten aber dabei ne lange zeit ueber waffen ruestungen und
taktiken redeten. 
den einigen hat das gefallen weil sie evtl das bemerkten was ich damit
versucht habe weiter zu geben. andere dagegen waren nur generft wenn man
versucht hat ihnen was zu erklaeren.
Evtl sollte man auch mal diesen Vorschlag von mir jetzt bedenken.:
Die staerke eines kaempfers kommt meines wissens aus dem wissen nicht nur
alleine aus maxen von skills. Wieso sollte der aus zu bildene nicht ab und an
auch einen kleinen test/bericht machen der aufzeigt das er bei der ausbildung
auch was gelernt hat ausser das der kill fuer die ausbildung zaehlt. weil viel
mehr ist es ja derzeit nicht. 

und zu dem problem das frueher auszubildende und heut zu tage ausbilder fehlen
kann ich nur sagen. das kommt ja immer auf den zuwachs und die atraktivitaet
der gilde fuer neue oder naja bei den kaempfern seh ich se net so gern aber,
oder zweitis an. 

*worte sind nur schall und rauch, aber sagen will ich noch.:

Ein Leben fuer den Kampf, als Kaempfer! Nicht als Zweiter!

. o O labernd. -> ein Schwachkopf. Danke

-----------------------------------------------------------------------------



Re^14: Ausbildung (Ark, 25. Mai 2006, 01:40:25):
~#! rn=Schwachkopf rt=1148512716 rg=gilden.kaempfer
~#! tid=1148417443
Feinfein, leider am Thema vorbei. Die Ausbildung ist dazu da, um mehr zu tun,
als nur Gegner umzunieten. Da leider (nein, eher gottlob) ein sinnvoller
"Ueberwachungsmechanismus" fehlt, bleibt es weiterhin dem Team ueberlassen,
die Ausbildung zu gestalten.
Ein jeder moege sich an seine Nase fassen, um so viel wie moeglich an
Erfahrung herauszuholen. Bericht? Gibt es, spaeter, jedoch wie will man denn
pruefen, was da herauskommt? Auch kein perfektes System, noch mehr der
Willkuer unterworfen imho. Bei aller Schwaeche des urspruenglichen Konzepts
... es hat wertvolle Vorteile: man gurkt nicht allein umher, man lernt
irgendwie doch was nebenher, man wird ermutigt, im Team herumzuziehen und den
Kampf mit anderen zumindest in Grundzuegen zu lernen.
Natuerlich nuetzt sich der Lerneffekt irgendwann mal ab, und da sollte man
dann eingreifen, das System selbst finde ich eigentlich passend zu Kaempfern
und deshalb so unique und reizvoll.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^14: Ausbildung (Vector, 25. Mai 2006, 10:14:48):
~#! rn=Schwachkopf rt=1148512716 rg=gilden.kaempfer
~#! tid=1148417443
irgendwie finde ich in diesem artikel NIX ausser die aussage:
schaut alle her ich bin so ein toller kaempfer und weiss mehr
als meine azubis.
wie ark schon gesagt hat geht solche beweihraeucherung am
derzeitigen thema vorbei; zudem sollte es eine absolute
SELBSTVERSTAENDLICHKEIT sein, dass ein ausbilder mehr weiss
als der azubi--- sowohl ueber metzelgebiete als auch ueber
trves-skills und deren anwendung.
ganz abgesehen davon, dass es schon einen komischen beigeschmack
hat, wenn ein zweitspieler der zudem nicht sichtbar markiert
ist, so nen artikel verfasst und dann auch noch den namen seines
kaempfers nicht unter den artikel setzt.... sorry aber wer
bitte soll SO nem artikel irgend ne bedeutung zugestehen?

als kleiner wurstkaempfer hat man sich beim metzeln immer
an den grossen orientiert ("hmm mistbratze macht immer xxxx
das mach ich jetzt auch mal), und vieles dann schon richtig
nachgemacht, auch wenn man erst spaeter erleuchtet wurde,
warum das so sein muss :)
erhoehte kampfkraft kommt in der tat nicht nur von skills
sondern auch von viel routine, sei es das schnellere tanken,
die ortskenntnis oder dass man mal bei npc xxx aus versehen
drache statt schlange anwirft und draufkommt: hoppla, das haut
hier ja viel mehr rein *merk-ich-mir-mal*
tatsaechlich ist es eine ueberlegung wert, ob man nicht einen
ausbildungsvortrag erneut hoeren kann

-----------------------------------------------------------------------------



Re^14: Ausbildung (Muadib, 25. Mai 2006, 12:23:09):
~#! rn=Schwachkopf rt=1148512716 rg=gilden.kaempfer
~#! tid=1148417443
die unterschiede der skills und deren anwendungen werden hervorragend von den
ausbildern im struv vermittelt
man muss nur mitlesen

-----------------------------------------------------------------------------



Re^15: Ausbildung (Knurps, 25. Mai 2006, 14:24:30):
~#! rn=Vector rt=1148544888 rg=gilden.kaempfer
~#! tid=1148417443
Ich finde auch am Bericht nichts. Man muss schon grob danebenlangen, damit der
nicht akzeptiert wird. Ich wuerde sogar soweit gehen, zu behaupten, dass es
Mutwilligkeit und Vorsatz ist, wenn man seinen Gruetzartikel nicht
durchbekommt. Wenn der Bericht mit wenigigen grammatikalischen Fehlern
auskommt und beim "lies bericht" am ersten Prompt eine Zahl < 33% auftauchen,
hat man schon so gut wie gewonnen. 

Knurps, der Berichte gelesen hat und teilweise die Qualitaet zum weglaufen
fand

-----------------------------------------------------------------------------



Re^16: Ausbildung (Darklor, 25. Mai 2006, 16:20:33):
~#! rn=Knurps rt=1148559870 rg=gilden.kaempfer
~#! tid=1148417443
Also fuer mich hat die Attraktivitaet der Trves mit der Erhoehung der
Spielerlevelvoraussetzungen fuer die nidrigen GildenRaenge merklich
nachgelassen...

Darklor

-----------------------------------------------------------------------------



Re^16: Ausbildung (Ark, 25. Mai 2006, 16:48:16):
~#! rn=Knurps rt=1148559870 rg=gilden.kaempfer
~#! tid=1148417443
Am Ende ist es wie im richtigen Leben. Wer mit seinem Ausbilder nur blind
durch die Gegend laeuft ohne aufzupassen oder Fragen zu stellen, damit schnell
Kills (Anforderungen) aus dem Weg geraeumt werden, wird zwar nicht am
Aufsteigen gehindert, ob er/sie sich damit aber im praktischen Kaempferleben
einen Gefallen tut, sei dahin gestellt.
Mit der Ausbildung wird eine hervorragende Gelegenheit geboten, die noch
fehlende Kampferfahrung kaempfer- und spielerspeziifisch zu erhoehen. Ein
Angebot, mehr nicht. Wer es als laestige Pflicht sieht, muss sich die
Erfahrung anderswo holen ... oder bleibt "dumm".


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^17: Ausbildung (Seleven, 26. Mai 2006, 12:27:45):
~#! rn=Ark rt=1148568496 rg=gilden.kaempfer
~#! tid=1148417443
Ich finde das Ausbildungssystem der Trves vA deshalb so gut, weil es dem das M
im Mud so schoen unterstreicht. Auch wenn das Abstottern von Kills vielleicht
sogar die Regel ist, trotzdem frage ich als Ausbilder immer nach
Sonderwuenschen und schau auch hin, was der Azubi so macht. Und nein, ich
fuehle mich nicht als Superkaempfer. :)
Den Vorschlag staerkere Gegner mit mehr Kragenkills anzurechnen finde ich sehr
gut. Das schafft Anreize sich schwierigere Gebiete anzuschauen und verkuerzt
damit zumindest die Gefuehlte Dauer der Ausbildung.
Seleven, Terry und ein bisschen Sou :)

-----------------------------------------------------------------------------



Aenderungen: Teil II (Gabylon,  6. Jun 2006, 01:47:57):
Hi Trves,

Folgende Aenderungen sind ab sofort wirksam:

1. Lang hat's gedauert, doch nun ist es wahrgeworden:
   Leyidas Ilriel wurde von Brieseltrim auf Fortbildung geschickt.
   Unser Quotenelf beherrscht nun die Kunst der Kampfstaebe, was vor
   allen Dingen fuer Felinen interessant sein duerfte.
   Fuer alle anderen Rassen gilt: erst ausprobieren, dann meckern.

2. Ich konnte Brieseltrim davon ueberzeugen, dass es besser waere, wenn er
   ab sofort jeden Berichtsaushang lauthals verkuendet.



         Brieseltrim  Grieselhuck                      Gabylon
         - Kommandant des Struv -                - Gildenoberhaupt -

-----------------------------------------------------------------------------



Re: Aenderungen: Teil II (Gabylon,  8. Jul 2006, 00:46:02):
~#! rn=Gabylon rt=1149551277 rg=gilden.kaempfer
~#! tid=1149551277
Hi Trves,

hier noch eine Ergaenzung zu den Kaempfstaeben:

- Einhaendige Kampfstaebe sind zwar etwa genauso sinnvoll wie Zweihandmesser,
  mudlibseitig aber dennoch moeglich. Da man mit einem einhaendig gezueckten
  Kampfstab hoechstens Fliegen verjagen kann, gilt ab sofort, dass man damit
  deutlich weniger Schaden macht als mit einem Zweihandstab. Zudem lernt man
  mit einem Einhaender nichts.


gab

-----------------------------------------------------------------------------



Re: Re: Aenderungen: Teil II (Knurps,  8. Jul 2006, 19:41:26):
~#! rn=Gabylon rt=1152312362 rg=gilden.kaempfer
~#! tid=1149551277
Aehm, es gibt durchaus einhaendige Kampfstaebe, oder willst du behaupten,
Hanbo oder Tonfa waeren Keulen? Wenn ein Magier einen Einhandkampfstab
programmiert, wird er sich etwas dabei denken und die Waffe wird so gut
funktionieren, wie sie mittels Waffenklasse ausgelegt ist. Ich verstehe nicht
wirklich, warum du deine fehlende Phantasie als Grund fuer das Vorschieben
eines Riegels in der Gilde anfuehrst. 

Zweihaendige Messer gibt es nicht, einhaendige Kampfstaebe kennst du
anscheinend bloss nicht.

Die Trves haben einen Zweihandskill, somit sind Zweihandkampfstaebe per se
effektiver. Ich sehe ehrlich gesagt ueberhaupt keinen Handlungsbedarf.

Knurps

-----------------------------------------------------------------------------



Re^3: Aenderungen: Teil II (Vanhelsing,  8. Jul 2006, 19:44:41):
~#! rn=Knurps rt=1152380486 rg=gilden.kaempfer
~#! tid=1149551277
Huhu,

ich wuerde den Beitrag eher so deuten, dass er die Einhandkampfstaebe etwas
abwerten will/hat.

VH

-----------------------------------------------------------------------------



Re^3: Aenderungen: Teil II (Vector,  8. Jul 2006, 19:52:03):
~#! rn=Knurps rt=1152380486 rg=gilden.kaempfer
~#! tid=1149551277
2hand-messer gibt es nicht?

-----------------------------------------------------------------------------



Re^3: Aenderungen: Teil II (Zook,  8. Jul 2006, 21:05:57):
~#! rn=Knurps rt=1152380486 rg=gilden.kaempfer
~#! tid=1149551277
Ich vermute, die Lernsequenz muesste dies dann auch irgendwie
beruecksichtigen.

Zook.

-----------------------------------------------------------------------------



Re^4: Aenderungen: Teil II (Kellybundy,  9. Jul 2006, 01:20:40):
~#! rn=Vector rt=1152381123 rg=gilden.kaempfer
~#! tid=1149551277
Ich erinnere mich aber dunkel daran, dass es sowas wie ein 2-Hand-Zyn gab

-----------------------------------------------------------------------------



Re: Re: Aenderungen: Teil II (Zesstra,  9. Jul 2006, 12:10:50):
~#! rn=Gabylon rt=1152312362 rg=gilden.kaempfer
~#! tid=1149551277
Also, eigentlich ist ja schon alles gesagt, aber ich ich geb meinen Senf auch
nochmal dazu.
Ich finde es etwas schade, dass Du hier etwas kastrierst, nur weil Dir das
nicht in den Kram passt und dabei den einfachsten Weg gehst, es in Deiner
Gilde einfach so zu tun, statt es anderweitig zu klaeren (und wenn offenbar
die Balance und andere anderer Meinung sind, ist vielleicht an deren Meinung
was dran?).
Ich sehe da den Handlungsbedarf deinerseits nicht. Wie Knurps schon sagte,
werden einhaendige Kampftstaebe/Kampfstoecke (Beispiele s. Knurps) eine
deutlich niedrige P_WC haben und damit ists doch gut? IMO gibt es echt
wichtigere Dinge.

BTW: Wenn Du einhaendige Kampfstaebe unrealistisch haelst und fuer Kaempfer
entwertest, wann baust Du denn aus, dass Kaempfer sich waehrend des Kampfes
umziehen oder staendig Waffen wechseln? (nein, das war eine rhetorische Frage
und keine Forderung, daran etwas zu aendern)

Zesstra

-----------------------------------------------------------------------------



Re^3: Aenderungen: Teil II (Sharia,  9. Jul 2006, 17:35:43):
~#! rn=Zesstra rt=1152439850 rg=gilden.kaempfer
~#! tid=1149551277
vor vielen Jahren wurde schon diskutiert ob es 2 haendige Messer geben kann ..
und auch Kampfstaebe ... auch wegen den Kaempfern .. . und es gibt auch im RL
genau das: 2 haendige Messer und 1 haendige Kampfstaebe

Sharia

-----------------------------------------------------------------------------



Re^4: Aenderungen: Teil II (Alkohol,  9. Jul 2006, 17:37:33):
~#! rn=Sharia rt=1152459343 rg=gilden.kaempfer
~#! tid=1149551277
naja das wird sich aber nie aendern, solange manche leute sich nicht
vorstellen koennen, dass es andere Meinungen als die ihre gibt.

Alki

-----------------------------------------------------------------------------



Re^4: Aenderungen: Teil II (Vanir,  9. Jul 2006, 18:34:37):
~#! rn=Sharia rt=1152459343 rg=gilden.kaempfer
~#! tid=1149551277
Achja, das war doch diese herrliche Diskussion ueber ein Wiegemesser zum
Kraeuterhacken. Und schlussendlich wurde das Hackmesser (so heisst/hiess das
2-Handmesser hier im mud) einhaendig gemacht.

Vanir ap Nial.
*

-----------------------------------------------------------------------------



Re^5: Aenderungen: Teil II (Darklor,  9. Jul 2006, 20:41:47):
~#! rn=Vanir rt=1152462877 rg=gilden.kaempfer
~#! tid=1149551277
Ja, manchmal fragt man sich wie manche Leute es zum Gildenmagier schaffen...

Darklor

-----------------------------------------------------------------------------



Re^6: Aenderungen: Teil II (Gabylon, 10. Jul 2006, 01:19:27):
~#! rn=Darklor rt=1152470507 rg=gilden.kaempfer
~#! tid=1149551277
Man kann sich entfernt vorstellen, ein Messer mit zwei Haenden zu fuehren.
Wenn man das tut, was hat man dann aber in der Hand? Richtig, ein kurzes
Schwert. Ergo uebe ich auch in dem Augenblick Schwertkampf (lassen wir mal
solch Kram wie Wiegekraeuterhackmesser beiseite, sowas ist hoechstens fuer
den Koch des Struvs interessant). Es gibt also keine Zweihandmesser, da
man mit denen wie ein Schwert kaempfen wuerde.
So weit so gut.

Einhaendige Kampfstaebe sind nun noch unsinniger als Zweihandmesser. Warum?
Ein Kampfstab, der einhaendig angefasst wird, verliert schlicht und
ergreifend seine Funktion. Man kann ihn einhaendig transportieren oder auch
einhaendig ganz prima als Wanderstab benutzen, aber nicht mehr (vernuenftig)
damit kaempfen. Das waere so, als wuerde man einhaendig klatschen wollen.
Es geht einfach nicht.

Eine Tonfa ist kein Kampfstab, sondern ein Kampfstock. Strenggenommen muesste
man also noch ein paar Waffengattungen mehr ins MG einfuehren, um allen
moeglichen Waffen gerecht zu werden. Da das aller Wahrscheinlichkeit nicht
moeglich ist, muessen einzelne exotische Waffen in die vorhandenen Kategorien
eingeordnet werden.
Und wer nur ein bisschen vom Fach kommt, also z.B. auch in RL mal mit einer
Tonfa gekaempft hat, wird nachvollziehen koennen, dass sie sich am ehesten
in die Waffengattung der stumpfen Hiebwaffen einordnen laesst. Der zweite
Griff ist halt um 90 Grad versetzt, ansonsten ist es eine duenne Keule.
Zumindest ist dies bei meiner Tonfa so, mit der ich drei meiner zehn
Kampfsportjahre doch recht regelmaessig geuebt habe.
Kampfstaebe und Kampfstoecke liegen also, obgleich recht wortverwandt, in
ihrer Erscheinungsform, Funktion und Handhabung mindestens so weit entfernt
auseinander wie Messer und Schwerter es tun.

Wer sich immer noch nicht vorstellen kann, was ein Kampfstab ist oder wie man
damit kaempft, kann gerne die Lernsequenz unseres Meisters Leyidas Ilriel
verfolgen. Wer es sich mit dem Lesen und der damit verbundenen noetigen
Vorstellungskraft schwerer tut als erwartet, kann auch gerne mal bunte
Bildchen schauen: Little John und Kevin Costner machen es in "Robin Hood"
recht respektabel vor und Gabrielle aus der "Xena"-Serie ist sogar eine wahre
Meisterin dieser Waffengattung.

Was bei allem nicht heisst, dass man mal einen Kampfstab fuer *kurze* Zeit
einhaendig fassen kann: zum Herumwirbeln in Fernost-Manie geht das wohl ganz
gut und der Ueberraschungseffekt liegt dann auch mit Sicherheit auf der Seite
des Kaempfenden. Staendig wie eine Windmuehle durch die Gegend zu rennen ist
aber aus verstaendlichen Gruenden weder effektiv noch ratsam.

Wenn dann immer noch die Forderung nach einhaendigen Kampfstaeben aufkommt,
bzw. bleibt, kann ich nur sagen: nicht ich habe zu wenig Phantasie, sondern
derjenige hat zuviel davon. Und/oder zuwenig Realitaetssinn.

Man kann nichts kastrieren, was eh nicht vorhanden ist.


gab

-----------------------------------------------------------------------------



Re^7: Aenderungen: Teil II (Darklor, 10. Jul 2006, 02:26:02):
~#! rn=Gabylon rt=1152487167 rg=gilden.kaempfer
~#! tid=1149551277
Ein Kampfstock hat mit einer Keule weit weniger gemeinsam als mit einem
Kampfstab. Fuer die effektive Nutzung einer Keule wird vorrangig auf Kraft
gesaezt, aber bei Stoecken und Staeben auf Geschick. Im uebrigen gibt es keine
duennen Keulen, denn eine Keule besteht immer aus einem Griff und einem
massiven Ende. Deswegen sind Kampfstoecke eher einhaendige Kampfstaebe, als
Keulen. (Das kann man glaub ich recht gut an den Escrima Kampfstoecken und am
japanischen Hanbo (und es gibt sicherlich auch noch weitere Beispiele)
sehen...) Ausserdem koennen Stock und Stab ob ihrer Aehnlichkeit auch als
Synonyme benutzt werden. (So is ein Stock auch mal zweihaendig und ein Stab
einhaendig.), was die Einordnung zu den Keulen albern erscheinen laesst.    

Darklor

-----------------------------------------------------------------------------



Re^7: Aenderungen: Teil II (Alkohol, 10. Jul 2006, 10:15:58):
~#! rn=Gabylon rt=1152487167 rg=gilden.kaempfer
~#! tid=1149551277
so ganz kann ich dir nciht folgen, ich bitte um Erlaeuterungen, um meine
Dummheit ein wenig zu lichten.

Du sagst es gibt Kampfstaebe und Kampfstoecke, es sind verschiedene Dinge und
man benutzt sie sehr verschieden. Insbesondere kann man die einen einhaendig
fuehren, die anderen wohl nicht. Ok soweit versteh ich das. (Ich kenn mich da
nicht aus, aber es waere durchaus plausibel fuer mich. Inwieweit das mit der
Realitaet uebereinstimmt, kann ich nicht beurteilen und ist auch egal)

Andererseits gibt es mudlibseitig nur die Klasse WT_STAFF. Das sind fuer dich
eindeutig Staebe, daher koennen die nur zweihaendig gefuehrt werden. Die
Stoecke, naja die kann man einhaendig fuehren. Es gibt aber keine Klasse
dafuer, wohloder uebel muessen die dann wohl auch in WT_STAFF (oder sind es
historisch gesehen einfach). Was ich da nicht ganz verstehe jetzt ist
folgendes:

Wenn es durchaus eine ganze Menge Stoecke gibt, die (vielleicht historisch
oder aus anderen Gruenden) WT_STAFF sind, wieso erzwingt man dann die
zweihaendige Nutzung. Waere da nicht der bessere Weg, diesen Zwang aufzuheben
und das den Programmierern der Waffe zu ueberlassen?

Alki

-----------------------------------------------------------------------------



Re^7: Aenderungen: Teil II (Ark, 10. Jul 2006, 11:10:58):
~#! rn=Gabylon rt=1152487167 rg=gilden.kaempfer
~#! tid=1149551277
Mit den Massnahmen ist der Klasse WT_STAFF irgendwie ein Hard Stop bei der
Attraktivitaet gesetzt worden. Einhaendige Kampfstaebe werden unter den
Umstaenden sicher nicht ernsthaft geschrieben, und Kaempfer, die sich darauf
spezialisieren wollen/muessen, sind in der Wahl der Waffen und der Kampfweise
beschraenkt (Schildparade und Schild entfallen damit).
Die 100% Realitaet heranzufuehren ist imho der falsche Ansatz. Wir spielen
hier ein Spiel, das eine Realitaet vorgaukelt, aber nicht ersetzt, insofern
tut es meist eine 80-90% Abbildung genauso, ohne den Spielspass zu
beeintraechtigen. Eine Realitaetsvergleichsdiskussion fuehrt imho zu
Scrollartikeln und damit meist ins Leere.
Ansonsten ist ein Einhandkampf mit jeder Waffe bei Verlust der zweiten Hand
(welcher?!) mit Einbussen bei Lernen und Kaempfen zu sanktionieren, dito Kampf
in Dunkelheit, bei Blindheit, unter Wasser, etc.
Das Gleiche gilt uebrigens meines Erachtens fuer die zitierten zweihaendigen
Messer, aber das hatten wir ja schon.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^8: Aenderungen: Teil II (Gabylon, 10. Jul 2006, 12:06:19):
~#! rn=Ark rt=1152522658 rg=gilden.kaempfer
~#! tid=1149551277
Hundertprozentige Realitaet will hier keiner und das wird hier auch keiner
schaffen.
Doch wollen wir versuchen, sie moeglichst genau abzubilden.

Ein Hanbo ist ein kurzer Stab, bzw. ein langer duenner Knueppel.
Eine Aehnlichkeit zu einem Kampfstab ist unweigerlich vorhanden. Doch reicht
diese nicht aus, um hier in die Waffengattung der Kampfstaebe eingeordnet zu
werden, da man mit einem Hanbo im Prinzip wie mit einer Keule kaempft: an dem
einen Ende anfassen und mit dem anderen zuhauen (die Masse und Massevertei-
lung des Hanbos spielen dabei eher eine untergeordnete Rolle).
Das hat mit der Kampftechnik der Kampfstaebe aber auch rein gar nichts zu tun.

Und bevor jetzt jemand mit Konsaibo oder Tetsubo kommt: das sind lange,
schwere Knueppel, welche auch im Prinzip wie Keulen benutzt werden. Nur
sehen sie halt den Kampfstaeben recht aehnlich. Mehr aber auch nicht.

Natuerlich kann man einen Kampfstab einhaendig anfassen; alles, was man
dann aber uebt ist die Kampftechnik der Keulen oder die der Speere.
Je nach Verhaeltnis der Laenge des Stabes zu einem selbst.

Ja, man ist als potentieller Kampfstabnutzer etwas eingeschraenkt, was die
Schildwahl betrifft. Aber man kann halt nicht mit einem Schild und einem
Kampfstab, mit welchem man auch in der Technik der Kampfstaebe kaempfen
moechte wohlgemerkt, gemeinsam kaempfen.
Nur Zauberer haben die Extrahand.


gab

-----------------------------------------------------------------------------



Re^9: Aenderungen: Teil II (Gloinson, 10. Jul 2006, 13:58:28):
~#! rn=Gabylon rt=1152525979 rg=gilden.kaempfer
~#! tid=1149551277
> ein Hanbo ist ein kurzer Stab, bzw. ein langer duenner Knueppel

Und ein Bo ist dann der lange Stab? Um die Verwirrung der Woerter perfekt zu
machen behauptet mein Handbuch der japanischen Schrift (ISBN 3-468-49391-6),
Bo hiesse "Stock" und "Han" halb. Das heisst schon der lange ist nur ein Stock
und der andere ein Stoeckchen? Und wo ist jetzt der Stab und seine
vielgeruehmte Technik?

(Erwaehnen wir lieber nicht, dass wir frueher mit Zeigestoecken (oder
-staeben) auch noch gefochten haben, oder?)


-----------------------------------------------------------------------------



Re^9: Aenderungen: Teil II (Knurps, 10. Jul 2006, 14:10:31):
~#! rn=Gabylon rt=1152525979 rg=gilden.kaempfer
~#! tid=1149551277
Ach komm schon, Stab resp. Kampfstab sind keine Bezeichnungen fuer eine
Technik. WT_STAFF sind Staebe und das Wort STAB und STAFF sind uebrigens auch
nur eine Lautverschiebung auseinander. 

Wenn du sagst: "Ein Hanbo ist ein kurzer Stab" dann rufe ich 'Juhu' und sage,
wunderbar: WT_STAFF -> Stab, alles klar.
Wenn du dich allerdings ueber Kampftechniken auslassen willst, dann lies
einfach 'man techniken'. Es gibt TQ_THRASH und TQ_THRUST, kann man sogar in
der Waffe definieren. Siehe P_TECHNIQUE... 

Oh, jetzt magst du anmerken, dass die Kaempfergilde das ja gar nicht
auswertet. Na sowas... Wenn du mit Staeben dieselbe Kampftechnik wie bei
Keulen anwendest, ist das dein Privatvergnuengen, man kann auch mit einem
Bogen wie mit einer Keule kaempfen, und? 

Stab ist Stab und Technik ist Technik.

-----------------------------------------------------------------------------



Re^9: Aenderungen: Teil II (Zesstra, 10. Jul 2006, 15:39:55):
~#! rn=Gabylon rt=1152525979 rg=gilden.kaempfer
~#! tid=1149551277
Ok, schreib ich doch nochmal was dazu.
Als erstes definierst Du nun kurze Staebe als Stock. Dabei muss man aber
extrem aufpassen, weil diese Definition sehr willkuerlich und kulturell arg
verschieden ist. So wird z.B. ein Bo (jap. 'langer Stab') sowohl als Stab als
auch als Stock bezeichnet, ebenso kann offenbar selbst ein 26cm langer Stock
als Stab bezeichnet werden. Ebenso beinhaltet Bojutsu ('the art of fighting
with a long wooden staff') sowohl Rokushyaku-bou / Bo (180cm), Han-bo (90cm)
und Tan-Bo (60cm).
Im Deutschen finde ich z.B. folgendes: "Als Stock oder Stab bezeichnet man
einen laenglichen massiven zylindrischen, meist auch handhabbaren, Gegenstand.
Stoecke gelten zumeist als stabiler, groeber und anwendungsbezogener, als
Staebe
werden grazilere, ebenmaessigere Ausfuehrungen bezeichnet,..."
Naja, also ist dieser Punkt schonmal ein Definitionsproblem (welches
natuerlich loesbar ist).

Ok, nun definierst Du Stoecke als Keulen, aufgrund der angeblich
ausschliesslichen verwendeten 'Keulentechnik'. Ich bezweifle, dass sich die
alten japanischen Schulen wie z.B. Shinto Muso-ryu (Uchida Ryu Tanjojutsu), 
Kukishin Ryu Hanbo nur darauf beschraenkt haben und finde die Einordnung
unzureichend. Mit dem gleichen Argument koennte man die kurzen Staebe in
WT_SWORD einordnen, weil des oefteren auch Techniken aus dem Schwertkampf bei
diesen zur Anwendung kommen und liegt damit nicht weniger falsch als mit
WT_CLUB. (Ebenso enthaelt der Stabkampf Techniken des Speerkampfs.)

Wenn Du nun allerdings den Waffentyp (WT_STAFF) von der (gerade verwendeten?)
Technik abhaengig machst, haben wir natuerlich nen Problem. Dann kommen wir
naemlich mit relativ wenigen Waffentypen (und -Skills) nicht aus. In dem Fall
muessten wir auch z.B. WT_SWORD in mehrere Typen aufspalten, weil sich die
verwendeten Kampftechniken innerhalb WT_SWORD ganz erheblich unterscheiden.
Ebenfalls schwierig wird dann z. B. der englische Langstab, der bis zu 5.4m
lang sein kann und damit sicherlich anders gehandhabt wird als ein
Standard-Zweihand-2m-Stab, wie Du WT_STAFF verstanden haben willst. Brauchen
wir dann neben dem Kurzstab/Stock (WT_SHORTSTAFF/WT_STICK) auch ein
WT_LONGSTAFF? Gehen wir noch einen Schritt weiter, muesste sich der WT sogar
in Abhaengigkeit der gerade benutzten Technik aendern.

Wesentlich sinnvoller waere natuerlich ein System (wie Knurps schon
anderweitig schrieb), in dem ein Magier eine Waffe baut (z.B. WT_STAFF) und
dabei die benutzbare(n) Technik(en) angibt und dies von z.B. der Kaempfergilde
passend ausgewertet wuerde.

Passt nun ein kurzer Stab in die Rubrik Keulen? Nein, denn man benutzt so ein
Ding nicht ausschliesslich, um wie einer Keule einfach mit viel Kraft
zuzuhauen. In Wikipedia zum Thema 'stick fighting' finde ich uebrigens
folgendes zur Abgrenzung von Stoecken/Staeben zu Keulen:
"When the weapon is rather too thick and/or heavy to be wielded with such
precision, so sheer force of impact is more important, we rather call it a
club, such as a cudgel or a mace."

Zesstra

-----------------------------------------------------------------------------



Re^9: Aenderungen: Teil II (Muadib, 10. Jul 2006, 16:27:52):
~#! rn=Gabylon rt=1152525979 rg=gilden.kaempfer
~#! tid=1149551277
nicht nur zauberer haben eine extrahand

-----------------------------------------------------------------------------



Re^10: Aenderungen: Teil II (Muadib, 10. Jul 2006, 16:29:18):
~#! rn=Knurps rt=1152533431 rg=gilden.kaempfer
~#! tid=1149551277
wertet denn irgendjemand diese techniken aus, oder sind es nicht eher relikte

-----------------------------------------------------------------------------



Re^11: Aenderungen: Teil II (Knurps, 10. Jul 2006, 16:30:02):
~#! rn=Muadib rt=1152541758 rg=gilden.kaempfer
~#! tid=1149551277
Das schlichte Katana ist eine balancierte Art von Schwert.
Es handelt sich um eine Zweihandwaffe, die sehr grossen Schnittschaden
verursacht. Man setzt diese Waffe mit einer Schlagtechnik, einer
Streichtechnik oder einer Stosstechnik ein. Es zeigt eventuell auch in der
Verteidigung eine Wirkung.

Sagt Koryoku. :)

-----------------------------------------------------------------------------



Re^12: Aenderungen: Teil II (Muadib, 10. Jul 2006, 16:31:28):
~#! rn=Knurps rt=1152541802 rg=gilden.kaempfer
~#! tid=1149551277
ja
das wuerde die zusaetzliche frage zu der herkunft besagter relikte teilweise
beantworten

-----------------------------------------------------------------------------



Re^11: Aenderungen: Teil II (Ark, 10. Jul 2006, 16:32:06):
~#! rn=Muadib rt=1152541758 rg=gilden.kaempfer
~#! tid=1149551277
Haette auf Tanjian getippt, aber bin mir nicht sicher. Es hiess mal, die Gilde
wertet das aus.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^12: Aenderungen: Teil II (Boing, 10. Jul 2006, 16:32:56):
~#! rn=Ark rt=1152541926 rg=gilden.kaempfer
~#! tid=1149551277
Nur das 'schaetz'-Aequivalent der Tanjian wertet das aus ... meines 
Wissens werden die Techniken nirgends benutzt. Das ist meiner Meinung
nach aber auch gut so ... ;)
  Boing

-----------------------------------------------------------------------------



Re^12: Aenderungen: Teil II (Muadib, 10. Jul 2006, 17:03:36):
~#! rn=Ark rt=1152541926 rg=gilden.kaempfer
~#! tid=1149551277
ja, zum teil

-----------------------------------------------------------------------------



Re^13: Aenderungen: Teil II (Muadib, 10. Jul 2006, 17:03:54):
~#! rn=Boing rt=1152541976 rg=gilden.kaempfer
~#! tid=1149551277
ich teile diese meinung vollstaendig

-----------------------------------------------------------------------------



Re^14: Aenderungen: Teil II (Vector, 10. Jul 2006, 17:19:17):
~#! rn=Muadib rt=1152543834 rg=gilden.kaempfer
~#! tid=1149551277
irgendwie gibts gemoser als dank dafuer, dass die kaempfer
einen weiteren skill bekommen? im umkehrschluss gibts ja
eigentlich nur eins:
den skill (und andere skills) abhaengen und die kaempfer
sollten dann zufrieden sein? mann mann mann, da wird 
jedes mal ein mega-aufstand gefahren wegen nix und wieder nix,
und das wo versucht wird, die kaempfer (noch) vielfaeltiger
zu machen. glaube echt, ein paar mosern hier schon aus 
prinzip.
anwort auf letzten artikel .....etc pp

-----------------------------------------------------------------------------



Re^15: Aenderungen: Teil II (Chagall, 10. Jul 2006, 17:23:53):
~#! rn=Vector rt=1152544757 rg=gilden.kaempfer
~#! tid=1149551277
Ich glaube die wenigstens sind gegen einen neuen Skill fuer die
Kaempfer. In der Diskussion geht es halt darum zu klaeren, was
genau im Sinne des Muds nun ein Kampfstab/Kampfstock etc. ist.

MC

-----------------------------------------------------------------------------



Re^15: Aenderungen: Teil II (Muadib, 10. Jul 2006, 18:32:38):
~#! rn=Vector rt=1152544757 rg=gilden.kaempfer
~#! tid=1149551277
also "gemoser" gibt es ja nicht ob des skills, sondern ob der einschraenkung
des skills

-----------------------------------------------------------------------------



Re^15: Aenderungen: Teil II (Darklor, 10. Jul 2006, 20:30:34):
~#! rn=Vector rt=1152544757 rg=gilden.kaempfer
~#! tid=1149551277
Ich hab nix gegen den Skill, schliesslich hatte ich den unter anderm schon
Maarg mit vorgeschlagen, zwar als Lueckenfuellerrang, aber egal. Aber mich
stoert, wie damit umgesprungen wird. Und wie sich die Kaempfer so unverhofft
zum schlechteren veraendert haben (fuer kleinere Spieler).

Darklor

-----------------------------------------------------------------------------



Re^16: Aenderungen: Teil II (Anatol, 16. Jul 2006, 21:25:23):
~#! rn=Darklor rt=1152556234 rg=gilden.kaempfer
~#! tid=1149551277
Man kann Gabylon fuer so unfaehig halten wie man will - fuer
die unglueckliche Kategorisierung der Waffen im Morgengrauen
kann er meines Wissens nichts.

Anatol 

-----------------------------------------------------------------------------



Re^17: Aenderungen: Teil II (Muadib, 16. Jul 2006, 23:54:11):
~#! rn=Anatol rt=1153077923 rg=gilden.kaempfer
~#! tid=1149551277
irgendwie kann ich an axt, keule, haende, messer, magie, fernwaffe, speer,
stab, schwert und peitsche nichts ungluecklicheres erkennen als an schlagen,
stossen, streichen und peitschen. egal ob balanciert oder unbalanciert. im
gegenteil
aber wahrscheinlich bin ich einfach zu stumpf

-----------------------------------------------------------------------------



Re^18: Aenderungen: Teil II (Lug, 21. Jul 2006, 00:33:44):
~#! rn=Muadib rt=1153086851 rg=gilden.kaempfer
~#! tid=1149551277
Ich nehm immer nen Besenstiel

-----------------------------------------------------------------------------



Re: Kampfstaebe (Gabylon, 31. Jul 2006, 18:20:26):
~#! rn=Zook rt=1154362582 rg=bekanntmachungen
~#! tid=1154362582
Hi Trves,

nachdem nun entschieden wurde, dass Kampfstaebe und Kampfstoecke hier im
MG in eine Waffenkategorie fallen, sollten die Kaempfer hinsichtlich dessen
natuerlich keine Ausnahme bilden.
Sprich: Kampfstoecke zaehlen nun (wieder) zu den Kampfstaeben, deshalb
kann diese Waffengattung nun auch (wieder) einhaendig im Kampfe gefuehrt
werden.
Die Lern- und Schadensbeschraenkung ist damit aufgehoben.


gab

-----------------------------------------------------------------------------



Zweities erlaubt? (Gabylon, 14. Aug 2006, 14:50:18):
Hi Trves,

zur Zeit liegt die Azubiknappheit in Arbeit und es sollen bald auch andere
Gilden in den Genuss der Trves'schen Ausbildung kommen.

Da stellt sich mir unter anderem die Frage, ob man die Ausbildung von
Zweities verbieten sollte, da meiner Meinung nach es dann wieder genug
potentielle Azubis geben sollte und das das Miteinander unter den Spielern
foerdert.
Gegenargumente koennten sein, dass die Spieler, die ihre Zweities nicht
markiert haben, dadurch einen Vorteil ziehen.

Was meint ihr dazu?


gab

-----------------------------------------------------------------------------



Re: Zweities erlaubt? (Maharet, 14. Aug 2006, 14:52:34):
~#! rn=Gabylon rt=1155559818 rg=gilden.kaempfer
~#! tid=1155559818
Ich glaube, das Problem sind die mangelnden Ersties. Es gibt nur deswegen
relativ (!) viele Spieler, wenn man die Gilden zusammennimmt, weil so viele
Leute ihre Zweities auf die Gilden verteilt haben.  Den Schutz vor Ausbildung
des eigenen Zweities hat man doch dadurch, dass man mit seinem Zweitie kein
Team bilden kann.

Maha

-----------------------------------------------------------------------------



Re: Re: Zweities erlaubt? (Gabylon, 14. Aug 2006, 14:58:28):
~#! rn=Maharet rt=1155559954 rg=gilden.kaempfer
~#! tid=1155559818
Dem ersten Teil Deines Artikels stimme ich Dir wohl zu.
Zum zweiten Teil: Ich muss nicht mit meinem Azubi in einem Team sein,
um ihn auszubilden.

gab

-----------------------------------------------------------------------------



Re^3: Zweities erlaubt? (Maharet, 14. Aug 2006, 14:58:44):
~#! rn=Gabylon rt=1155560308 rg=gilden.kaempfer
~#! tid=1155559818
Dann mach das doch zur Voraussetzung.

-----------------------------------------------------------------------------



Re: Re: Zweities erlaubt? (Elberet, 14. Aug 2006, 14:59:57):
~#! rn=Maharet rt=1155559954 rg=gilden.kaempfer
~#! tid=1155559818
man muss aber fuer ausbilden nicht in einem team sein, oder? Wobei man das ja
verlangen koennte, wenn man das mit den zweities abfangen wollte.

Was das verbieten der zweitieausbildung angeht, so faende ich das nicht gut.
Ich sehe keinen Grund fuer so eine Aenderung, daher muss ich auch nicht
begruenden, wieso ich dagegen bin :)

Alki

-----------------------------------------------------------------------------



Re^3: Zweities erlaubt? (Elberet, 14. Aug 2006, 15:00:23):
~#! rn=Elberet rt=1155560397 rg=gilden.kaempfer
~#! tid=1155559818
ich haette auch einfach weiterlesen koennen ...

Alki

-----------------------------------------------------------------------------



Re^3: Zweities erlaubt? (Maharet, 14. Aug 2006, 15:00:37):
~#! rn=Elberet rt=1155560397 rg=gilden.kaempfer
~#! tid=1155559818
Ganz einfach: schon allein die Leute mit Magier duerften dann nicht mehr
ausgebildet werden ;)

-----------------------------------------------------------------------------



Re: Zweities erlaubt? (Sharia, 14. Aug 2006, 15:01:25):
~#! rn=Gabylon rt=1155559818 rg=gilden.kaempfer
~#! tid=1155559818
entschieden dagegen ... es sind viel zu wenig Leute im Mud ... da braucht man
jeden .. auch Zweities

Sharia

-----------------------------------------------------------------------------



Re^3: Zweities erlaubt? (Gabylon, 14. Aug 2006, 15:01:59):
~#! rn=Elberet rt=1155560397 rg=gilden.kaempfer
~#! tid=1155559818
Ok, ich haette mich klarer ausdruecken koennen:

Ich meine natuerlich ein Verbot der EIGENEN Zweities.

gab

-----------------------------------------------------------------------------



Re^4: Zweities erlaubt? (Elberet, 14. Aug 2006, 15:02:03):
~#! rn=Maharet rt=1155560437 rg=gilden.kaempfer
~#! tid=1155559818
gibts leute mit magiern denn ueberhaupt?

Aber ich denke, wir sollten nicht verlangen, dass alle Kaempfer ersties sein
muessen.

-----------------------------------------------------------------------------



Re^4: Zweities erlaubt? (Elberet, 14. Aug 2006, 15:02:55):
~#! rn=Gabylon rt=1155560519 rg=gilden.kaempfer
~#! tid=1155559818
eigenen zweitie waere ok, kannst ja einfach verlangen, dass man im team sein
muss, dann waerst alle Probleme los.

Alki

-----------------------------------------------------------------------------



Re^5: Zweities erlaubt? (Maharet, 14. Aug 2006, 15:03:41):
~#! rn=Elberet rt=1155560575 rg=gilden.kaempfer
~#! tid=1155559818
Achsoooo. Na denn. :)

-----------------------------------------------------------------------------



Re^5: Zweities erlaubt? (Gabylon, 14. Aug 2006, 15:08:11):
~#! rn=Elberet rt=1155560575 rg=gilden.kaempfer
~#! tid=1155559818
Es wundert mich gerade ein bisschen, dass das so missverstaendlich
ankam. Also nochmal in aller Deutlichkeit:

- Zweities ausbilden ist in allen Gilden erlaubt, solange es nicht der
  eigene ist.

- Abfrage koennte bei Brieseltrim erfolgen, dann ist das Team auch kein
  muss.

- Bleibt immer noch das Problem, dass die Spieler einen Vorteil haben
  koennten, die ihre Zweities nicht markieren.


gab

-----------------------------------------------------------------------------



Re^6: Zweities erlaubt? (Maharet, 14. Aug 2006, 15:08:55):
~#! rn=Gabylon rt=1155560891 rg=gilden.kaempfer
~#! tid=1155559818
Haben sie bei vielen Sachen. Bis sie erwischt werden ;)
Davor kannste halt nicht schuetzen.

-----------------------------------------------------------------------------



Re^7: Zweities erlaubt? (Maharet, 14. Aug 2006, 15:09:31):
~#! rn=Maharet rt=1155560935 rg=gilden.kaempfer
~#! tid=1155559818
Es sei denn, du machst Voraussetzung, dass der Azubi der Zweitie eines anderen
ist. Dann haben halt Ersties das Nachsehen ;)

-----------------------------------------------------------------------------



Re: Zweities erlaubt? (Ark, 14. Aug 2006, 16:26:38):
~#! rn=Gabylon rt=1155559818 rg=gilden.kaempfer
~#! tid=1155559818
Hm, die Ausbildung von Zweities verbieten? Und was machen wir mit denen?
Alternativen? Wuerde mich als Betroffenen natuerlich interessieren, was ich
dann machen muss, um in der Gilde weiterspielen zu koennen :-)
Oder ich habe die Konsequenzen nicht ganz ueberblickt.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^4: Zweities erlaubt? (Ark, 14. Aug 2006, 16:29:55):
~#! rn=Gabylon rt=1155560519 rg=gilden.kaempfer
~#! tid=1155559818
Naja, dann wird es klarer. Ich lag wohl dem Irrglauben auf, dass man wirklich
nur im Team ausbilden kann und sich diese Frage nicht stellt. Die Muehe, sich
einen eigenen Zweiti zum Ausbildungsdulli zu machen, ist mir als Telnetspieler
mit maennlicher Beschraenktheit nicht gekommen. Man wird klueger :-)
Allerdings stellt sich die Frage, ob diese Leute dann jubelnd von der
Ausbildung ihres eigenen Zweitis ablassen und ein wenig mehr Zusammenspiel
suchen.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^5: Zweities erlaubt? (Maharet, 14. Aug 2006, 16:30:47):
~#! rn=Ark rt=1155565795 rg=gilden.kaempfer
~#! tid=1155559818
Zumal das Problem ja bisher auch besteht, das wuerde durch die Ausweitung auf
andere Gilden nicht erst aufkommen.

-----------------------------------------------------------------------------



Re: Zweities erlaubt? (Croft, 14. Aug 2006, 16:37:27):
~#! rn=Gabylon rt=1155559818 rg=gilden.kaempfer
~#! tid=1155559818
Ich versteh nicht ganz was es bringen soll. "Foerderung des Miteinander"
kanns ja nicht allein sein.  Miteinander geht von Spielern aus, nicht
von irgendwelchen kuenstlichen Beschraenkungen.  Insofern versprech
ich mir in der Hinsicht kaum eine messenswerte Aenderung.  Anders
gefragt: Wieviele Leute haben mehrere Zweities bei den Trves und
waeren dadurch betroffen?

Croft

-----------------------------------------------------------------------------



Re^4: Zweities erlaubt? (Mcdee, 14. Aug 2006, 17:02:13):
~#! rn=Gabylon rt=1155560519 rg=gilden.kaempfer
~#! tid=1155559818
Huhu,

wenn es bisher moeglich gewesen sein sollte, den eigenen Zweitie auszubilden,
wuerde ich das Unterbinden dieses Verhaltens eher als Bugfix ansehen und gar
keine grosse Diskussion starten.

Ich zitiere mal von der Website:

Stets bedenke eins: Es ist grundsaetzlich verboten, dass Ausbilder und
Auszubildender vom gleichen Geiste gelenkt seien!

(Anmerkung des Uebersetzers: hier soll wohl darauf hingewiesen werden, dass
der Auszubildende kein Zweitie des Ausbilders sein darf.)

Dee

-----------------------------------------------------------------------------



Re^5: Zweities erlaubt? (Croft, 14. Aug 2006, 17:05:23):
~#! rn=Mcdee rt=1155567733 rg=gilden.kaempfer
~#! tid=1155559818
Unter 'hilfe regeln' steht das aber anders ;-)

Croft

-----------------------------------------------------------------------------



Re^5: Zweities erlaubt? (Sharia, 14. Aug 2006, 17:05:55):
~#! rn=Mcdee rt=1155567733 rg=gilden.kaempfer
~#! tid=1155559818
... ich denke noch vielmehr, McDee, das soll heissen, dass man sich auch nicht
irgendeinen Zweiti von nem Freund ausleihen soll und diesen ausbilden .. also
nach dem Motto: Markier du mal XY auf Deinen Namen ...

DAS ist wohl mit "vom gleichen Geiste gelenkt" gemeint

und damit soll auch gemeint sein, dass nicht 2 "Erstspieler" vom gleichen
Menschen aus gesteuert werden sollen

Sharia

-----------------------------------------------------------------------------



Re^6: Zweities erlaubt? (Mcdee, 14. Aug 2006, 17:23:40):
~#! rn=Sharia rt=1155567955 rg=gilden.kaempfer
~#! tid=1155559818
Sharia,

den letzten Absatz hatte ich lediglich mitzitiert. Insofern gibt es keinen
Anlass diese Regel anders zu deuten, zumal das wovon du sprichst in 'hilfe
regeln' erlaeutert ist (Stichpunkt Verleihen von Charakteren).

Dee

-----------------------------------------------------------------------------



Re: Zweities erlaubt? (Muadib, 14. Aug 2006, 17:46:49):
~#! rn=Gabylon rt=1155559818 rg=gilden.kaempfer
~#! tid=1155559818
Ich war der Meinung, dass das schon verboten sei.

-----------------------------------------------------------------------------



Re^5: Zweities erlaubt? (Muadib, 14. Aug 2006, 17:50:43):
~#! rn=Mcdee rt=1155567733 rg=gilden.kaempfer
~#! tid=1155559818
die formulierung meinte ich
die bringt doch irgendwann der brieselsack, oder?

-----------------------------------------------------------------------------



Re^6: Zweities erlaubt? (Ark, 14. Aug 2006, 18:02:40):
~#! rn=Muadib rt=1155570643 rg=gilden.kaempfer
~#! tid=1155559818
Ok, bevor die Meinerei ins Uferlose aufbricht ... vielleicht sollte man das
wirklich mal an allen Stellen interpretationsfrei klaeren. Vom Gedanken her
gehoeren Azubi und Ausbilder im Kampf in ein Team, damit waere imho auch
elegant das Ausbilden eigener Zweitis durch deren Ersti unterbunden. Was ich
ja irrtuemlicherweise schon als "geloest" ansah :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^7: Zweities erlaubt? (Muadib, 14. Aug 2006, 18:07:20):
~#! rn=Ark rt=1155571360 rg=gilden.kaempfer
~#! tid=1155559818
die gehoeren in ein team?
wieso?
ein ausbilder hat seinen azubi anzuleiten, anzumeckern, zu schikanieren und,
dies sei nicht vergessen, zu beschuetzen
dazu ist es teilweise noetig vor dem azubi in den kampf einzutreten, oder den
azubi zur begutachtung mal vorkaempfen zu lassen


-----------------------------------------------------------------------------



Re^8: Zweities erlaubt? (Zook, 14. Aug 2006, 18:08:28):
~#! rn=Muadib rt=1155571640 rg=gilden.kaempfer
~#! tid=1155559818
aol, zook.

-----------------------------------------------------------------------------



Re^8: Zweities erlaubt? (Ark, 14. Aug 2006, 18:13:28):
~#! rn=Muadib rt=1155571640 rg=gilden.kaempfer
~#! tid=1155559818
Du willst den Ausbilder zum Feldwebel verkommen lassen? Er musses vormachen.
Man koennte ja nur Techniken in der Ausbildung zulassen, die der Azubi
beherrscht ... aber lassen wir das :-) Zuviel Realismus killt Spielspass.
Grundsaetzlich sehe ich da ein Team und keine zufaellig am selben Ort stehende
Individualmetzler.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^9: Zweities erlaubt? (Muadib, 14. Aug 2006, 18:14:26):
~#! rn=Ark rt=1155572008 rg=gilden.kaempfer
~#! tid=1155559818
vormachen gehoert auch dazu. dann tritt er als erster in den kampf ein. den
fall beschrieb ich imho auch.

-----------------------------------------------------------------------------



Re^10: Zweities erlaubt? (Anatol, 14. Aug 2006, 18:52:22):
~#! rn=Muadib rt=1155572066 rg=gilden.kaempfer
~#! tid=1155559818
Mach Dir Arbeit, Gabylon, und entwerfe dynamische Ausbildeanforderungen.
In Abhaengigkeit naemlich dazu, wieviele aktive [1] Auszubildende zur
Verfuegung [2] stehen.

Anatol

[1] Interpretationsspielraum mit Variablen
[2] Personenabhaengig, natuerlich. Wenn jemand 5 kleine Trves hat, kann
    er sie nicht selbst ausbilden. ;)


-----------------------------------------------------------------------------



Re^11: Zweities erlaubt? (Ark, 14. Aug 2006, 18:53:58):
~#! rn=Anatol rt=1155574342 rg=gilden.kaempfer
~#! tid=1155559818
Mach Dir Arbeit, Anatol, und spiele einen Trves "wie einen Ersti" ohne
Unterstuetzung von Zweitis heute hoch :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^12: Zweities erlaubt? (Montanus, 14. Aug 2006, 21:55:51):
~#! rn=Ark rt=1155574438 rg=gilden.kaempfer
~#! tid=1155559818
Ich glaube, Jessica Weisenheimer berichtet gerade darueber.
http://www.feisar.de/content/gfx_de_breakingnews.html

-----------------------------------------------------------------------------



Re^13: Zweities erlaubt? (Ark, 14. Aug 2006, 22:02:51):
~#! rn=Montanus rt=1155585351 rg=gilden.kaempfer
~#! tid=1155559818
Genau, das Gras wird den Sommer nicht laenger ueberstehen. Wer Kaugummi kaut,
hat mehr vom Spiel. Kein Bild ist zu schoen, um es nicht anzuschauen. Chelsea
hat Ballack doch nur wegen der Magensaeure gekauft. Dem Himmel so nah ...


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^14: Zweities erlaubt? (Montanus, 14. Aug 2006, 22:06:51):
~#! rn=Ark rt=1155585771 rg=gilden.kaempfer
~#! tid=1155559818
Was hast du geraucht, Ark? Kannst du mri davon etwas abgeben?

-----------------------------------------------------------------------------



Re: Zweities erlaubt? (Zesstra, 14. Aug 2006, 22:08:43):
~#! rn=Gabylon rt=1155559818 rg=gilden.kaempfer
~#! tid=1155559818
Ums mal explizit zu sagen, ich finde die Idee, dass Kaempfer ausziehen, um
weniger kampfbegabten Gilden Schuetzenhilfe zu leisten und deren Mitgliedern
ein bisschen Kaempfen beizubringen, gut. ;-)
Was die Zweities angeht, finde ich die Regelung, fremde Zweities ausbilden zu
koennen und eigene nicht, sinnvoll bzw. vermutlich im Sinne des Erfinders der
Ausbildung.

Zesstra

-----------------------------------------------------------------------------



Re: Re: Zweities erlaubt? (Boing, 16. Aug 2006, 13:17:42):
~#! rn=Zesstra rt=1155586123 rg=gilden.kaempfer
~#! tid=1155559818
Ich antworte auf den letzten Artikel.

McDee hat recht, das Ausbilden eigener Zweities (bzw. geliehener Charaktere)
war schon immer verboten. Das war aber nie einprogrammiert sondern nur
als Gildenregel irgendwo formuliert.
  Boing

-----------------------------------------------------------------------------



Re: Zweities erlaubt? (Seleven, 16. Aug 2006, 14:01:28):
~#! rn=Gabylon rt=1155559818 rg=gilden.kaempfer
~#! tid=1155559818
Also ich spiele meine Zweities alle, wie einen Erstspieler (KLs nur so weit,
wie sie im Kopf noch present sind) und waere deshalb ein wenig traurig, wenn
ich deshalb nicht die Trves als Ausbilder nutzen koennte. Dies ist kein
rationaler Grund, das ist mir schon klar, aber es muss ja nicht alles rational
sein. :)
Seleven.

-----------------------------------------------------------------------------



Re^4: Zweities erlaubt? (Seleven, 16. Aug 2006, 14:03:00):
~#! rn=Gabylon rt=1155560519 rg=gilden.kaempfer
~#! tid=1155559818
Aaaaaah.

-----------------------------------------------------------------------------



Re^6: Zweities erlaubt? (Seleven, 16. Aug 2006, 14:07:50):
~#! rn=Gabylon rt=1155560891 rg=gilden.kaempfer
~#! tid=1155559818
Das Problem der Nichtmarkierung muss man wohl hinnehmen, es ist bereits
verboten seinen Zweitspieler unmarkiert durchs MG zu jagen. Wer sich daran
nicht haelt, verschafft sich einen Vorteil. Man koennte aber eine
Sonderausbildung fuer erwischte Spieler einfuehren. Dann wuerde aus dem
Vorteil schnell ein Nachteil - fuer den der Ausbildungen nicht mag.
Seleven.

-----------------------------------------------------------------------------



Re: Re: Zweities erlaubt? (Seleven, 16. Aug 2006, 14:09:16):
~#! rn=Croft rt=1155566247 rg=gilden.kaempfer
~#! tid=1155559818
Meld.

-----------------------------------------------------------------------------



Re^7: Zweities erlaubt? (Anatol, 16. Aug 2006, 19:28:04):
~#! rn=Seleven rt=1155730070 rg=gilden.kaempfer
~#! tid=1155559818
Die Sonderausbildung fuer unmarkierte Zweities ist ziemlich lange.
Eine Debatte, warum in manchen Gilden die Zweitiemarkierung zu echten
"in game" Nachteilen fuehrt, muessen wir hier auch nicht fuehren.

Erstie und Zweitie in der Ausbildung heisst doch, dass mindestens
einer - wenn nicht beide - auf Script laufen. Selbst wenn es 
toleriert wird: Foerdern muss mans nicht, oder?

Anatol

-----------------------------------------------------------------------------



Re^8: Zweities erlaubt? (Bambi, 27. Aug 2006, 11:48:28):
~#! rn=Anatol rt=1155749284 rg=gilden.kaempfer
~#! tid=1155559818
Es trifft auf mich akut zwar nicht zu, aber ich will es trotzdem mal zur
Diskussion stellen.
Angenommen ich haette zwei Kaempfer-Charaktere. Die waeren dann natuerlich
beide auf mich markiert. Angenommen, ein Bekannter will mal einen ausprobieren
und ich "leihe" den Charakter aus. Angenommen, wir wollen zusammen losziehen
und vielleicht sogar "Ausbildung" betreiben. Dann wuerde es (moralisch) doch
nicht gegen eine Regel sprechen, wenn beide Charaktere ihre Ausbildungskills
zusammen ableisten, oder doch?

-----------------------------------------------------------------------------



Re^9: Zweities erlaubt? (Orktoeter, 27. Aug 2006, 11:58:09):
~#! rn=Bambi rt=1156672108 rg=gilden.kaempfer
~#! tid=1155559818
In meinen Augen ist es schon nicht moralisch, einen Char zu verleihen. Du
gibst deine koerperliche Huelle ja auch nicht an jemand anderen.
Ich sehe das auch so: Spieler A kommuniziert mit Char X (eigentlich
kommuniziert er ja mit Spieler B der hinter Char X steht), etwas spaeter
versucht Spieler A wieder mit Spieler B zu kommunizieren (via Char X), nur
steckt nun ploetzlich Spieler C dahinter. 
Als weiteres Problem sehen ich: Auch wenn es viele hier ja ziemlich egal ist:
Es ist ein Rollenspiel. Jeder einzelne Char ist eine Figutr, die fuer das
Spiel "echt" ist. Dieser Figur sollte eigentlich durch den Spieler eine
gewisse Persoenlichkeit aufgedrueckt werden (Rollenspiel), das kann kaum etwas
werden, wenn ein Char als Leiharbeiter verliehen wird.

Das Problem stellt sich natuerlich nicht, wenn es einem nur um maximale
Firepower geht, aber mal ehrlich: Sind dann nicht Egoshooter angebrachter?

OrkT, seine 2 Cent in den Ring werfend.

-----------------------------------------------------------------------------



Re^10: Zweities erlaubt? (Bambi, 27. Aug 2006, 14:41:19):
~#! rn=Orktoeter rt=1156672689 rg=gilden.kaempfer
~#! tid=1155559818
Ich wollte mich nicht dazu aeussern, was ich vom Verleihen der Charaktere
halte. Es ging mir nur darum, dass ich es fuer eine diskussionswuerdige Frage
halte, ob man mit einem eigenen, verliehenen Charakter Ausbildung machen darf.

-----------------------------------------------------------------------------



Re^11: Zweities erlaubt? (Orktoeter, 27. Aug 2006, 14:42:55):
~#! rn=Bambi rt=1156682479 rg=gilden.kaempfer
~#! tid=1155559818
Du fragtest ob das moralisch korrekt sei und ich habe meine Meinung kund
getan, dass ich bereits das Verleihen von Charakteren nicht korrekt finde.
Damit stellt sich die von dir gestellte Frage eigentlich gar nicht.


OrkT.

-----------------------------------------------------------------------------



Re^9: Zweities erlaubt? (Montanus, 27. Aug 2006, 15:13:40):
~#! rn=Bambi rt=1156672108 rg=gilden.kaempfer
~#! tid=1155559818
Ausprobieren? Sind wir hier bei "Wuensch dir wsa?" Gildenwechsel soll moeglich
sein, hbe ichgehoert. Genau wie im RL, wenn man den Job freiwillig wechselt,
muss man sich auch erst mal wieder einarbeiten und man weiss erst nach ein
paar Monaten, ob es einem gefaellt. Und wenn man in den alten Job zurueckwill,
ist das meist auch nicht einfach.

-----------------------------------------------------------------------------



Re^3: Was ich schon lange sagen wollte... (Mogur, 27. Aug 2006, 15:16:28):
~#! rn=Bambi rt=1156680593 rg=schmarrn
~#! tid=1156455332

Huch, sind wir im RL?

Mogur

-----------------------------------------------------------------------------



Re^4: Was ich schon lange sagen wollte... (Darklor, 27. Aug 2006, 15:27:27):
~#! rn=Mogur rt=1156684588 rg=gilden.kaempfer
~#! tid=1156455332
Auch im RL gibt es Praktika, Tage der offenen Tuer, Schnupprkurse und
aehnliches...

Darklor

-----------------------------------------------------------------------------



Re^5: Was ich schon lange sagen wollte... (Eljo, 27. Aug 2006, 15:29:09):
~#! rn=Darklor rt=1156685247 rg=gilden.kaempfer
~#! tid=1156455332
Jaaa, ich will einen Tag der offenen Tuer, da kann auch mal der Zaubi
unbespuckt durchs Struv streichen, Broschueren sammeln, Tips zum Kaempfen
holen, komische Fragen stellen, und nach dem Tag dann weinen, weil man nicht
so stark ist wie die Trves. :-)

-----------------------------------------------------------------------------



Re^6: Was ich schon lange sagen wollte... (Darklor, 27. Aug 2006, 15:31:05):
~#! rn=Eljo rt=1156685349 rg=gilden.kaempfer
~#! tid=1156455332
Tolle Idee - setzt mal um.

Darklor

-----------------------------------------------------------------------------



Re^7: Zweities erlaubt? (Lord, 27. Aug 2006, 15:49:22):
~#! rn=Seleven rt=1155730070 rg=gilden.kaempfer
~#! tid=1155559818
Nein Anatol, wenn Erstie und Zweitie in der Ausbildung sind, bedeutet es nicht
zwangslaeufig, dass einer oder gar beide scripten. Das unterstellst du jetzt
einfach mal. Es dauert dann nur etwas laenger, aber es funktioniert durchaus
auch ohne Script. Ich habe einen Kaempferzweitie, der mir und auch vielen
anderen geholfen hat den einen oder anderen Ausbildungskill zu holen. Das ist
kein Geheimnis. Ich habe mich damals auch gewundert, dass Briesel nichts
dagegen hatte. Und ja, ich halte ich es fuer richtig, Ausbildung mit Zweities
zu verbieten. Und zwar aus den von Gabylon genannten Gruenden. Und nur
deshalb.

-----------------------------------------------------------------------------



Re^9: Zweities erlaubt? (Ark, 27. Aug 2006, 16:54:39):
~#! rn=Bambi rt=1156672108 rg=gilden.kaempfer
~#! tid=1155559818
Naja, "ausprobieren" kann Dein Bekannter auch alleine. Ansonsten soll er sich
einen neuen Kaempfer anlegen und von Lvl 1 aus beginnen, dann wirkt es gleich
realistischer. Der Grund, einen "eigenen" Muellspieler (wenn man seine
Charaktere verleiht, bezeichne ich das einfach mal so :-) ) zu verleihen, ist
nicht gegeben und sollte damit generell "as a rule" nicht erlaubt sein.
Weitere konstruierte Faelle betrifft das ebenso. Regeln sind fuer alle da,
nicht, um fuer einen scheinbar entschuldbaren Fall gebrochen zu werden. Eigene
Zweitis auszubilden geht am Geist und Ziel der Kaempfergilde vorbei,
schlussauspunktumbastaamen :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^5: Was ich schon lange sagen wollte... (Ark, 27. Aug 2006, 16:56:55):
~#! rn=Darklor rt=1156685247 rg=gilden.kaempfer
~#! tid=1156455332
Ich seh schon den Trves Betriebsrat Einspruch fuer die knappe Besoldung
einlegen ... RL ist doof, oder warum schreibst Du hier? ;-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^6: Was ich schon lange sagen wollte... (Darklor, 27. Aug 2006, 17:11:14):
~#! rn=Ark rt=1156690615 rg=gilden.kaempfer
~#! tid=1156455332
Ich aerger mich halt noch immer ueber Levelanfordrungserhoehung...

Und ausserdem sollten die Trves ueber jedes Gildenmitglied froh sein...

Und hier im Spiel mit kleinlichen Regeln zu kommen... ts... ;)

Darklor

-----------------------------------------------------------------------------



Re^7: Was ich schon lange sagen wollte... (Ark, 27. Aug 2006, 17:30:39):
~#! rn=Darklor rt=1156691474 rg=gilden.kaempfer
~#! tid=1156455332
Die Trves sind froh um jedes Mitglied, da bin ich sicher. Ein Spiel braucht
Regeln, sonst ist es keins, sondern jeder darf machen was er will und "spielt"
mit sich selbst :-)
Ob man das nun kleinlich nennen soll oder nicht, weiss ich nicht. Klar, ich
wuerde gerne bei Mensch aergere Dich nicht einfach mal rueckwarts gehen, um
einen laestigen Verfolger rauszuwerfen. Werde wohl alleine spielen muessen,
denn sowas wird nicht allen gefallen ;)
Uebrigens hat sich das Aufsteigen hinsichtlich der "furchtbar nervigen Quests"
in hoeheren Leveln wesentlich entzerrt. Wirst Du nicht schaetzen koennen, aber
es ist so. Wenn Du Dich ranhaeltst, faellt es vielleicht trotzdem irgendwann
auf ;-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^8: Was ich schon lange sagen wollte... (Humni, 27. Aug 2006, 17:36:29):
~#! rn=Ark rt=1156692639 rg=gilden.kaempfer
~#! tid=1156455332
Die Levelanforderungen sind schon wieder drastisch relativiert. Ja, sie sind
ein wenig hoeher, aber ich denke, dass sie nun auch in einem Rahmen sind, der
der Gesamtentwicklung des MUDs (groesser, groesser, groesser) auch ein wenig
(!) Rechnung traegt.

Ich habe nicht den Eindruck, als sei kleinen Spielern hier derzeit alles
verwehrt. Ich glaube eher, das Gegenteil ist in der letzten Zeit der Fal..

Humni
/s/./l

-----------------------------------------------------------------------------



Aenderungen: Teil III (Gabylon, 27. Aug 2006, 17:43:48):
Hi Trves,

Es hat sich schon wieder etwas getan:


1. Da die Kaempfer nun eine Waffengattung mehr zu ueben haben, wurde die
   Verlernrate der Waffenfaehigkeiten entsprechend gesenkt.

2. Es gibt nun wieder eine Topliste der Kaempfer.
   Die Liste enthaelt bisher nur diejenigen, die in letzter Zeit aktiv waren.
   Sie wird also (hoffentlich) noch wachsen.

3. Brieseltrim hatte ein Einsehen. Es wird nun erlaubt, auch Mitglieder
   anderer Gilden auszubilden, als da waeren: Abenteurer, Bierschuettler,
   Chaoten und Katzenkrieger.
   Das minimale und maximale Spielerlevel fuer die Ausbildung dieser Azubis
   ist abhaengig vom Spielerlevel des Ausbilders. So muss das Spielerlevel
   des Azubis mindestens bei Ausbilderlevel-30, darf aber hoechstens bei
   Ausbilderlevel-1 liegen.
   Die Ausbildung ist natuerlich fuer beide Seiten von Vorteil, funktioniert
   aber erst nach Crash/Reboot bzw. nach Ende seitens des Azubis.


         Brieseltrim  Grieselhuck                      Gabylon
         - Kommandant des Struv -                - Gildenoberhaupt -

-----------------------------------------------------------------------------



Re: Aenderungen: Teil III (Seleven, 27. Aug 2006, 19:16:52):
~#! rn=Gabylon rt=1156693428 rg=gilden.kaempfer
~#! tid=1156693428
Jetzt waere es nur noch nett, den neuen Skill nicht gerade auf 1% starten zu
lassen. Meiner Meinung nach waere dies zwar realistischer, aber senkt dennoch
die Motivation. Mein Vorschlag: (Kyllskill + Kzrokskill)/2, soweit haetten es
die erfahreneren Kaempfer sicher gelernt.
Seleven alias Terry

-----------------------------------------------------------------------------



Re: Re: Aenderungen: Teil III (Maharet, 27. Aug 2006, 19:57:32):
~#! rn=Seleven rt=1156699012 rg=gilden.kaempfer
~#! tid=1156693428
Also bei mir hat der nicht so niedrig gestartet. Nach dem Vortrag hatte ich
schon genug fuer den naechsten Level. Sicher, dass Gabylon da nicht schon so
was eingebaut hat?

Maha

-----------------------------------------------------------------------------



Re^3: Aenderungen: Teil III (Zesstra, 27. Aug 2006, 20:06:10):
~#! rn=Maharet rt=1156701452 rg=gilden.kaempfer
~#! tid=1156693428
Der Stabkampfskill? Der startet fuer alte Spieler nicht bei 0, sondern
deutlich hoeher, je nachdem, wie gut man im Speerkampf ist, wenn ich ein
Posting von Gabylon richtig in Erinnerung hab.

Zesstra

-----------------------------------------------------------------------------



Re^4: Aenderungen: Teil III (Sharia, 27. Aug 2006, 20:30:41):
~#! rn=Zesstra rt=1156701970 rg=gilden.kaempfer
~#! tid=1156693428
*raeusper*

Wieso duerfen keine Kleriker ausgebildet werden ?


Sharia - fuer Gleichberechtigung kaempfend.

-----------------------------------------------------------------------------



Re^5: Aenderungen: Teil III (Humni, 27. Aug 2006, 21:26:16):
~#! rn=Sharia rt=1156703441 rg=gilden.kaempfer
~#! tid=1156693428
Derzeit ist mein Grund (MEINER, nicht mit Gabylon schimpfen, der haette das
sonst so eingebaut):

Kaempfer und Kleriker kaempfen verschieden. Nach meinem Empfinden kaempfen
Kleriker, wenn sie mit Keulen und Staeben kaempfen, eben anders damit - eher
so wie "Moenche" bei D&D oder eher ... "asiatischer", auch wenn die Gilde
nicht asiatisch ist.

Soviel zu meinem Bauchempfinden.

Aus Balancesicht: Die anderen Gilden haben ja was davon (sie lernen mehr, wenn
sie mit einem Kaempfer mitgehen). Die Kleriker haben hingegen einen eigenen,
sehr guten Skill, den man absichtlich langsamer lernen soll - die Abenteurer
und Co haben mehrere davon, die schon an sich nicht so gut sind wie der
Kleriskill und noch dazu muessen (na gut, in dem Fall: koennen, wird ja
nirgends gefordert) sie mehr Skills lernen.

Soweit mein Statement dazu.

Humni

-----------------------------------------------------------------------------



Re^3: Aenderungen: Teil III (Seleven, 27. Aug 2006, 22:36:18):
~#! rn=Maharet rt=1156701452 rg=gilden.kaempfer
~#! tid=1156693428
Also ich hab nochmal nachgeschaut, bei mir liegt er bei 1% nach der
Lernsequenz, natuerlich ist als Hobbit mein Speerskill miserabel, trotzdem ist
1 % arg - vor Allem wenn man 14% (<- den wert hab ich im kopf, hab nicht
nochmal achgeschaut) aufs naechste Level braucht (und Speer mit 8% ausreichend
ist).
Ich mein, wenn ich der einzige bin, dem das so geht, oder den das stoert -
Schicksal. Wollts nur mal gemeldet haben, falls das nicht so geplant war. :)
Terry/Seleven

-----------------------------------------------------------------------------



Re^6: Aenderungen: Teil III (Sharia, 28. Aug 2006, 09:54:03):
~#! rn=Humni rt=1156706776 rg=gilden.kaempfer
~#! tid=1156693428
@humni:

Es mag sein, dass Kaempfer und Kleriker unterschiedlich mit Keulen und
Kampfstaeben lernen, allerdings muss man ja keine erhoehte Lernrate bei den
Klerikern einbauen ... oder nur eine sehr gering erhoehte ... aber es geht ja
sicher auch um die Ausbildung ansich, d.h. um Ausbildungskills und da waere es
doch nicht schlecht, wenn ein Kleri auch mit nem Kaempfer losziehen kann (oder
auch Zauberer, Karateka etc).

Abgesehen davon, ist das ueben der Keulen und Stabskills der Kleris nicht
sonderlich leicht vor allem aufgrund der Implementierung der Blacklist von M*

Sharia

-----------------------------------------------------------------------------



Re: Aenderungen: Teil III (Boing, 28. Aug 2006, 10:02:31):
~#! rn=Gabylon rt=1156693428 rg=gilden.kaempfer
~#! tid=1156693428
Och noe ... ne Topliste fuer Kaempfer ... :(
Damit trittst Du den Geist von Zardoz mit Fuessen ...
  Boing

-----------------------------------------------------------------------------



Re: Re: Aenderungen: Teil III (Croft, 28. Aug 2006, 10:03:41):
~#! rn=Boing rt=1156752151 rg=gilden.kaempfer
~#! tid=1156693428
Die es gab doch schon eine voellig adequate Topliste bei den Kaempfern.
Wieso will man mehr?

Croft

-----------------------------------------------------------------------------



Re^10: Zweities erlaubt? (Muadib, 30. Aug 2006, 11:26:47):
~#! rn=Ark rt=1156690479 rg=gilden.kaempfer
~#! tid=1155559818
spieler duerfen ausgeliehen werden
konsequenzen bei fehlverhalten des ausgeliehenen chars tragen im zweifelsfalle
der besitzer und der steuernde
wer einen char verleiht, muss gegebenfalls auch damit leben, dass das passwort
zur selbstloeschung verwendet wurde

dies generell

die frage stellt sich, was die gilde regelt in punkto ausbildung
meine meinung ist: keine ausbildung eines eigenen zweities 
aber die entscheidung traegt hier der gm und gilden em
ist sie denn gefallen bin ich jedoch sehr dafuer, diese regel ggf in code zu
giessen und nicht dem jeweiligen spieler lediglich zur beachtung zu geben, wie
es im moment ist

ps
chars duerfen verliehen werden muss es natuerlich heissen

-----------------------------------------------------------------------------



Re^7: Aenderungen: Teil III (Muadib, 30. Aug 2006, 11:30:17):
~#! rn=Sharia rt=1156751643 rg=gilden.kaempfer
~#! tid=1156693428
eine ausbildung ist eine erhoehte lernrate im vergleich zur vorgesehenen
lernrate ohne ausbildung
oder sehe ich das falsch?

-----------------------------------------------------------------------------



Re^8: Aenderungen: Teil III (Eljo, 30. Aug 2006, 11:36:44):
~#! rn=Muadib rt=1156930217 rg=gilden.kaempfer
~#! tid=1156693428
Das siehst Du richtig, weiss nur nicht, wie dass dann auf die anderen Gilden
laeuft, bei den Trves lernt man Skills und Waffen schneller.
Wenn ein Kleri damit schneller seine Keule lernt, waere das sicherlich fuer
die Spieler schoen, aber bestimmt nicht im Sinne des Erfinders der
(mittlerweile sehr schwer) erschwerten Lernrate der Kleris. :-)

-----------------------------------------------------------------------------



Re^9: Aenderungen: Teil III (Gloinson, 30. Aug 2006, 11:39:58):
~#! rn=Eljo rt=1156930604 rg=gilden.kaempfer
~#! tid=1156693428
Anmerkung: andere Gilden haben mittlerweile auch Waffenskills.


-----------------------------------------------------------------------------



Re^10: Aenderungen: Teil III (Sharia, 30. Aug 2006, 11:41:34):
~#! rn=Gloinson rt=1156930798 rg=gilden.kaempfer
~#! tid=1156693428
Anmerkung zur Anmerkung: das wurde bereits erwaehnt, aber es ist wohl
gewuenscht, dass diese durch die Ausbildungsmoeglichkeit schneller steigen als
die Gildeneigenen Keulen und Kampfstockskills der Kleriker (warum auch immer)


-----------------------------------------------------------------------------



Re^11: Aenderungen: Teil III (Gloinson, 30. Aug 2006, 12:07:01):
~#! rn=Sharia rt=1156930894 rg=gilden.kaempfer
~#! tid=1156693428
Die Lernrate bei Klerikerskills ist spielerfreundlicher (ich meine aus
Erfahrung erkannt zu haben konstant, ohne jetzt nachzusehen) als bei
"normalen" Skills. Das spraeche aus meiner Sicht technisch gegen das Ausbilden
von Klerikern: Kleriker haben schon Vorteile. Meine Meinung zur moralischen
Fremde der Gilden liegen auch schon irgendwo herum.


-----------------------------------------------------------------------------



schaetz <KLERIKER> (Smeagol, 31. Aug 2006, 14:07:25):
Ein Wunsch an unseren Chef:

Wir erkennen ja bei einem schaetz <KLERIKER> wie gut dieser den Umgang mit
Keulen beherrscht, jedoch besitzen sie ja (so wie wir auch) auch die
Faehigkeit (oder unfaehigkeit) mit Kampfstaeben rumzufuchteln. Leider scheint
es uns zur Zeit jedoch nicht moeglich festzustellen wir gut ihr Vermgen (oder
Unvermoegen) in dieser Kampftechnik ist.


Smeagol

-----------------------------------------------------------------------------



Blockieren (Smeagol, 13. Sep 2006, 11:37:52):
Huhu!

Was mir grade beim BLOCK-ueben auffaellt:

Wieso kann man eigentlich seine waffe zurueckstecken, wenn sie aber dann doch
blockiert ist ? 
Also entweder sollte man doch die waffe gar nicht zurueckstecken koennen, oder
aber sich beim zurueckstecken die Blockade sofort loesen (was meiner Meinung
nach etwas logischer ist) Auch beim Verlassen des Raumes und dann wieder in
den Raum gehen ist die Blockade noch da, was auch irgendwie hmm sagen wir
interessant ist :)


Shar aehm Smeagol

-----------------------------------------------------------------------------



Re: Blockieren (Alkohol, 13. Sep 2006, 14:27:06):
~#! rn=Smeagol rt=1158140272 rg=gilden.kaempfer
~#! tid=1158140272
also wenn die Waffe blockiert ist, dann sollte es entweder nicht moeglich
sein, die Waffe wegzustecken oder man bekommt dadurch richtig einen auf den
Deckel. Zumindest stell ich mir das so vor.

Alki

-----------------------------------------------------------------------------



Aenderung bzgl. Gildenquestanzeige (Gabylon, 15. Sep 2006, 07:35:12):
Hi Trves,

auch kleine Aenderungen sollten Beachtung finden.

Man kann nun - zusammen mit den dafuer vergebenen Punkten - auf einen Blick
sehen, welche Gildenquests man schon absolviert hat.


gab

-----------------------------------------------------------------------------



Re: Aenderung bzgl. Gildenquestanzeige (Ark, 15. Sep 2006, 14:25:30):
~#! rn=Gabylon rt=1158298512 rg=gilden.kaempfer
~#! tid=1158298512
Desch is ja mal wirklich sinnvoll. Warum hab ich das eigentlich nicht
bemaengelt? Hm, war wohl zu faul :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Blockieren (Ark, 15. Sep 2006, 21:31:36):
~#! rn=Smeagol rt=1158140272 rg=gilden.kaempfer
~#! tid=1158140272
Funktioniert uebrigens adaequat mit unterlaufe. Unterlaufen, raus tanken,
rein, immer noch unterlaufen :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Re: Blockieren (Ark, 15. Sep 2006, 21:34:08):
~#! rn=Ark rt=1158348696 rg=gilden.kaempfer
~#! tid=1158140272
Jaja, ersetze adaequat mit aequivalent ... ab nun nur noch komplizierte
Ausdruecke wie Hmpf, hngs, jo, no, ts.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Schaetz erweitert (Gabylon,  3. Okt 2006, 22:01:39):
Hi Trves,

Der Kampfstabskill der Kleriker kann nun auch von uns eingeschaetzt werden.
Zudem wurde die Abstufung der Einschaetzung aller anderen Gildenmitglieder
verfeinert.


gab

-----------------------------------------------------------------------------



Re: Schaetz erweitert (Humni,  4. Okt 2006, 08:08:09):
~#! rn=Gabylon rt=1159905699 rg=gilden.kaempfer
~#! tid=1159905699
Huhu,

aus Klaerungsgruenden habe ich das Einschaetzen der Kaempfer temporaer
abgehaengt, bis da noch Details geklaert sind.

Humni

-----------------------------------------------------------------------------



Re: Re: Schaetz erweitert (Gabylon,  4. Okt 2006, 09:55:48):
~#! rn=Humni rt=1159942089 rg=gilden.kaempfer
~#! tid=1159905699
Das Einschaetzen geht nun wieder, allerdings mit der vorherigen Genauigkeit.

gab

-----------------------------------------------------------------------------



Lzhy' Krnivos v2.0 (Gabylon,  6. Okt 2006, 20:03:20):
Hi Trves,

Unser Alchemist, Lzhy' Krnivos, ist von einer Frischzellenkur zurueck-
gekehrt. Wenn er sich nicht so verhaelt wie er sich verhalten sollte,
oder falls es Probleme mit den von ihm vergebeben Gildenaufgaben geben
sollte, bitte ich euch, mir eine kurze Nachricht zukommen zu lassen.


gab

-----------------------------------------------------------------------------



Waffenblock & Co. (Gabylon,  8. Okt 2006, 21:23:18):
Hi Trves,

Vor kurzem wurde an dieser Stelle bemaengelt, dass der Waffenblock nicht
aufgeloest wird, wenn man waehrend eines Kampfes den Raum verlaesst.
Dies ist nun erstmal so behoben worden, dass sich der Block sofort nach
Verlassen des Raumes aufloest.
Allerdings erstmal ohne Ausgaben an den jeweiligen Spieler, da auf eine
Methode zurueckgegriffen werden musste, die nur zeitlich verzoegerte
Mitteilungen an den Spieler erlauben wuerde. Sobald die technische
Moeglichkeit zu einer zeitnahen Mitteilung besteht, wird auf diese
Methode umgestellt.

Zu ueberlegen waere weiterhin, ob man mit anderen Techniken auch so vorgeht.
Zur Diskussion stehen also alle Techniken, die zeitlich wirken, als da
waeren:

- unterlaufe
- schlange|schildkroete|drache
- parade|schildparade
- fokus
- schnell
- rueckendeckung

Wie ist eure Meinung dazu?


gab

-----------------------------------------------------------------------------



Re: Waffenblock & Co. (Ark,  8. Okt 2006, 21:30:00):
~#! rn=Gabylon rt=1160335398 rg=gilden.kaempfer
~#! tid=1160335398
Unterlaufe, ja, logisch, dito Rueckendeckung. Schnellkampf bin ich mir nicht
so ganz klar, tendiere aber dazu, weil die anderen genannten sich durchaus mit
der Konzentration auf den Kampf allgemein beziehen.
Fokusverlust bei Raumwechsel waere eine recht heftige Abwertung, unabhaengig
ob logisch oder nicht, andere Gilden koennen den Fokus halten, da sollten die
Trves nicht schlechter dastehen.
Rueckendeckung geht natuerlich nur mit Anwesenheit des Partners, kann also
aufgehoben werden, wenn einer fehlt. Unterlaufe dito, da hatte ich mich schon
sehr gewundert.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Re: Waffenblock & Co. (Ringor,  8. Okt 2006, 21:37:07):
~#! rn=Ark rt=1160335800 rg=gilden.kaempfer
~#! tid=1160335398
Schlange/Schildkroete/Drache beim Raumwechsel beenden? Na dann moechte ich mal
einen Kaempfer sehen, der einem fluechtenden NPC hinterher laeuft. Gilt
eigentlich fuer alle angesprochenen Techniken mit Ausnahme von Unterlaufen -
das nicht aufzuloesen ist eher etwas albern. ;-)

Im Gegensatz zu Ark halte ich auch Rueckendeckung fuer okay, beim Raumwechsel
beizubehalten. Auch und gerade, wenn der andere nicht im Raum ist - wechsel
mal zu zweit den Raum *gleichzeitig*. Einer ist immer zuerst, und schon ist
die Rueckendeckung hin. Dabei halte ich so hochspezialisierte und
kampferprobte Trves fuer durchaus in der Lage, gemeinsam einem NPC
hinterherzurennen, ohne ihre Deckung zu verlieren.


Aber wer fragt schon Rentner. :o)

-----------------------------------------------------------------------------



Re^3: Waffenblock & Co. (Ark,  8. Okt 2006, 21:57:38):
~#! rn=Ringor rt=1160336227 rg=gilden.kaempfer
~#! tid=1160335398
Ok, so gesehen hast Du recht.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^3: Waffenblock & Co. (Amaryllis,  8. Okt 2006, 21:59:08):
~#! rn=Ringor rt=1160336227 rg=gilden.kaempfer
~#! tid=1160335398
Rueckendeckung beenden finde ich ok. Plastisch gesehen, kleben
"Rueckendeckende" eher aneinander und bewegen sich nicht allzuviel. Bewegung
in Rueckendeckung in andere Raeume finde ich deshalb etwas unrealistisch.

Ama*

-----------------------------------------------------------------------------



Re^4: Waffenblock & Co. (Maharet,  8. Okt 2006, 22:01:12):
~#! rn=Amaryllis rt=1160337548 rg=gilden.kaempfer
~#! tid=1160335398
Bei allem Realismus: Sowas waere eine nicht unbeachtliche Abwertung der
Kaempfer. Klar, das ist vielen egal oder wuenschenswert ... wieauchimmer. Man
sollte das jedenfalls bedenken, denn Gildenabwertung mal eben so aus Versehen
bringt nur Aerger ;)

Maha

-----------------------------------------------------------------------------



Re^5: Waffenblock & Co. (Amaryllis,  8. Okt 2006, 22:02:52):
~#! rn=Maharet rt=1160337672 rg=gilden.kaempfer
~#! tid=1160335398
Ich frage mich in dem Zusammenhang eher, wieso das bisher ging, bzw wundere
mich nicht mehr ueber die "Kaempfer sind zu stark"-Schreie, die u.a. aus so
etwas resultierten. ;)

Ama*

-----------------------------------------------------------------------------



Re^4: Waffenblock & Co. (Ringor,  8. Okt 2006, 22:03:24):
~#! rn=Amaryllis rt=1160337548 rg=gilden.kaempfer
~#! tid=1160335398
So gesehen muesste man durchaus diskutieren, wieviel Sinn Rueckendeckung gegen
nur einen Gegner macht. Oder was das fuer Auswirkungen auf die Angriffsstaerke
des "Rueckendeckenden" haette.

Neeeee ... soviel Realitaetsnaehe wollen wir hier doch nicht, oder? :o)


Ringor

-----------------------------------------------------------------------------



Re^5: Waffenblock & Co. (Ark,  8. Okt 2006, 22:35:37):
~#! rn=Ringor rt=1160337804 rg=gilden.kaempfer
~#! tid=1160335398
Mach Dir lieber Sorgen darueber, dass die Groesse des "Deckenden" (keine
Anspielungen :-) ) nicht auch noch einfliesst, sonst ist es aus mit den
Zwergen- und Hobbitkaempfern :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^6: Waffenblock & Co. (Sharia,  9. Okt 2006, 07:55:40):
~#! rn=Ark rt=1160339737 rg=gilden.kaempfer
~#! tid=1160335398
unterlaufe waere noch OK zu beenden...

was ich nicht verstehe wieso z.b. schildparade und parade beendet werden
sollten, denn auf diese kann man sich ja auch VOR einem Kampf vorbereiten...

alles andre sollte so bleiben, denn da sehe ich nichts unlogisches drin..


Sharia

-----------------------------------------------------------------------------



Re^7: Waffenblock & Co. (Alkohol,  9. Okt 2006, 08:30:36):
~#! rn=Sharia rt=1160373340 rg=gilden.kaempfer
~#! tid=1160335398
Ich geb auch mal meinen Senf hinzu.

Bei Unterlaufe geb ich euch recht, das ist ebenso albern wie beim Block, wenn
das nicht aufgehoben wird.
Was die anderen Techniken angeht, so hab ich das eigentlich immer eher so
verstanden, dass der Kaempfer sich dadurch vornimmt, es zu tun. Sonst koennte
man diese Techniken wie Parade, Schildparade aber auch Rueckendeckung nicht
vor dem Kampf machen. Ist ja auch ok eigentlich, das Gelingen dieser Technik
involviert ja auch nicht den Gegner. Der Gegner kommt erst ins Spiel, wenn es
daraum geht, wieviel Schaden genommen wird, oder seh ich das falsch? Bei Block
ist das etwas anderes, der Gegner kann verhindern, dass er klappt, bevor es
zum Schaden kommt.

Bei Unterlaufe entsprechend, er koennte ja zB nen Schritt zurueckweichen.
Daher wuerde ich dafuer plaedieren, unterlaufe und block sofort bei
raumwechsel aber natuerlich auch bei wechsel der kampfreihe usw zu beenden.
Bei den anderen Techniken faend ich das eher unlogisch. Mal abgesehen von der
Abwertung die da im Namen der Logik vorgenommen wuerde. Das waere, denke ich,
eher eine Frage fuer Humni, ob er da eine Abwertung und in welchem Masse
wuenscht.

Alki

-----------------------------------------------------------------------------



Re^8: Waffenblock & Co. (Seleven,  9. Okt 2006, 14:36:15):
~#! rn=Alkohol rt=1160375436 rg=gilden.kaempfer
~#! tid=1160335398
In vino veritas, aber nicht nur deshalb schliesse ich mich Alkohol an.
Unterlaufe/Block sollte mittlerweile klar sein. Taktiken sind eine
Einstellung, die man jederzeit aendern kann -  aktiv. Fokus aehnlich: Ich
suche mir einen Gegner aus und hau auf ihn ein, wenn ich rausflieg und wieder
reinkomm aendert sich daran nichts. Bei Zwillingen koennte es bei
Wiedereintritt ins Kampfgeschehen natuerlich zu Verwirrung kommen, aber 1.
sollte der Fokusierte schon Verletzungen davongetragen haben, 2. ist das
abzufragen eine Arbeit, angesichts einer recht herbeikonstruirten Logik nicht
Lohnt. Rueckendeckung sollte aus dem selben Grund so bleiben, wie sie ist -
ich entscheide, auf wessen A\bRuecken ich aufpasse - wer RD auf einem Hohen
Prozentsatz hat sollte seinen Mittstreiter auch als Geschnetzeltes
wiedererkennen. Bei anderen haelt die chose eh nicht lang genug, um nach dem
Tanken aktiv zu sein.
Mist. Ich wollte doch gar nicht so viel schreiben.
Seleven, Puppenspieler von Terry und Sou.

-----------------------------------------------------------------------------



Re: Re: Waffenblock & Co. (Knurps,  9. Okt 2006, 16:09:12):
~#! rn=Ark rt=1160335800 rg=gilden.kaempfer
~#! tid=1160335398
> andere Gilden koennen den Fokus halten, da sollten die Trves nicht
schlechter dastehen.
Zaehl mal auf.

-----------------------------------------------------------------------------



Re^3: Waffenblock & Co. (Ark,  9. Okt 2006, 16:41:07):
~#! rn=Knurps rt=1160402952 rg=gilden.kaempfer
~#! tid=1160335398
Streiche einstweilen "Gilden", ersetze mit "Gilde": Karate.
Die restlichen kenne ich zu wenig, ok, das stimmt.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^4: Waffenblock & Co. (Sharia,  9. Okt 2006, 16:41:57):
~#! rn=Ark rt=1160404867 rg=gilden.kaempfer
~#! tid=1160335398
Klerus schonmal nicht, wobei nen fokus da auch sehr nett waere :)

Sharia

-----------------------------------------------------------------------------



Re^5: Waffenblock & Co. (Ark,  9. Okt 2006, 16:43:08):
~#! rn=Sharia rt=1160404917 rg=gilden.kaempfer
~#! tid=1160335398
Klar, und Trves muesste auch ein kaempfender Waffenknecht als Beistand
zustehen ... nene, gegen Gleichmacherei :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Waffenblock & Co. (Miril,  9. Okt 2006, 17:29:30):
~#! rn=Gabylon rt=1160335398 rg=gilden.kaempfer
~#! tid=1160335398
Bis auf unterlaufe wuerde ich auch nichts beenden, wenn der Spieler den
Raum verlaesst. Gerade im Teamkampf waere es kontraproduktiv, wenn so 
etwas wie Rueckendeckung unterbrochen wuerde, sobald man team angriff 
macht, denn auch dort sind der Rueckendeckende und sein Schuetzling
kurzzeitig nicht im selben Raum. Dies ist eine Vorbereitung auf etwas,
was ich waehrend eines Kampfes nutze, aehnlich wie Schutz der Chaoten,
Huelle der Zauberer oder vergleichbares. Fokus sollte durchaus auch bleiben,
denn ich trau selbst einem Kaempfer zu, nicht zu vergessen, wen er gerade
bekaempfen wollte, selbst wenn er zwischendrin ein Glas Bier saeuft ;).

Miril

-----------------------------------------------------------------------------



Re: Re: Waffenblock & Co. (Eljo,  9. Okt 2006, 18:26:53):
~#! rn=Miril rt=1160407770 rg=gilden.kaempfer
~#! tid=1160335398
Und das alles, weil Smeagol das Ueben von Block/unterlaufe zu lange dauerte.
;-)
Ich denke einmal, dass dieser Aspekt ebenso beruecksichtigt werden sollte, so
wie man Parade/Schildparade erst ab einem bestimmten Fertigkeitenrang vor dem
Kampf anzuwerfen ist, so sind wohl damals unterlaufe/block extra dauerhaft
gemacht worden, da der Uebe-Aufwand sonst um einiges einfacher waere (Was
wiederrum auch bei der Gildenbalancierung eine Rolle spielt)
Ich gebe euch Recht, es ist wohl idiotisch sowas dauerhaft zu behalten, obwohl
ich Kilometer zum Tanken und wieder zurueckgelaufen bin, und das gewisse
Fertigkeiten wie schnellkampf/Schlange auch dauerhaft anhalten im Gegensatz zu
anderen ist manchmal nicht ganz realistisch, aber muessen wir das immer sein. 
Ich denke nicht.

Naja, auch mal ein bisschen Senf daruebergeworfen.

Eljo - der auch 2 doofe Trves gespielt hat.

-----------------------------------------------------------------------------



Re^3: Waffenblock & Co. (Sharia, 10. Okt 2006, 00:00:03):
~#! rn=Eljo rt=1160411213 rg=gilden.kaempfer
~#! tid=1160335398
Eljo, ja es ist beim ueben mit Smeagol aufgefallen .. aber nicht weils langsam
ging sondern weil der Gegner den ich geblockt hatte schon gar nicht mehr im
raum war und ich dennoch ne geblockte waffe hatte .. das wunderte mich dann
etwas

ansonsten sind die skills alle genug geuebt ohne aenderung :)


-----------------------------------------------------------------------------



Re: Waffenblock & Co. (Gabylon, 17. Okt 2006, 10:15:50):
~#! rn=Gabylon rt=1160335398 rg=gilden.kaempfer
~#! tid=1160335398
Hi Trves,

erstmal herzlichen Dank fuer die hier kundgegebenen Meinungen bzgl. des
Aufloesens von zeitlichen wirkenden Techniken. Das war sehr hilfreich.

Nach Durchsicht der Kommentare wuerde ich mich der (fast) einhellig
vorherrschenden Meinung anschliessen und Block und Unterlaufe gleich-
behandeln.
Es gaebe zwar noch einige Argumente fuer das Aufloesen der anderen Techniken,
doch - wie Maharet oder auch Miril schon anmerkten - waere das eine zu
grosse Abwertung der Gilde bzw. teilweise zum Teamkampf zu kontraproduktiv.

Es ist jetzt so geregelt, dass Block und Unterlaufe bei Raumwechsel
automatisch beendet werden. Die beiden Techniken koennen dann nach einer
gewissen zeitlichen Sperre wieder angewandt werden.

Kleiner Trost: diese zeitliche Sperre wird ab einem gewissen Skill der
jeweiligen Faehigkeit einmalig geringer.


gab

-----------------------------------------------------------------------------



Re: Re: Waffenblock & Co. (Zook, 17. Okt 2006, 10:17:30):
~#! rn=Gabylon rt=1161072950 rg=gilden.kaempfer
~#! tid=1160335398
Was ist der Grund fuer die zeitliche Sperre?

Zook.

-----------------------------------------------------------------------------



Re^3: Waffenblock & Co. (Alkohol, 17. Okt 2006, 10:27:54):
~#! rn=Zook rt=1161073050 rg=gilden.kaempfer
~#! tid=1160335398
das ueben?

Alk

-----------------------------------------------------------------------------



Re^4: Waffenblock & Co. (Gloinson, 17. Okt 2006, 10:42:43):
~#! rn=Alkohol rt=1161073674 rg=gilden.kaempfer
~#! tid=1160335398
Wenn das der Grund ist, Alternative:
- Sperre raus, weil fuer Spieler ggf. kontraproduktiv
- Lerneffekt umbauen, volle 100% treten erst bei normalem Ablauf eins Blockes
ein


-----------------------------------------------------------------------------



Re^5: Waffenblock & Co. (Gabylon, 17. Okt 2006, 12:18:42):
~#! rn=Gloinson rt=1161074563 rg=gilden.kaempfer
~#! tid=1160335398
Nur kurz was dazu:

Zeitliche Sperren sind bei den Kaempfern voellig normal. Man kann nach
Erfolg einer Technik und dessen 'Abklingen' diese nicht gleich wieder
anwenden (z.B. RD, schnell, beschimpfen, id, taktik, ...).
Ich hab mich also nur an den Status Quo gehalten.

Man koennte es natuerlich anders gestalten, doch kaemen dann wahrschein-
lich Fragen auf, ob man die bisherige Handhabung der Techniken nicht
auch umstellt...


gab

-----------------------------------------------------------------------------



Re^6: Waffenblock & Co. (Gabylon, 17. Okt 2006, 12:23:26):
~#! rn=Gabylon rt=1161080322 rg=gilden.kaempfer
~#! tid=1160335398
Noch ein Selbstreply:

Aufgrund von unvorhergesehenen Schwierigkeiten ist nun erstmal wieder
die alte Funktionalitaet aktiv.
Aus akutem Zeitmangel kann mich aber erst nachher oder heut abend drum
kuemmern.

gab

-----------------------------------------------------------------------------



Re^6: Waffenblock & Co. (Maharet, 17. Okt 2006, 14:05:53):
~#! rn=Gabylon rt=1161080322 rg=gilden.kaempfer
~#! tid=1160335398
Nun gut, aber in diesem neuen Fall klingt die Technik ja nicht normal ab,
sondern wird vorzeitig beendet. Wenn es da trotzdem eine zeitliche Sperre
gibt, find ich das schon eine erhebliche neue Behinderung.

Maha

-----------------------------------------------------------------------------



Re^7: Waffenblock & Co. (Ark, 17. Okt 2006, 16:05:21):
~#! rn=Maharet rt=1161086753 rg=gilden.kaempfer
~#! tid=1160335398
Naja, dann waere aber Todesstoss, Kampftritt und sowas auch nicht logisch ...
6 Kampfrunden brauch ich normal nicht, um den letzten Tritt "abklingen" zu
lassen :-)
Ist eine Balance zwischen Auswirkung einer Technik im Kampf, KP Kosten und
Lerngewinn. Parade kann ich solange probieren, bis sie mir gelingt, beim
Todesstoss muss ich warten. Hier haette ich kein Problem damit, wenn das
ebenfalls der Fall waere. Abgewertet wird die Haeufigkeit, nicht aber die
Wirkung.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^8: Waffenblock & Co. (Sharia, 17. Okt 2006, 16:08:29):
~#! rn=Ark rt=1161093921 rg=gilden.kaempfer
~#! tid=1160335398
hmm eine Abwertung der Haeufigkeit ist nach meinem Verstaendnis auch eine
Abwertung von Wirkung ... wenn ich in 10 sekunden 10 mal 50lp abziehen kann
oder nur 1 mal dann is das schon nen Unterschied denk ich .. oder hab ich dich
falsch verstanden, Ark?

Ansonsten finde ich Gabylons Aenderung prima so wie es ist (bzw vorhin war und
dann wohl auch wieder werden soll :) ) 


Sharia

-----------------------------------------------------------------------------



Re^9: Waffenblock & Co. (Gabylon, 29. Okt 2006, 14:14:15):
~#! rn=Sharia rt=1161094109 rg=gilden.kaempfer
~#! tid=1160335398
Hi Trves,

so, nun endlich:

Die Techniken Block und Unterlaufe werden nun nach Verlassen des Raums
automatisch beendet. Man kann dann die Technik sofort wieder anwenden,
aber man ist mit einer relativ kurzen zeitlichen Lernsperre belegt.
Diese verkuerzt sich dann nochmal einmalig, wenn man eine gewisse Skillgrenze
ueberschritten hat.

Sorry fuer die etwas laengere Wartezeit.


gab

-----------------------------------------------------------------------------



Ausbildung (Ark, 15. Nov 2006, 18:28:55):
Mir ist noch eines aufgefallen: bei der Ausbildung faellt man der
Bequemlichkeit halber immer auf die gleichen Gebiete zurueck (SSP, Valgessa,
Eismine, Gobbolager). Grund: einfach umzuhauende NPC in groesserer Anzahl.
Hatte ja schonmal vorgeschlagen, dass man haertere Gegner doppelt oder gar
dreifach zaehlt (oder gleich nach Anzahl Killstupse vergibt). Um aus dem
"Trott" mal etwas auszubrechen, und um ein wenig Abwechslung mit "neuen"(?)
Gebieten hineinzubringen:
Man bekommt als Ausbilder/Azubi ab Kill x noch eine spezielle Aufgabe, einen
etwas versteckteren/schwerer zu erreichenden NPC gemeinsam zu hauen, was dann
wiederum x3/4/5 Kills fuer die Ausbildung bringt.
Ist dann interessanter, auch mal aus obigen Gebieten hinauszugehen.
Gladischule (Tiere/Grube/Krokodil), Eismine (Kampfzwerg), SSP (Feuermagier)
koennten ja auch noch in Frage kommen, sind sicher noch einige andere (RFD
oder sowas, auch fuer kleinere Azubis.
Kommentare?


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Ausbildung (Maharet, 15. Nov 2006, 18:42:52):
~#! rn=Ark rt=1163611735 rg=gilden.kaempfer
~#! tid=1163611735
Warten wir auf mehr Spieler, insbesondere Kaempfer in diesem Fall, ehe wir die
Ausbildung erschweren?
Ausserdem kann immer einer der beiden Beteiligten was anderes als die
"Standardgebiete" verlangen. Habe ich als Azubi und als Ausbilder gemacht und
wurde auch schon von mir gefordert. Wenn ich fuer sowas keine Zeit hatte,
wurde dann halt die Ausbildung auf nen anderen Tag verschoben. Geht alles auch
ohne Zwang durch den Gildenmagier.

Maha

-----------------------------------------------------------------------------



Re: Re: Ausbildung (Zesstra, 15. Nov 2006, 18:54:16):
~#! rn=Maharet rt=1163612572 rg=gilden.kaempfer
~#! tid=1163611735
Ich koennte mir aber vorstellen, dass es ne Reihe von Azubis gibt, die nicht
unbedingt wissen, was es noch so alles gibt, was interessant ist.
Wobei man es ja nicht schwerer als bisher machen muss. Lass Brieseltrim halt
ab und an sagen: Du Blutgier, wenn Du und Dein Azubi mir dieses bloede Viech
xy umhaut, weil das unseren handel mit z gefaehrdet, waer mir das ein paar
Bonuspunkte der Ausbildung wert. Ist dann ne Option und kleiner Anreiz, aber
kein Muss. Wer halt nicht will, machts wie bisher.

Zesstra

-----------------------------------------------------------------------------



Re: Re: Ausbildung (Ark, 15. Nov 2006, 22:12:29):
~#! rn=Maharet rt=1163612572 rg=gilden.kaempfer
~#! tid=1163611735
Achso, ich vergass wohl zu erwaehnen, dass das optional sein soll. Zwingen
soll man niemand, mit mehr Kills soll nur der Anreiz fuer neue Gebiete erhoeht
werden. Wer will, kann weiter stumpf weiterausbilden :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^3: Ausbildung (Sharia, 16. Nov 2006, 08:40:23):
~#! rn=Ark rt=1163625149 rg=gilden.kaempfer
~#! tid=1163611735
Auch wenns schwer faellt sowas ueber nen Darmstaedter zu sagen:

Ark, deine Idee finde ich hervorragend!

Sharia

-----------------------------------------------------------------------------



Re: Re: Ausbildung (Boing, 16. Nov 2006, 09:47:14):
~#! rn=Maharet rt=1163612572 rg=gilden.kaempfer
~#! tid=1163611735
Inwiefern erschwert es die Ausbildung wenn es fuer manche Gegner doppelte
oder dreifache Punkte gibt?
  Boing

-----------------------------------------------------------------------------



Re^4: Ausbildung (Ark, 16. Nov 2006, 10:29:31):
~#! rn=Sharia rt=1163662823 rg=gilden.kaempfer
~#! tid=1163611735
Danke, Du Marburger (?) Wunderheiler :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^5: Ausbildung (Zook, 16. Nov 2006, 10:41:06):
~#! rn=Ark rt=1163669371 rg=gilden.kaempfer
~#! tid=1163611735
Sharia hatte mit Marburg nie so richtig was zu tun. ;) Ausser, dass sie
sich ganz lieb um mich kuemmerte, als ich als kleiner Spieler mal auf einem
Stati auftauchte... ;)

Z

-----------------------------------------------------------------------------



Re: Ausbildung (Seleven, 16. Nov 2006, 11:12:45):
~#! rn=Ark rt=1163611735 rg=gilden.kaempfer
~#! tid=1163611735
Stark dafuer. Ich wuerde selbst Zwang - auf hohen Leveln - akzeptieren, wenn
haertere Gegner mal richtig gewuerdigt wuerden. Ich habe mit Sou als Azubi und
mit Terry als Ausbilder zum Teil in ner halben Stunde dauermetzeln keine 10
kills geholt, dafuer aber Erfahrung gesammelt/weitergegeben. Wenn Briesel 
mich dafuer belohnen wuerde, waere ich sehr froh.
Nicht falsch verstehen: Gegen Zwang, aber lieber gezwungen, dafuer intressant,
als so wie jetzt.
SouTerry

-----------------------------------------------------------------------------



Re: Re: Ausbildung (Ark, 16. Nov 2006, 11:26:18):
~#! rn=Seleven rt=1163671965 rg=gilden.kaempfer
~#! tid=1163611735
Fuer kleinere Spieler hat das sowieso mehr Vor- als Nachteile:
Neues Gebiet -> potentielle FP (wenn man sich Zeit nimmt und nicht
durchrauscht)
Mit Aufwertung der Killstupse als Bestandteil der Seherwerdung nimmt man die
gerne mal mit.
Anreiz fuer Magier, nicht nur Superzapmaxomatschwertaxtknueppelstabmesser zu
schreiben, sondern den Beduerfnissen der kleineren Kaempfer angepasste, die
sich vielleicht aehnlich beschaffen lassen wie in der SSP.
Vielleicht entdeckt man so nebenbei noch ein paar neue Saechelchen, die man
bisher geschenkt bekommen oder gefunden hat.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^3: Ausbildung (Sharia, 16. Nov 2006, 12:24:59):
~#! rn=Ark rt=1163672778 rg=gilden.kaempfer
~#! tid=1163611735
@ Zook um suesse kleine Spieler hab ich mich doch immer gern gekuemmert :)
@ Boing es erschwert die Ausbildung nur dann wenn man irgendwelche bestimmten
Voraussetzungen knuepft (also du MUSST jetzt als naechsten NPC den
Saeureynagzet killen) der vorschlag von Zesstra a la Auftrag von Briesel "geh
doch den mal hauen das lohnt sich dann mehr" faende ich mit am besten ..
dadurch wuerde man eher mal in andre Gebiete gehen zum metzeln. Vielleicht
koennte Briesel auch sowas sagen wie: Wenn du jetzt mal 1h in der
Daemonendimension ausbilden gehst lohnt sich das fuer dich doppelt!

Sharia

-----------------------------------------------------------------------------



Re^4: Ausbildung (Ark, 16. Nov 2006, 14:08:16):
~#! rn=Sharia rt=1163676299 rg=gilden.kaempfer
~#! tid=1163611735
Magierseitig koennte man das eh unterstuetzen, indem man noch ein paar
geeignete Kaempferquests spendiert, die ala Goblinlager, Koboldgefahr oder
Verraeter eben dies unterstuetzen ... man ist ja "eh da" und das meist nicht
alleine, sondern in Ausbildung.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^5: Ausbildung (Ark, 16. Nov 2006, 14:22:47):
~#! rn=Ark rt=1163682496 rg=gilden.kaempfer
~#! tid=1163611735
Und da Kaempfer auch ein eitles, behaengselgeiles Voelkchen sind, koennte man
besondere Kills auch noch am Kragen/Extralook (123 wuerdige Monster
beispielhaft unter Anleitung ermordet) ausstellen. Oder per Orden. Oder weiss
der Geier. Der Anreize gibt es viele ... Topordenerlangungsliste :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^6: Ausbildung (Gloinson, 16. Nov 2006, 14:25:37):
~#! rn=Ark rt=1163683367 rg=gilden.kaempfer
~#! tid=1163611735
Ich warte ja noch aufs "Purple Heart" fuer Kaempfer :)


-----------------------------------------------------------------------------



Re^7: Ausbildung (Ark, 16. Nov 2006, 14:26:50):
~#! rn=Gloinson rt=1163683537 rg=gilden.kaempfer
~#! tid=1163611735
Wsn dette?


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^8: Ausbildung (Gloinson, 16. Nov 2006, 14:28:18):
~#! rn=Ark rt=1163683610 rg=gilden.kaempfer
~#! tid=1163611735
Wikipedia: "Das Purple Heart (dt.: "Lila Herz") ist die einzige
Verwundetenauszeichnung der US-Streitkraefte und gleichzeitig der weltweit
aelteste heute noch verwendete militaerische Orden. Es wird an Soldaten
verliehen, die im Kampf durch gegnerische Kraefte verwundet wurden, ebenso an
den naechsten Angehoerigen gefallener Soldaten."


-----------------------------------------------------------------------------



Re^9: Ausbildung (Croft, 16. Nov 2006, 14:32:43):
~#! rn=Gloinson rt=1163683698 rg=gilden.kaempfer
~#! tid=1163611735
Einfach das Todestagebuch umdesignen.

Croft

-----------------------------------------------------------------------------



Re^10: Ausbildung (Ark, 16. Nov 2006, 14:34:25):
~#! rn=Croft rt=1163683963 rg=gilden.kaempfer
~#! tid=1163611735
Dann will ich bei jeder Ausbildung auch noch nen Kleri mit
Grabsteinaufstellung und letzter Oelung (achne, gibts ja gratis vom NPC).


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^11: Ausbildung (Gloinson, 16. Nov 2006, 14:38:52):
~#! rn=Ark rt=1163684065 rg=gilden.kaempfer
~#! tid=1163611735
Das mit der Beichte fuer diese Massenmoerder-Trves hab ich ja schon lange
vorgeschlagen.


-----------------------------------------------------------------------------



Re^10: Ausbildung (Seleven, 16. Nov 2006, 14:54:59):
~#! rn=Croft rt=1163683963 rg=gilden.kaempfer
~#! tid=1163611735
nee, ein orden fuer den ausbilder - der war schliesslich zum zeitpunkt des
todes seinem azubi am naechsten.

-----------------------------------------------------------------------------



Re^11: Ausbildung (Ark, 16. Nov 2006, 15:01:20):
~#! rn=Seleven rt=1163685299 rg=gilden.kaempfer
~#! tid=1163611735
Neue Unterklasse: Soeldner -> kassiert Geld fuer Ausbildung ohne Tod :-)
Gegenstueck: Ritter -> wird in den hoeheren Adelsstand (Grafherzogbaron)
erhoben.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^12: Ausbildung (Seleven, 16. Nov 2006, 15:02:34):
~#! rn=Ark rt=1163685680 rg=gilden.kaempfer
~#! tid=1163611735
Assassine: wird bezahlt, damit azubi xy stirbt ... aber langsam wirds schmarrn
...

-----------------------------------------------------------------------------



Re^13: Ausbildung (Zook, 16. Nov 2006, 15:12:46):
~#! rn=Seleven rt=1163685754 rg=gilden.kaempfer
~#! tid=1163611735
achwas.

-----------------------------------------------------------------------------



Re^3: Ausbildung (Maharet, 16. Nov 2006, 19:12:28):
~#! rn=Boing rt=1163666834 rg=gilden.kaempfer
~#! tid=1163611735
Darauf bezog ich mich nicht, sondern auf die Anforderungen an ein bestimmtes
Gebiet oder NPC.

-----------------------------------------------------------------------------



Re^4: Ausbildung (Muadib, 16. Nov 2006, 20:02:00):
~#! rn=Maharet rt=1163700748 rg=gilden.kaempfer
~#! tid=1163611735
und grieselhuck sollte buch fuehren, wieviele schutzbefohlene azubis man
flachgelegt hat und das auf der toilettentuer verewigen

-----------------------------------------------------------------------------



Struvueberfall (Gabylon, 16. Nov 2006, 22:09:29):
Hi Trves,


wie ich aus sicherer Quelle erfahren habe, planen uebelgesinnte Halunken
einen Ueberfall auf das Struv.
Erfahrenere Trves ab Takal'Mor sollten sich deshalb um das Wohlergehen des
Struvs verdient machen.

Weitere Informationen gibt es bei mir.


Brieseltrim Grieselhuck

-----------------------------------------------------------------------------



Re: Struvueberfall (Kellybundy, 17. Nov 2006, 20:36:41):
~#! rn=Gabylon rt=1163711369 rg=gilden.kaempfer
~#! tid=1163711369
Fuer was braucht man da Infos? Zaubigilde ausraeuchern und fertich >;)

-----------------------------------------------------------------------------



Re: Re: Struvueberfall (Bambi, 28. Nov 2006, 11:49:53):
~#! rn=Kellybundy rt=1163792201 rg=gilden.kaempfer
~#! tid=1163711369
Ich frage mich, seit wann man kein Kanonenfutter mehr mit in den Kampf
schickt.

-----------------------------------------------------------------------------



Ausbildung fuer Krakh'Getres (Gabylon, 22. Dez 2006, 10:43:47):
Hi Trves,


da Krakh'Getres es zusehends schwerer haben, fuer sie geeignete Ausbilder zu
finden, duerfen erstgenannte nun ab sofort auch von Zalkh'Batar ausgebildet
werden.


gab

-----------------------------------------------------------------------------



Re: Ausbildung fuer Krakh'Getres (Lug, 23. Dez 2006, 15:29:24):
~#! rn=Gabylon rt=1166780627 rg=gilden.kaempfer
~#! tid=1166780627
Nun nerven die auch noch die hoeheren Raenge... na danke...
Teuflischst
Lug

-----------------------------------------------------------------------------



Gildenquestpunkte (Gabylon, 24. Jan 2007, 08:56:18):
Hi Trves,

zur Zeit sind die Anforderungen der Gildenquestpunkte dynamisch gehalten,
d.h., dass sie mit jeder neuen Gildenquest ansteigen. Das macht es fuer
kleinere Spieler immer schwieriger, die benoetigten Punkte pro Stufe
zusammenzubekommen. Momentan braucht man 58 GQP fuer Level 2, aber schon
174 fuer Level 6.

Mein Vorschlag waere, die Anforderungen statisch zu gestalten - zumindest
bis GL 14.

Kommentare? Ideen? Andere Vorschlaege?


gab

-----------------------------------------------------------------------------



Re: Gildenquestpunkte (Ark, 24. Jan 2007, 14:00:12):
~#! rn=Gabylon rt=1169625378 rg=gilden.kaempfer
~#! tid=1169625378
Wuerde es generell statisch halten ... Gildenquests macht man trotzdem
vielleicht mal, und so werden Leuts nicht abgeschreckt, nur weil ein Magier
mal wieder meinte, was Gutes tun zu muessen und eine 213323234 Punkte GQ zu
schreiben :-)
Wie ich schon zu den Seheranforderungen schrieb ... die Logik pro dynamische
Anforderungen ist nicht zwingend, imho unfair und mit zunehmend langer Zeit
einfach abschreckend ... Punkt!


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Re: Gildenquestpunkte (Seleven, 26. Jan 2007, 16:34:18):
~#! rn=Ark rt=1169643612 rg=gilden.kaempfer
~#! tid=1169625378
Aus Faulheit auf den Letzten.
Bin auch dafuer. Man koennte dafuer ja zB die Rattenplage und das Zeug fuern
Koch an ein bestimmtes Level binden. Auch wenn ich es sehr lustig fand, dass
der Koch vor Terry salutierte, als er mit dem Fresspaket ankam.
Seleven.

-----------------------------------------------------------------------------



Re^3: Gildenquestpunkte (Alkohol, 27. Jan 2007, 15:02:06):
~#! rn=Seleven rt=1169825658 rg=gilden.kaempfer
~#! tid=1169625378
ich finde eine kopplung bestimmter quests an bestimmte gildenlevel nicht
schoen, wieso soll man nicht die freiheit haben, sich auszusuchen, was man
machen will. 

Alki

-----------------------------------------------------------------------------



Re^4: Gildenquestpunkte (Grimmborn, 27. Jan 2007, 15:12:14):
~#! rn=Alkohol rt=1169906526 rg=gilden.kaempfer
~#! tid=1169625378
Individuelle Wahlmoeglichkeiten in militaerischen Organisationen sind meist
eingeschraenkt. 

GdA

-----------------------------------------------------------------------------



Re^5: Gildenquestpunkte (Alkohol, 27. Jan 2007, 15:50:59):
~#! rn=Grimmborn rt=1169907134 rg=gilden.kaempfer
~#! tid=1169625378
aber auch da hat man eigentlich immer die Wahl, die Schnauze zu halten ...

Alki

-----------------------------------------------------------------------------



Gildenquestpunkte werden statisch (Gabylon,  6. Feb 2007, 22:48:11):
Hi Trves,

die Anforderungen bzgl. der Gildenquestpunkte sind nun bis einschliesslich
GL 22 statisch geworden. In den unteren Raengen bis GL 12 liegen sie jetzt
allesamt knapp unter, von GL 13 bis GL 22 liegen sie etwa auf gleicher Hoehe
des letzten dynamischen Stands.

Ab GL 23 bleiben die Anforderungen dynamisch und haengen weiterhin von der
maximalen Gildenquestpunktanzahl ab.


gab

-----------------------------------------------------------------------------



Berichtsthemen (Gabylon, 17. Feb 2007, 23:05:00):
Hi Trves,

die noch offenen und schon vergebenen Berichtsthemen liegen nun oeffntlich
bei unserem geschaetzten Kommandanten aus.

Ich moechte damit verschiedene Sachen bezwecken:

a) Zu schon vorgeschlagenen und noch offenen Themen koennt und sollt ihr mir
   Eure Meinung schreiben: Welcher Bericht gehoert aussortiert? Mit kurzer
   Begruendung waere nett (zu schwer/zu leicht/nicht mehr aktuell/...) und
   am besten per mail.

b) Dann sollt Ihr mir natuerlich auch eigene Vorschlaege machen, die dann
   auch wieder zur Diskussion gestellt werden (koennen).
   Auf den Trves-Seiten kann nachgeschaut werden, welche Themen schon
   vergeben wurden; an einer mud-internen Loesung wird aber gearbeitet.

c) Dann gibt es eine Reihe von Zalkh'Batar-Anwaerter, die natuerlich jeder
   schon ein Thema abbekommen haben. Bei zu langer Abwesenheit waere zu
   ueberlegen, ob man denjenigen nicht wieder vom Bericht "befreit", damit
   vielversprechende Berichtsthemen dann auch irgendwann mal realisiert
   werden. Ich persoenlich faende es schade, wenn Berichte wie z.B. ueber
   das Warok-Gebirge nie umgesetzt werden.

d) Ich habe mir auch ueberlegt, dass es bestimmt eine Reihe von Spielern
   gibt, die Ihren Bericht liebend gern tauschen wuerden, und sie vllt. u.a.
   wegen eines Ihnen nicht zusagenden Themas nicht weiter erhoehen.
   Man koennte also ueber einen einmaligen Berichtstausch nachdenken,
   natuerlich nur bei Spielern, die Ihren Bericht schon recht lange
   vor sich herschieben.


gab

-----------------------------------------------------------------------------



Drache & Unterlaufe (Gabylon, 18. Feb 2007, 18:43:08):
Hi Trves,

Die Kampftechnik 'Drache' ist nun nicht mehr bei 'Unterlaufe' anwendbar.
Nahkmapf und weit ausholende Schlaege sind nun mal Gegensaetze.


gab

-----------------------------------------------------------------------------



Re: Drache & Unterlaufe (Maharet, 18. Feb 2007, 18:44:52):
~#! rn=Gabylon rt=1171820588 rg=gilden.kaempfer
~#! tid=1171820588
Aber Schlaege als Fernkampftechnik anzusehen finde ich doch gewagt.

-----------------------------------------------------------------------------



Re: Re: Drache & Unterlaufe (Humni, 18. Feb 2007, 18:45:04):
~#! rn=Maharet rt=1171820692 rg=gilden.kaempfer
~#! tid=1171820588
Bevor jemand mit Gabylon schimpft: Ich bin der Meinung, da das bisher nur in
einer Richtung funktionierte und sonst offenbar absichtlich blockierte, war
das eigentlich ein Bug.

Humni

-----------------------------------------------------------------------------



Re: Re: Drache & Unterlaufe (Humni, 18. Feb 2007, 18:48:17):
~#! rn=Maharet rt=1171820692 rg=gilden.kaempfer
~#! tid=1171820588
Von Fernkampf war doch nie die Rede? Irgendwas verstehe ich gerade nicht.

Humni

-----------------------------------------------------------------------------



Re^3: Drache & Unterlaufe (Humni, 18. Feb 2007, 18:53:02):
~#! rn=Humni rt=1171820897 rg=gilden.kaempfer
~#! tid=1171820588
Und noch eine kurze Erklaerung: Ich sehe diese Abwertung (das ist eine, das
weiss ich) als recht unkritisch an. Die meisten Kaempfer, die ich beobachtet
habe, benutzen eher Schlange als Drache fuer die meisten Anwendungen, und
daran wurde nicht geschraubt.

Korrigiert mich, wenn ich da voellig danebenliege.

Humni

-----------------------------------------------------------------------------



Re: Re: Drache & Unterlaufe (Gabylon, 18. Feb 2007, 18:57:49):
~#! rn=Maharet rt=1171820692 rg=gilden.kaempfer
~#! tid=1171820588
Na, ich haette es natuerlich dazuschreiben sollen: 'Drache' wurde bei
'Unterlaufe' schon immer beendet. 'Unterlaufe' wurde also als extremer
Nahkampf angesehen, bei dem man dem Gegner so richtig schoen auf den
Pelz rueckt. Dort dann weit ausholende Schlaege realisieren zu koennen
halte ich fuer sehr schwierig, wenn nicht sogar unmoeglich.
Man haette natuerlich auch das Unterlaufen abbrechen statt Drache
verhindern koennen, aber das haette in einer Endlosuebescriptschleife
geendet. ;)


gab

-----------------------------------------------------------------------------



Re: Re: Drache & Unterlaufe (Ark, 18. Feb 2007, 22:25:08):
~#! rn=Maharet rt=1171820692 rg=gilden.kaempfer
~#! tid=1171820588
Nicht alles, was kein Nahkampf ala Unterlaufe ist, muss sofort Fernkampf sein.
Ist manchmal halt eher ein Balance Ding als 100% Realitaet ... das wollen wir
eh nicht :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^4: Drache & Unterlaufe (Ark, 18. Feb 2007, 22:26:20):
~#! rn=Humni rt=1171821182 rg=gilden.kaempfer
~#! tid=1171820588
Ich nutze nur Drache ... ok, kann noch keine Schlange :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^3: Drache & Unterlaufe (Maharet, 18. Feb 2007, 22:26:30):
~#! rn=Ark rt=1171833908 rg=gilden.kaempfer
~#! tid=1171820588
Jetzt hast du aber was missverstanden, Ark. Damit sollte es doch gerade
realistischer werden ;)

-----------------------------------------------------------------------------



Re^4: Drache & Unterlaufe (Gabylon, 18. Feb 2007, 22:42:53):
~#! rn=Maharet rt=1171833990 rg=gilden.kaempfer
~#! tid=1171820588
Ich spreche zuweilen auch mal ganz gerne von 'Realismus' in solchen
Zusammenhaengen. Aber ich denke, 'Plausibilitaet' trifft es dann
meistens eher.
Das alte Verhalten war mit Sicherheit nicht kritisch, aber es wurde
auf der Ebene ein paar mal als 'unlogisch' angekreidet, woraufhin
ich mich mit Humni kurzgeschlossen habe.


gab

-----------------------------------------------------------------------------



Re^4: Drache & Unterlaufe (Seleven, 19. Feb 2007, 11:01:01):
~#! rn=Humni rt=1171821182 rg=gilden.kaempfer
~#! tid=1171820588
also mein hobbit nutzt viel drache - aber das ist auch in meinen augen ein
bug. schade, dass ich den nicht vorher gesehen hab :^)
seleven

-----------------------------------------------------------------------------



Kragen & Berichte (Gabylon,  6. Mar 2007, 22:20:22):
Hi Trves,

es gibt zwei weitere Aenderungen:

a) Das Abzeichen am Kragen ist nun auch fuer RL-blinde Spieler les-
   und zeigbar.

b) Es gibt nach dem Einloggen eine kleine Meldung, wenn Berichte ausgehaengt
   sind, die man noch nicht bewertet hat.
   Die Anzahl und Haeufigkeit der Meldung sind aber begrenzt, so dass sich
   keiner zu sehr gedraengt/genervt fuehlen sollte.


gab

-----------------------------------------------------------------------------



Drache, Schlange & Schildkroete (Gabylon, 19. Mar 2007, 11:42:40):
Hi Trves,

ein lange gepflegtes Feature hat nun heute sein Ende gefunden:

- Kampftaktiken (Drache, Schlange, Schildkroete) werden nun sowohl beim
  Einschlafen als auch nach einem Kampf korrekt beendet. Im letzteren
  Fall gibt es nun auch eine kleine Meldung.

  Dafuer musste ich euch leider nochmal einen neuen Kragen verpassen.


gab

-----------------------------------------------------------------------------



Re: Drache, Schlange & Schildkroete (Vector, 19. Mar 2007, 11:52:04):
~#! rn=Gabylon rt=1174300960 rg=gilden.kaempfer
~#! tid=1174300960
oh fein das eine feature wird beseitigt ein neues geschaffen.
nun muss man beim ueben die eine technik nichtmehr kostenintensiv
mit einer anderen beenden, sondern bekommt das beenden (und 
neue ueben) schnell und gratis mit einem schlaf ein und neu
connecten :)

-----------------------------------------------------------------------------



Re: Re: Drache, Schlange & Schildkroete (Gabylon, 19. Mar 2007, 14:11:54):
~#! rn=Vector rt=1174301524 rg=gilden.kaempfer
~#! tid=1174300960
Also ich wuerde niemals auf die Idee kommen, mich staendig ein- und
auszuloggen, nur weil ich dadurch ein paar MP sparen kann, aber es
gibt ja wohl alles... :)

Deshalb gibts auch nun fuer kurze zeit eine Lernsperre nach dem
Einschlafen (keine Anwendungssperre). Aber NUR auf Schlange, Drache
und Schildkroete bezogen. Nicht dass das jemand in den falschen
Hals kriegt.


gab

-----------------------------------------------------------------------------



Mutige Trves gesucht (Gabylon, 23. Mar 2007, 20:57:33):
Hi Trves,

Ich benoetige dringend mutige Trves zum Ausheben einer mutmasslichen
Faelscherwerkstatt!


Huzruck Hammerstahl

-----------------------------------------------------------------------------



Ausbildung anderer Gilden (Gabylon,  1. Apr 2007, 02:44:11):
Hi Trves,

die Modalitaeten fuer die Ausbildung von anderen Gilden waren bisher
eher suboptimal, so dass Humni und ich uns ein paar Gedanken darum
gemacht haben.
Bisher musste das Spielerlevel herhalten, was aber nun in der Tat wenig
mit der der Ausbildung in den Waffenfertigkeiten gemein hatte.

Als einziges Kriterium ist nun der Durchschnitt der Waffenfertigkeiten
von Kaempfer und Azubi interessant. Liegt der Schnitt des Azubis deutlich
hoeher als der des Kaempfers, ist Ausbildung nicht moeglich, sonst ja.
Ab nun sollte es weniger Probleme geben, einen entsprechenden Azubi
zu finden.

Zudem konnte ich Kloiren Eisenhelm dazu ueberreden, auch ueber die anderen
Azubis Bescheid zu wissen.

Dank an Humni fuers schnelle Abnicken.


gab

-----------------------------------------------------------------------------



Skill Kampf mit Zweihandwaffen (Blutgier,  4. Mai 2007, 15:40:06):
Habe nicht gewusst, dass auch der Zweihandskill sinken kann, wenn man ein
wenig mit Einhandwaffen kaempft. Bei speziellen Waffenskills wie Schwert vs.
Axt sehe ich das ja ein, aber das?
Ist das eher eine Balancesache (was mich noch mehr wundern wuerde) oder gibt
es dafuer einen Grund? Mir will nicht so recht einleuchten, warum man den
(kuenstlichen) Zweihandwaffenskill wieder verlernt, waehrend der (nicht
vorhandene) Skill mit Einhandwaffen gleich bleibt.

Blutgier

-----------------------------------------------------------------------------



Re: Skill Kampf mit Zweihandwaffen (Gabylon,  5. Mai 2007, 00:04:56):
~#! rn=Blutgier rt=1178286006 rg=gilden.kaempfer
~#! tid=1178286006
ich vermute, dass zardoz alle waffenskills wieder verlernbar haben wollte,
so also auch dieser. das pendant zum zweihandskill waere der einhandskill,
bzw. der kampf mit einhandwaffen (ob nun ein skill hinter letzterem steht
oder nicht, ist ja dafuer erstmal egal).
einerseits ist die verlernbarkeit vom zweihandskill fuer mich deutlich
nachvollziehbar (mit einhandwaffen kaempft man schon irgendwie anders
als mit zweihaendern), sehe aber auch andererseits die einschraenkungen
fuer diejenigen, die einen zweihandskill auf (sehr) hohem niveau
halten wollen: einhaender und schilde bzw. schildparade sind dann tabu.

ich stehe diesem thema also prinzipiell offen gegenueber und mich wuerde
interessieren, was die anderen dazu sagen und vor allen dingen, was
humni aus balancetechnischer sicht dort fuer eventuelle probleme sieht.

gab

-----------------------------------------------------------------------------



Re: Re: Skill Kampf mit Zweihandwaffen (Humni, 10. Mai 2007, 21:17:27):
~#! rn=Gabylon rt=1178316296 rg=gilden.kaempfer
~#! tid=1178286006
Mal aus meiner Sicht:

Balancetechnisch ist das (nach einmal durchueberlegen) sogar kritischer als
das Verlernen der Waffenskills (die kann ein Kaempfer, ausser Zwergen, eh nur
in einer Kategorie max werden). Im Zweifel. Sollte also hier wirklich der
Wunsch bestehen, das zu aendern (den Willen seh ich nach Gabylons
Ausfuehrungen aber nicht direkt), dann muesste man das nochmal durchrechnen,
weil so sowas wie "haudrauf mit 2h-waffenwchsel-schildstoss-waffenwechsel"
(mit 1 Runde dazwischen, ich weiss) moeglich waere.

Soweit dazu. Dass man einen Kampfstil verlernt (der Kampf mit 1h+Schild
unterscheidet sich doch deutlich vom 2h-Kampf), wenn man nur einen anderen
uebt, finde ich nicht falsch, so generell. Mag mich auch irren, hab vom
Schwertkampf sonst wenig Ahnung.

Humni
PS: Nein, ich hab das noch nicht durchgerechnet. Ich waere natuerlich dazu
bereit, wenn mir alle Trves signalisieren, dass sie das unbedigt haben wollen.
Und man kann den Skill recht hoch halten und auch mal mit ner Einhandwaffe
hauen, der Unterschied ist (vermutlich gewollt) auch nicht so richtig gross.

-----------------------------------------------------------------------------



Skills... (Humni, 13. Mai 2007, 21:44:31):
Hallo,

ein Bug im Skillsystem sorgte dafuer, dass einige von Euch keine neuen
Waffenskills lernen konnten. Dieser Bug sollte nun behoben sein.

Um nun neue Waffenskills zu lernen muesst ihr noch einen neuen Koerper
kriegen. Das kann jeder Magier machen, der kann Euch naemlich "renewen" (so
nennt man das).

Danach koennt ihr auch bei Eurem Kaempferlehrer die Waffenskills lernen, wie
sich das gehoert.

Sollte etwas nicht funktionieren, sprecht bitte mich an.

Ach ja, Gabylon kann da nix fuer. Nicht, dass falsche Geruechte entstehen.

Und im Zuge der ... aeh... Reperaturarbeiten wurden einige... Spieler... von
mir ausgeloggt. Stellt Euch einfach vor, ihr waert temporaer gefressen worden,
oder so... also, ihr seid ja wieder da.... hoffentlich.. oeh.. naja. Egal.

Humni
(so sieht das aus, wenn ich konstruktiv sein will)

PS: Ach ja, "ende" renewt Euch auch. Hat halt Nachteile, die ihr sicher
kennt...

-----------------------------------------------------------------------------



berichte auf trves.de (Gnome, 17. Mai 2007, 14:15:15):
ich habe mal wieder etwas zeit gefunden und alle bisher fehlenden
berichte auf trves.de eingepflegt.
ich hoffe, dass ich das in zukunft etwas zeitnaeher gestalten kann.

auch anforderungen und gildenquests sind nun wieder aktuell.
bei typos etc. bitte mail an mich.

gnOme

-----------------------------------------------------------------------------



Neues von den Vortraegen (Gabylon, 18. Mai 2007, 23:16:04):
Hi Trves,

ab sofort kann man sich alle Vortraege der Ausbilder nochmal ganz
in Ruhe zu Gemuete fuehren. Nun koennt ihr euren Wissensstand ueber die
ein oder andere Technik wieder auf den neuesten Stand bringen oder
ENDLICH mal (wieder) den Unterschied zwischen Finte und Waffentrick
aus erster Hand erfahren. ;)

Ihr muesst dann allerdings auf den jeweils nachfolgenden Uebungskampf
verzichten, da ich sonst zu tief in die technischen Bausteine des Struvs
haette eingreifen muessen und wer weiss, ob dann der Koch noch seine
Kartoffeln und Briesel seine Unterhosen wiedergefunden haetten.
(Ausserdem waren alle Ausbilder der Meinung, dass der erste Uebungskampf
mit einem richtigen Kampf eh nicht vergleichbar ist.)

Wenn wider Erwarten Probleme in den Lernsequenzen auftauchen sollten,
gebt mir einfach Bescheid.

So und nun viel Spass beim 'Auffrischen'.


gab

-----------------------------------------------------------------------------



Neues 'twer' (Gabylon, 26. Jun 2007, 13:03:32):
Hi Trves,

ich wuerde gerne das 'twer' etwas anders gestalten, sprich mit mehr
Informationen versorgen. Dabei wuerde ich gern wissen, ob ihr dort
auch etwas vermisst bzw. was ihr euch dort fuer (weitere) Informationen
wuenschen wuerdet.

Die alte Version von 'twer' soll aber optional bestehenbleiben, so dass
man zwischen der alten und neuen Version jederzeit umschalten kann.
Wenn es zuviele (verschiedene) Wuensche gibt, koennte man auch drei
parallele Versionen einbauen.


gab

-----------------------------------------------------------------------------



Re: Neues 'twer' (Zook, 26. Jun 2007, 13:51:49):
~#! rn=Gabylon rt=1182855812 rg=gilden.kaempfer
~#! tid=1182855812
- idlezeit
- aktueller azubi
- anzahl verschlissener (in den tod getriebener) azubis
- anzahl verweise 
- anzahl struv ueberfalle 

sowas halt ;)

z.

-----------------------------------------------------------------------------



Re: Re: Neues 'twer' (Derin, 26. Jun 2007, 15:27:55):
~#! rn=Zook rt=1182858709 rg=gilden.kaempfer
~#! tid=1182855812
Huhu,

ausser aktuellem Azubi vielleicht auch den aktuellen
Ausbilder. :)

Derin.

-----------------------------------------------------------------------------



Re^3: Neues 'twer' (Kessa, 26. Jun 2007, 21:36:09):
~#! rn=Derin rt=1182864475 rg=gilden.kaempfer
~#! tid=1182855812
- Anzahl Zauberergilden-Ueberfaelle

-----------------------------------------------------------------------------



Re: Neues 'twer' (Schwudi, 27. Jun 2007, 02:18:00):
~#! rn=Gabylon rt=1182855812 rg=gilden.kaempfer
~#! tid=1182855812
Hoi Zaeme

-spielername
-rasse
-spielerlevel
-gildenlvl
-anzahl notwendiger kills (azubi/ausbilder), und ob man "jetzt" zeit und bock
auf ausbildung hat (ja/nein)
-teamsuche fuer (anzahl personen/monstername)
-status (idle/metzeln/ausbildung/forschen/questen/anderes)

-todesfolgen
-exp pro stunde (aktuelle)
-bin ich bereit fuer arenakampf/schlachtfeld gegen andere trves
-eks (bsp: man koennte brieseltrim plakette zeigen und er fuehrt liste die
sichtbar ist)

-bilde ich auch chaoten aus? (ja/ _N E I N_ )
-suche/biete bsp: (feuerzahn/wespenstachel)

-----------------------------------------------------------------------------



Re: Re: Neues 'twer' (Maharet, 27. Jun 2007, 10:41:59):
~#! rn=Schwudi rt=1182903480 rg=gilden.kaempfer
~#! tid=1182855812
Also ich moechte nicht, dass so viele Sachen ueber mich von jedem abfragbar
sind.

-----------------------------------------------------------------------------



Re^3: Neues 'twer' (Gabylon, 27. Jun 2007, 13:56:13):
~#! rn=Maharet rt=1182933719 rg=gilden.kaempfer
~#! tid=1182855812
"so viele Sachen" ist etwas schwammig.
was sollte denn von den vorgeschlagenen dingen auf keinen fall dort
erscheinen?
frage geht natuerlich an alle.

gab

-----------------------------------------------------------------------------



Re^4: Neues 'twer' (Maharet, 27. Jun 2007, 14:00:32):
~#! rn=Gabylon rt=1182945373 rg=gilden.kaempfer
~#! tid=1182855812
Meine Todesfolen, meine EKs, meine Krageninfos, meine exp pro Stunde. Ich
moechte selbst entscheiden, wem ich sowas mitteile. Und ob ich Zeit und Bock
auf Ausbildung habe, kann man auch problemlos bei mir erfragen, da werde ich
sowieso keine Angaben aktualisieren ;)

Fuer das Suche/Biete koennte man doch vielleicht auch das Schwarze Brett im
Struv verwenden, oder? Waere doch rollenspielerischer, genauso wie die
Metzelbereitschaft fuer bestimmte Monster/Arena/Schlachtfelder.

-----------------------------------------------------------------------------



Re^5: Neues 'twer' (Ark, 27. Jun 2007, 14:04:51):
~#! rn=Maharet rt=1182945632 rg=gilden.kaempfer
~#! tid=1182855812
Ich denke, es genuegt die Angabe, ob willig zur Ausbildung (suche/biete),
alles andere geht die Allgemeinheit nicht unbedingt was an (also persoenliche
Stats).


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^6: Neues 'twer' (Humni, 27. Jun 2007, 15:42:42):
~#! rn=Ark rt=1182945891 rg=gilden.kaempfer
~#! tid=1182855812
(Hab keine Lust Oham einzuloggen, darum das einfach so hier).

Ich hab nix dagegen, dass jeder sehen kann, dass Oham Pitfall ausbildet. Das
muss aber nicht jeder so sehen.

XP/Stunde? Irgendwoher kenn ich das... nennt sich DpS bei WoW.... brauchen wir
das echt?

Wenn dann aber bitte nur als freiwilliges Schwanzvergleichstool. Als sowas
waers aber sicher eine nette Idee fuer eine Questbelohnung oder
Metzelbelohnung o.ae. - mit Topliste und so. Vielleicht baut ein Magier ja mal
sowas.

Humni
PS: Letzte Idee ist unabhaengig von der Gilde, eigentlich...

-----------------------------------------------------------------------------



antwort auf 17 (Derin, 27. Jun 2007, 16:07:41):
Hi,

eine Topliste fuer XP/h faende ich eher kontraproduktiv. Metzeln
macht ja Spass (und soll es ja auch), aber mit so einer Liste
wuerde es doch etwas sehr ermuntert, praktisch ganze Gebiete "auf
Zeit" leerzumetzeln. Wenn ich so anschaue, wieviele Leute sich
normalerweise so in der SSP tummeln, und wie oft man feststellt,
oh, hier hat grad jemand eine Schneise durchgepfluegt ...

Die Anzahl der leicht erreichbaren Metzelgebiete fuer eine
bestimmte Staerkekategorie ist ja doch eher begrenzt. Aus
einem anderen Mud kenne ich gut den Effekt, dass dann fuer
viele Leute schlicht nichts uebrigbleibt, das sollte man
IMHO nicht unbedingt ermutigen.

Allerdings bin ich auch noch nicht so lange hier im MG,
vielleicht sind meine Befuerchtungen ja auch uebertrieben.

Derin.

-----------------------------------------------------------------------------



Re: antwort auf 17 (Zook, 27. Jun 2007, 16:39:30):
~#! rn=Derin rt=1182953261 rg=gilden.kaempfer
~#! tid=1182953261
ich sehe schon, die zahl der verschlissenen azubis macht das
rennen! z

-----------------------------------------------------------------------------



Re^7: Neues 'twer' (Vanir, 27. Jun 2007, 18:41:03):
~#! rn=Humni rt=1182951762 rg=gilden.kaempfer
~#! tid=1182855812
Dieses xp/stunde-tool gibts doch schon seit ewigen Zeiten im Seherladen in
Svolvaer. Was man mal machen koennte waer zu checken ob das funktioniert. Ich
persoenlich werds nicht machen.

ich waere dagegen, dass alle diese infos angezeigt werden. Viele Sachen davon
gehoeren, wenn ueberhaupt, auf ein schwarzes Brett bei Briesel oder diesem
andewren Schergen, der immer Muenzen verteilt, wenn man ihn lieb fragt.
Bestenfalls wuerde ich ein Ausbildungssuchend/Ausbildersuchend gutheissen.

V.

Aeh tauscht den Ausbildungsquatsch um, so das es passt.

-----------------------------------------------------------------------------



Re^7: Neues 'twer' (Ogar, 27. Jun 2007, 22:11:34):
~#! rn=Humni rt=1182951762 rg=gilden.kaempfer
~#! tid=1182855812
Azubi gesucht / Ausbilder gesucht erscheint mir auch sinnvoll.

Wer bei einem aktuell als Azubi angemeldet ist, ist uebrigens bereits fuer
jedermann auf der Karteikarte nachzulesen.

Ogar

-----------------------------------------------------------------------------



Re^7: Neues 'twer' (Kessa, 27. Jun 2007, 22:40:20):
~#! rn=Humni rt=1182951762 rg=gilden.kaempfer
~#! tid=1182855812
Der Vergleich mit dem WoW stimmt nicht ganz. Die XP/h sind dazu da, einem
anzuzeigen, ob man effektiv XP sammelt, das gibt es da auch. Das informiert
einen z.B., ob sich das Level-Farmen in dem jeweiligen Gebiet oder bei den
jeweiligen Monstern lohnt, wo man sich gerade rumtreibt.

Was anderes ist DPS (Damage per Second), das ist die eigentliche
Schwanzvergleichskategorie. Die XP/h sind dafuer gar nicht nuetzlich, weil ja
gerade in Raids, wo die besagten Vergleiche ihr froehliches Unwesen treiben,
alle mehr oder weniger dieselbe Zahl XP bekommen. Da interessiert nur DPS,
sprich wieviel kann ich bei maximaler Feuerkraft raushauen? Ich glaube, darum
ging es hier bisher noch gar nicht (und find ich auch gut so :))

Kessa, schwanzlos und gluecklich

-----------------------------------------------------------------------------



Re^8: Neues 'twer' (Ark, 27. Jun 2007, 22:45:18):
~#! rn=Kessa rt=1182976820 rg=gilden.kaempfer
~#! tid=1182855812
Fasse ich richtig zusammen, dass "Ausbildung gewuenscht" die einzig sinnvolle
Erweiterung fuer die Kaempfer ist? Soll mir als Kaempfer recht sein, denn ich
will eine Kurzuebersicht, kein Lebenslauf mit Gesundheitsprofil :)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^9: Neues 'twer' (Gabylon, 28. Jun 2007, 10:46:17):
~#! rn=Ark rt=1182977118 rg=gilden.kaempfer
~#! tid=1182855812
Da fuer jeden was anderes wichtig ist (manche moechten vllt. auch gar
nicht den Ausbildungsstatus angezeigt bekommen), wird es darauf
hinauslaufen, dass das neue 'twer' individuell konfigurierbar sein wird.

Und nein, ich denke nicht, dass man xp/h und DPS dort angezeigt
bekommen kann. ;)

gab

-----------------------------------------------------------------------------



Pimp your twer (Gabylon,  1. Jul 2007, 01:41:52):
Hi Trves,

das neue 'twer' ist nun betriebsbereit.

Gleich vorweg: wer beim alten 'twer' bleiben moechte bzw. wer sich fuer
neumodischen Krams nicht erwaermen kann, braucht nichts zu tun. Es werden
dann auch keine weiteren Informationen ueber denjenigen im neuen 'twer'
angezeigt.

Allen anderen sei der Befehl 'twer hilfe' ans Herz gelegt.
Die Einstellungen, die man dort taetigen kann, bleiben natuerlich auch
ueber Crash / Reboot / Ende erhalten.

Viel Spass nun damit.


gab


p.s. Achja... der Kragen musste nochmals dran glauben... also bitte wieder
     anziehen. ;)

-----------------------------------------------------------------------------



Re: Pimp your twer (Shaeena,  1. Jul 2007, 02:39:15):
~#! rn=Gabylon rt=1183246912 rg=gilden.kaempfer
~#! tid=1183246912
In Ermangelung eines Kaempfers mit Zeitung muss ich selber schreiben:
Vielleicht waere es ganz hilfreich, wenn 'twer hilfe' auch auf die
eingestellten Zeilen reagieren wuerde und nicht einfach durchscrollt.
Mehr hat der Kaempfer ohne Zeitung sich bisher nicht angeschaut,
daher ist das alles was ich dazu grade sagen kann/moechte :-)

Shaeena i.A. von Arimera

-----------------------------------------------------------------------------



Re: Re: Pimp your twer (Gabylon,  1. Jul 2007, 02:53:46):
~#! rn=Shaeena rt=1183250355 rg=gilden.kaempfer
~#! tid=1183246912
done.

-----------------------------------------------------------------------------



Re: Re: Pimp your twer (Nial,  1. Jul 2007, 21:06:08):
~#! rn=Shaeena rt=1183250355 rg=gilden.kaempfer
~#! tid=1183246912
Verehrte Admiralitaet, liebe Kaempfer, unwehrte sonstige Mitlesende!

Mir ist durch eine merkwuerdige Spaltung der Persoenlichkeit ans Herz gelegt
worden den letzten Artikel zu lesen. Ich bin entzueckt, dass es ein 'twer'
gibt. Allerdings, liebe Leserschaft, muss ich gestehen, dass ich diesen befehl
nicht durch eigenes Zutuen herausgefunden habe. Hierzu - und das liebe
Mitkaempfer und Mitkaempferinnen ist ein Skandal - bedurfte es neben einer
gespaltenen Persoenluchkeit auch der ausfuehrlichen Lektuere der MPA.
Erschreckenderweise - dies meine ich vor allem durch die magiebegabtere
Haelfte meiner Persoenlichkeit so zu empfinden - bringt das Identifizieren des
Kragens keinen Hinweis auf ein twer oder gar ein 'twer hilfe'.
Darum bitte ich oeffentlich mir doch zu erklaeren, wie man auf diesen doch so
wundervollen Befehl kommen soll, wenn man nicht ueber eine so herrlich schoen
gespaltene Persoenlichkeit wie ich verfuegt.

Vielen Dank fuer Ihre Aufmerksamkeit.
Vanir ap Nial.

P.S.: Und nun verbrenn ich die Zeitung wieder. Mehr als eine zeitung fuehrt
immer zu Deja Vue's und die sind grausig

-----------------------------------------------------------------------------



Neuer Kragen bei Gramdala (Gabylon,  4. Jul 2007, 01:06:17):
Hi Trves,

damit ich nicht bei jeder kleinen Aenderung des Kragens euch allen
denselbigen wegnehmen muss, ist es nun moeglich, bei Gramdala den
jeweils frischesten Kragen zu bekommen, so ihr denn einen braucht
('unt kragen' informiert euch dann darueber).

Es bleibt euch dann in Zukunft ueberlassen, wann ihr euch einen frischen
Kragen holt (Aenderungen werden natuerlich weiterhin bekanntgegeben).

Nur in ganz dringenden Faellen (Motten und Kaefer koennen dem Kragen
manchmal schwer zusetzen bzw. ganz zerfressen) wird es weiterhin einen
Rundumschlag geben muessen.


gab

-----------------------------------------------------------------------------



Weitgereister Trves gesucht! (Gabylon,  8. Jul 2007, 14:15:34):
Hi Trves,


ich suche mutige und vom Forschungsdrang beseelte Trves, die sich bei mir
als Kundschafter beweisen wollen.
Fuer weitere Informationen stehe ich gerne zur Verfuegung.


Lzhy' Krnivos

-----------------------------------------------------------------------------



Bericht (Gulahr, 15. Jul 2007, 15:31:20):
Huhu Kaempfer und Kaempfer-Zweitie-Besitzer,

damit ich nicht staendig per tm nerven muss, wollte ich hier nochmal darauf
hinweisen, dass mein Bericht aushaengt. Ich brauch auch nur noch 3
Bewertungen, afaik. Waere also schoen, wenn sich der ein oder andere da
nochmal die paar Minuten nehmen koennte :)

Vielen Dank schonmal

-----------------------------------------------------------------------------



Berichtsbewertung aendern? (Gabylon, 20. Jul 2007, 00:30:45):
Hi Trves,

einer meiner naechsten Punkte auf todo waere die Berichtsbewertung, so es
denn von der Mehrheit gewuenscht wird bzw. als sinnvoll erachtet wird,
sie zu aendern.

Bisher reichen 15 Bwertungen, welche im Gesamtdurchschnitt ausreichend
nicht unterschreiten duerfen, aus, um auf 23 befoerdert zu werden.

Laesst man das so? Soll man was aendern? Wenn ja, was?

Das bisherige Verfahren hat bisher recht ordentlich funktioniert.
Trotzdem hat auch dieses seine Schwaechen. Ich liste mal ein paar
Kritikpunkte von Spielern auf, die schon vor meiner Zeit laut wurden:


1. Einzelne koennen mit einer (persoenlich gemeinten) miesen Bewertung
   jemandem die Note versauen, auf der andern Seite gibt es immer wieder
   welche, die glatte 1 verteilen, egal wie mies der Bericht ist, nur weil
   er von einem Freund geschrieben wurde.
   Als Abhilfe hatten wir uns da ueberlegt, die (z.B.) 3 schlechtesten und
   3 besten Bewertungen einfach zu streichen, und dafuer die Anzahl der
   benoetigten Bewertungen zb auf 20 hochzusetzen. Ergaebe eine im Schnitt
   ausgewogenere Bewertung.

2. Zweiter Kritikpunkt war der Bewertungsstop bei 15 Leuten, sofern die
   Bewertung dann ausreicht. Fuehrt dazu, dass man den Bericht leise
   aufhaengen und sich dann nen paar wohlgesonnene Kaempfer zusammentrommeln
   kann. Diese Bewertungssperre sollte aufgehoben werden.

3. Gegen das "heimliche" Aufhaengen waere ein lautes Verkuenden durch
   Kloiren auf [Trves:] wuenschenswert; Ich wuerde mir sogar noch
   weitergehend eine Mitteilung an zb alle Generaele beim Einloggen
   wuenschen, sofern diese einen neuen Bericht noch nicht bewertet haben.
(Anmerkung: Ist seit einiger Zeit erledigt.)

4. Wie waere es, wenn man Berichte, die am Brett haengen, nicht nur bis zu
   einer Maximalzahl an positiven Stimmen, sondern auch eine MINIMAL-zahl
   an Tagen (z.B. eine Woche) lang bewerten kann, auch wenn es schon
   'ausreichend' positive Stimmen gab?

5. Wie waere es, wenn man 5 Bewertungen pro Rang braucht, ausser vom
   kleinsten Range. Daraus werden dann der beste  und schlechteste pro Rang
   gestrichen und der Rest gibt die Note. Ich denke, die meisten Kontakte
   hat man zu  Spielern, die in etwa gleich hoch sind. So kann man
   verhindern, dass Berichte ausschliesslich von Freunden (bzw Intimfeinden)
   benotet werden und so die Note arg verfaelschen.


Ich lasse diese Punkte erstmal weitgehend unkommentiert und warte auf eure
Kommentare / Ideen / Vorschlaege.
Natuerlich koennen auch neue Ideen diskutiert werden.


gab

-----------------------------------------------------------------------------



Re: Berichtsbewertung aendern? (Ark, 20. Jul 2007, 00:50:50):
~#! rn=Gabylon rt=1184884245 rg=gilden.kaempfer
~#! tid=1184884245
Mir stellt sich eh immer die Frage, was ein kleiner Kaempfer zu einem Bericht
wie "Neue Feuerebene" schreiben kann. Tipfehler, Stil und Unterhaltungswert
vielleicht, mehr nicht. Nun haengt das sicher immer wieder vom "Vorwissen" des
Kaempfer(-zweitis) ab, aber grundsaetzlich kommen fuer eine ansatzweise
sinnvolle Bewertung eher hoehere Raenge in Betracht. Womit das Problem schon
umrissen waere.
Da RL Kluengelei und Bewertungsverzerrung eh nicht auszuschliessen sind,
wuerde ich auch hier (aehnlich der Ausbildung) fuer Oeffnung der Bewertung
fuer alle Gilden plaedieren, Zweitis evtl. dann ausgeschlossen. Der General
schreibt den Bericht zwar fuer die Trves, aber warum soll er Gildenfremden
nicht ebenfalls nuetzlich sein, ein Aushaengeschild fuer den Ruhm der Gilde
und seiner Mitglieder? Ueber die Mindestanzahl kann man dann wieder
diskutieren, ich finde 15 Bewertungen durchaus angemessen.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Berichtsbewertung aendern? (Esme, 20. Jul 2007, 09:15:26):
~#! rn=Gabylon rt=1184884245 rg=gilden.kaempfer
~#! tid=1184884245
Ich finde es problematisch, die Anzahl der notwendigen Bewertungen
hochzusetzen
und genauso, so und so viele Bewertungen von diesem und jenem Rang haben zu
muessen, da die Moeglichkeit das zu verwirklichen doch sehr davon abhaengt,
wieviele Leute gerade aktiv spielen.
Meiner Meinung nach wuerde gerade das Spieler mit vielen Bekanntschaften
einen noch groesseren Vorteil verschaffen, da sie wissen wen sie bzgl.
Zweities einloggen etc ansprechen koennen.
Abgesehen davon denke ich, dass es die Ausbildung (zumindest theoretisch)
durchaus bedingt, dass die Bekanntschaften ueber die Raenge gestreut sind.
Fazit: Eine ausgewogenere Bewertung ist schoen und gut, aber wenn ein Bericht
dann aufgrund mangels Anwesenheit passender Trves nicht ausreichend bewertet
wird, bringt das keinem Spieler etwas.

Viele Gruesse,

Esme

-----------------------------------------------------------------------------



Re: Berichtsbewertung aendern? (Vansen, 20. Jul 2007, 09:20:59):
~#! rn=Gabylon rt=1184884245 rg=gilden.kaempfer
~#! tid=1184884245
Also wenn tiefere Raenge bewerten koennten waer das schon sinnvoll. Mir grauts
allerdings bei dem Gedanken, die Zahl auf 20 hochzusetzen. Man hats doch bei
Gulahr gesehen wie lange der gebraucht hat bis er 15 Stimmen zusammen hatte.
Glaube nicht dass heute noch jemand den Bericht leise aufhaengt um Freunde
bewerten zu lassen. Also lass mal bei 15 Stimmen, die reichen vollkommen.

-----------------------------------------------------------------------------



Re: Re: Berichtsbewertung aendern? (Kessa, 20. Jul 2007, 10:58:55):
~#! rn=Vansen rt=1184916059 rg=gilden.kaempfer
~#! tid=1184884245
Ich finde, die Idee, auch andere Gilden mitbewerten zu lassen, hat was fuer
sich. Zum einen waere es dann nicht mehr so schwierig, seine Bewertungen
zusammenzukriegen. Zweitens, wie Ark schon sagte, koennen gute Berichte fuer
alle nuetzlich sein und den Ruhm der Trves mehren. Und faehig zum Bewerten
sind andere Gilden genauso wie Kaempfer, da die Themen ja (zumindest meist?)
nicht kaempferspezifisch sind. Drittens verirren sich so vielleicht mal Leute
in die Kaempfergilde, die sie sonst vielleicht nie von innen sehen wuerden,
ausser um Brieseltrim zu verpruegeln.

Gruss, Kessa

-----------------------------------------------------------------------------



Re: Berichtsbewertung aendern? (Maharet, 20. Jul 2007, 13:19:03):
~#! rn=Gabylon rt=1184884245 rg=gilden.kaempfer
~#! tid=1184884245
Also Gulahr hat Probleme, die 15 Leute zusammenzukriegen, du willst das jetzt
auf 20 erhoehen? Und dann noch einschraenken mit bestimmter Anzahl pro Rang? 
Schau dir mal nochmal die Anzahl aktiver Trves an ;)
Das Streichen von Bewertungen halte ich zumindest derzeit fuer unnoetig, ich
habe nicht den Eindruck, als ob es da viel Gemauschel in die eine oder andere
Richtung gibt.  
Ich hatte jetzt ja eher erwartet, dass die Mindestanzahl an Bewertungen
heruntergesetzt wird.

Eine Mindestanzahl an Tage, die der Bericht haengen soll, befuerworte ich
allerdings. Damit auch wirklich jeder, der lesen und bewerten will, die Chance
hat.

Maharet

-----------------------------------------------------------------------------



Re: Re: Berichtsbewertung aendern? (Gabylon, 20. Jul 2007, 13:37:21):
~#! rn=Maharet rt=1184930343 rg=gilden.kaempfer
~#! tid=1184884245
"... Kritikpunkte von Spielern auf, die schon vor meiner Zeit laut wurden:"

Ich weiss ja nicht, wie deutlich ich es noch schreiben soll. Oder ist
neuerdings Querlesen wieder in?

Ok, nochmal zum Mitmeisseln: diese Punkte sind NICHT von mir. Sie wurden
von Spielern VOR meiner Zeit als GM vorgeschlagen. Noch habe ich sie
weder kommentiert, noch befuerwortet, noch kritisiert. Ich habe sie
einfach nur zur Diskussion in den Raum gestellt.

gab, leise seufzend.

-----------------------------------------------------------------------------



Re^3: Berichtsbewertung aendern? (Maharet, 20. Jul 2007, 14:21:33):
~#! rn=Gabylon rt=1184931441 rg=gilden.kaempfer
~#! tid=1184884245
Sicher war mir der Satz aufgefallen, aber ich konnte mir nicht vorstellen,
dass wir hier eine geschichtswissenschaftliche Diskussion ueber Probleme von
vor 10 Jahren fuehren sollten, sondern dass du davon ausgehst, dass die
gleichen Probleme auch heute noch bestehen.  Was genau willst du denn jetzt
von uns wissen, wenn wir uns nun doch nicht auf deine Punkte beziehen sollen?

-----------------------------------------------------------------------------



Re^4: Berichtsbewertung aendern? (Gabylon, 20. Jul 2007, 22:20:59):
~#! rn=Maharet rt=1184934093 rg=gilden.kaempfer
~#! tid=1184884245
Natuerlich sollt bzw. koennt ihr euch auf die Punkte beziehen.
Ich moechte mich nur gegen solche Formulierungen wie "du willst das jetzt
auf 20 erhoehen?" wehren.
Es sind naemlich nicht meine Vorschlaege, ich hab noch nicht mal was
dazu gesagt.

gab

-----------------------------------------------------------------------------



Re^5: Berichtsbewertung aendern? (Vanir, 21. Jul 2007, 12:51:24):
~#! rn=Gabylon rt=1184962859 rg=gilden.kaempfer
~#! tid=1184884245
Ich faend eine Mindestaushaengzeit potitiv - sagen wir mal so 1-2 rl-monate
(das meine ich ernst). Denn mir ists schon ein paarmal passiert, dass ich
meinen Rentner dahinbewegt habe und keine Moeglichkeit mehr gesehen habe zu
bewerten.

V.

-----------------------------------------------------------------------------



Re: Re: Berichtsbewertung aendern? (Derin, 22. Jul 2007, 10:56:21):
~#! rn=Ark rt=1184885450 rg=gilden.kaempfer
~#! tid=1184884245
    Hi,

waren die Berichte nicht dafuer gedacht, dass niederstufigere Trves einen
besseren Einblick in Dinge/Gegenden/Monster bekommen, die sie selbst noch
nicht so gut beurteilen koennen, oder zu denen sie sich selbst nicht so ohne
weiteres hinbegeben (koennen)? Zumindest erweckt bei mir die Einleitung auf
der Webseite den Eindruck.

Nun, bei den ganz frischen Rekruten gebe ich Dir recht. Aber in die Bewertung
eines Berichts sollte IMHO auch einfliessen, ob er fuer die Zielgruppe
nuetzlich ist. Ich habe durchaus schon Berichte gelesen, bei denen fuer mich
einfach "nichts rumkam" (oder ich genauso schlau wie zuvor war, wenns um die
Frage ging "kann ich mich schon an das Monster/die Gegend rantrauen?"). Ebenso
aber auch viele Berichte, die auch oder gerade einem frischgebackenen Trves
wirklich weiterhelfen. Ausserdem scheinen mir zumindest die aktuellen Nach-
wuchs-Trves hochmotiviert, engagiert und hilfsbereit. Und ich glaube, ob ein
Bericht gut recherchiert und sorgfaeltig geschrieben ist, bemerkt man auch,
wenn man selbst vom Gegenstand des Berichts wenig Ahnung hat. Vielleicht kann
man die Bewertung ja nach Rang gewichten, wenn es um die Ermittlung der Note
geht.

Derin.

-----------------------------------------------------------------------------



Re^6: Berichtsbewertung aendern? (Derin, 22. Jul 2007, 11:07:59):
~#! rn=Vanir rt=1185015084 rg=gilden.kaempfer
~#! tid=1184884245
Huhu,

eine Mindestaushaengezeit faende ich auch gut, und etwas im Rahmen von viel-
leicht 40 Tagen erscheint mir auch sinnvoll. Der entsprechende Trves hat sich
ja viel Muehe gegeben, gruendlich zu recherchieren und einen ordentlichen
Bericht abzuliefern, dann muss man IMHO auch nicht in aller Eile bewerten,
sondern kann sich ein paar Gedanken dazu machen, was man selbst bei dem Text
vermisst oder was fuer Fragen offenbleiben. Ausserdem ists ja zumindest
momentan die letzte Befoerderung fuer einen (Spieler-) Trves, und da kann man
vielleicht die zusaetzliche Wartezeit etwas eher in Kauf nehmen, bevor man in
den Ruhesta^W^W^Wauf einen Schreibtischjob abgeschoben wird ... *duck*

Wie ist das eigentlich, ich habe auf die Schnelle dazu nichts gefunden ...
wenn der Autor des Berichts Feedback zu seinem Text bekommt, kann er dann
eine verbesserte Version seines Artikels aushaengen? Was passiert in dem Fall
mit bereits getaetigten Bewertungen?

Derin.

-----------------------------------------------------------------------------



Re: Berichtsbewertung aendern? (Mirjam, 22. Jul 2007, 13:30:40):
~#! rn=Gabylon rt=1184884245 rg=gilden.kaempfer
~#! tid=1184884245
zu Punkt 1 (Hochsetzung der benoetigten Bewertungen gegen Manipulation):
Dagegen.
Waere sowieso nicht wirkungsvoll, nur komplizierter und heutzutage nicht mehr
noetig.

zu Punkt 2 (Bewertungssperre aufheben):
Dafuer.
Es gibt keinen Grund, nach der Anzahl der benoetigten Bewertungen den Bericht
zu sperren. Ohne Sperre auch weniger Manipulation, wobei ich das (wie schon
gesagt) heute nicht mehr aktuell finde.

zu Punkt 3 (Mitteilungen bei neuem Bericht):
Dafuer.
Wie du sagtest, ist dieser Punkt allerdings bereits erledigt. Moeglicherweise
kann man das noch erweitern. (tm llystrathe sag deinen zerstreuten irren mal,
dass sie bei uns in der gilde noch was lernen koennen ;)

zu Punkt 4 (Berichtaushang zeitlich regeln):
Dafuer.
Haengt mit Punkt 2 zusammen und ist sinnvoll. Ich schlage mal einfach so einen
Monat vor.

zu Punkt 5 (Berwertungen pro Rang):
Dagegen.
Es gibt nicht so viele aktive Kaempfer, und ausserdem finde ich nicht, dass
Berichte irgendwas mit Raengen zu tun haben (sollten), sondern nur mit dem
ehrlichen Interesse des Bewerters/Lesers. Und solche Regelungen wie beste und
schlechte Stimmen streichen sind IMHO unwirksam gegen Missbrauch und haben
sich inzwischen ohnehin erledigt (s. o.).

Und da ich gerade beim ehrlichen Interesse des Lesers war:
Ich bin sehr dafuer, dass die Berichte auch von anderen Gilden bewertet
werden koennen. Das waere mit Sicherhei eine Bereicherung. Mir faellt kein
Grund ein, warum das ausschliesslich Kaempfer koennnen sollen. Es wuerde sehr
helfen und die ganze Sache deutlich ungezwungener gestalten, da auch mehr
Bewerter zur Verfuegung stehen.

-----------------------------------------------------------------------------



Re: Re: Berichtsbewertung aendern? (Zephyr, 22. Jul 2007, 22:19:22):
~#! rn=Mirjam rt=1185103840 rg=gilden.kaempfer
~#! tid=1184884245
Zwar bereits im Ruhestand - aber trotzdem gruselt es mir bei dem
Gedanken an Berichte-bewertende Zweitiehorden, welchen bei Oeffnung
des Bewertungswesens fuer andere Gilden Tuer und Tor geoeffnet wuerden.
(Bisher ist das kein Thema - wer hat schon einen Haufen Zweities in
der selben Gilde?). Generell finde ich die Idee, Berichte auch von
anderen Gilden bewerten zu lassen, nicht schlecht - aber dann bitte
nur ein Vetreter pro "Familie".
Ansonsten: Den Bericht unabhaengig von der Anzahl der Bewertung ein 
paar Wochen haengen zu lassen, kann sicher nichts schaden, ebenso 
wenig wie das Streichen der zwei schlechtesten bzw. besten Bewertungen.
Mit einem Hochsetzen der benoetigten Bewertungen muss das nicht zwangs-
laeufig einhergehen..

*nach Schreibtisch riechende knuddels*
C4

PS: Bei Bewertungsbedarf ggf. bitte nachtreten - ich muss gestehen,
dass Gulahrs Bericht trotz Generalsnachricht an mir vorbeiging.
PPS@Derin: Ein Kaempfer kann jederzeit eine neue Version seines 
Berichtes aufhaengen - die Bewertungen bleiben imho erhalten.

-----------------------------------------------------------------------------



Re^3: Berichtsbewertung aendern? (Mirjam, 23. Jul 2007, 00:27:04):
~#! rn=Zephyr rt=1185135562 rg=gilden.kaempfer
~#! tid=1184884245
Klar, Zweities duerfen den Bericht natuerlich nicht bewerten, das hatte ich
vorausgesetzt.

-----------------------------------------------------------------------------



Re^4: Berichtsbewertung aendern? (Anatol, 23. Jul 2007, 18:55:01):
~#! rn=Mirjam rt=1185143224 rg=gilden.kaempfer
~#! tid=1184884245
Was passiert im Fall, dass der Bericht fuer die Tonne ist?
Der Kandidat verbessert ihn und mailt alle bisherigen Bewerter
an? Sehe ich groesseren Bedarf der Nachbesserung als bei der
Anzahl der noetigen gueltigen Stimmen, auch wenn mir ad hoc
keine ideale (missbrauchsfreie) Loesung einfallen mag.

Wie sieht's aus mit kommentierbaren Bewertungen? Kommentare
sollten ausschliesslich vom Berichtsautor gelesen werden koennen
und NICHT anonym sein (Feedback hat doch hoffentlich jeder gern, 
ja?).

Vielleicht gibt's das alles schon....

Anatol


-----------------------------------------------------------------------------



Re^5: Berichtsbewertung aendern? (Boing, 23. Jul 2007, 20:51:32):
~#! rn=Anatol rt=1185209701 rg=gilden.kaempfer
~#! tid=1184884245
Bei ner richtig miesen Bewertung hab ich meinen Kommentar (Begruendung)
immer in ne email gepackt ...
  Boing

-----------------------------------------------------------------------------



Re^6: Berichtsbewertung aendern? (Ark, 23. Jul 2007, 21:03:10):
~#! rn=Boing rt=1185216692 rg=gilden.kaempfer
~#! tid=1184884245
Ist auch besser ... sonst endet alles im ueblichen Gelaber, der Bericht wird
zerredet, Autor frustriert, etc.
Zu pessimistisch? Ueberhaupt nicht, kennt man ja aus der MPA :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^4: Berichtsbewertung aendern? (Mcdee, 23. Jul 2007, 21:05:47):
~#! rn=Mirjam rt=1185143224 rg=gilden.kaempfer
~#! tid=1184884245
Also ich bin gegen ein Bewerten durch Gildenfremde. Ich weiss auch nicht was
es bringen sollte, die Regelung "es koennen nur Kaempfer den Bericht bewerten"
durch "es koennen nur Erstspieler den Bericht bewerten" zu ersetzen. Fuer den
groessten Teil der Spielerschaft stellt dies sicher keinen Unterschied dar,
aber dem Rest unterstelle ich einfach mal, das er keine Ahnung hat, wie er das
(hoffentlich vorhandene) Gildenspezifische des Berichts bewerten soll und
trotzdem mitentscheidet, ob der Bewerber in den Rang eines Generals befoerdert
werden kann.

Dee

-----------------------------------------------------------------------------



Re^5: Berichtsbewertung aendern? (Zephyr, 23. Jul 2007, 21:32:55):
~#! rn=Mcdee rt=1185217547 rg=gilden.kaempfer
~#! tid=1184884245
Ich habe absichtlich nicht gesagt, dass nur Erstspieler den Bericht
bewerten koennen soll. Meine Formulierung war "Nur einer aus der
Familie". Wenn jemand seinen Zaubi hernehmen muss, um den Bericht zu
bewerten, weil sein Kaempfer nur Zweitie ist, wirds albern ;)
Wenn das mit dem 1/Familie nicht machbar ist, dann doch lieber bei
"nur Kaempfer" belassen.
*knuddels*
C4

-----------------------------------------------------------------------------



Re^6: Berichtsbewertung aendern? (Boing, 23. Jul 2007, 23:08:00):
~#! rn=Zephyr rt=1185219175 rg=gilden.kaempfer
~#! tid=1184884245
Also dass Gildenfremde Berichte von Kaempfern bewerten sollen, die zum
Generalstitel notwendig sind, davon halte ich gar nichts.
  Boing

-----------------------------------------------------------------------------



Re^7: Berichtsbewertung aendern? (Mirjam, 23. Jul 2007, 23:12:51):
~#! rn=Boing rt=1185224880 rg=gilden.kaempfer
~#! tid=1184884245
Zur Bewertung der Berichte meinte ich natuerlich auch 'nur einer aus der
Familie'. 

-----------------------------------------------------------------------------



Re^8: Berichtsbewertung aendern? (Orktoeter, 25. Jul 2007, 20:16:51):
~#! rn=Mirjam rt=1185225171 rg=gilden.kaempfer
~#! tid=1184884245
Meine Meinung:

20 Bwertungen und die 3 Besten/Schlechtesten streichen: Dafuer (wenn genuegend
Bewerter zur Verfuegung stehen)
Gildenfremde oder niedriglevelige Bewerter: dagegen (warum sollten
Gildenfremde mitentscheiden wer bei den treves General werden kann? Im
Extremfall koennte eine andere Gilde mutwillig verhindern das es neue
Generaele gibt); auch wenn "eitles von einem abtropfen" soll, aber wieso bitte
sollen Rekruten ueber das Werden eines Generals mitentscheiden?
Zeitlimit: Absolut dafuer

OrkT.

-----------------------------------------------------------------------------



Bewertungsaenderung - Review (Gabylon,  2. Aug 2007, 14:07:09):
Hi Trves,

erstmal vielen Dank fuer die relativ rege Diskussion ueber den Modus der
Berichtsbewertung.

Ich wuerde gerne auch nochmals etwas zu den einzelnen Punkten etwas sagen.

1. schlechteste und beste Benotung streichen -> ausgewogenere Bewertung

   - Ich habe bisher nicht den Eindruck, dass es bei der Bewertung
     uebermaessig viel Vetternwirtschaft gibt. Sicherlich steht man evtl.
     der Bewertung eines Berichts eines guten Freundes etwas gewogener
     gegenueber, aber ich denke, dass das momentane Bewertungssystem
     dies verkraftet, so wie es auch mit 1-2 nicht gerechtfertigten
     negativen Bewertungen zurechtkommt. Letztendlich wiegen sich ja beide
     dann wieder auf.
     Bei Bedarf kann oder sollte man dies dann aber erneut ueberdenken.

2. Bewertungsstop bei 15 Leuten -> heimliches Aufhaengen

   - Ist teilw. zusammen mit 3. erledigt worden.

3. Verkuenden auf [Trves:] und Nachricht beim Einloggen.

   - Ist eingebaut.

4. Minimalanzahl an Tagen fuer Aushang

   - Klingt in meinen Ohren recht vernuenftig. Zwei Monate erscheinen mir
     allerdings zu lang, zwei Wochen zu kurz.
     Ich wuerde etwas dazwischen vorschlagen (zB 30 Tage). Damit diese
     Neuregelung Sinn ergibt, muss die aktuelle Anzahl der Bewertungen
     auf _mindestens_ 15 geaendert werden (vorher war bei 15 Schluss).

5. mind. x Bewertungen pro Rang

   - Eigentlich auch eine gute Idee, leider fehlt uns dafuer der personelle
     Mittelbau. Wenn wir irgendwann wieder ueberlaufen werden und taeglich
     neue Mitglieder bekommen, koennte man auch darueber nachdenken.


Zusaetzlich kam das Thema der Fremdbewertung auf. Eine heikle Sache.
Einerseits eine wirklich interessante Idee, andererseits ergeben sich daraus
wieder einige neue Probleme: Zweitiehandhabung, Levelbeschraenkung (Soll
wirklich jeder Level1-Spieler bewerten koennen? Wenn nicht, wo setzt man die
Grenze?), viel mehr Vetternwirtschaft als vorher, usw.

Drei Tatsachen lassen imho sich die Argumente fuer die Berichtsbewertung
durch fremde Gilden dann doch eher in Wohlgefallen aufloesen:

a) Es gab doch einigen Widerstand innerhalb der Gilde.
b) Die o.g. neuen Probleme muessten adaequat geloest werden.
c) Letztendlich stehen die Berichte ja auch noch nach Bewertung zur freien
   Verfuegung und lassen sich (u.a.) bequem im www lesen.
   Der Vorwurf der Wissensvorenthaltung kann also nicht geltend gemacht
   werden.

Fazit:
Mindestfrist bei 30 Tage, Aenderung der Anzahl der Bewertungen auf
mindestens 15, alles andere bleibt wie bisher.

Wenn jetzt niemand laut aufschreit, dass 30 Tage zu viel oder zu wenig sind,
wuerde ich beide Aenderungen dann demnaechst so umsetzen.


gab

-----------------------------------------------------------------------------



Re^3: Berichtsbewertung aendern? (Seleven,  3. Aug 2007, 15:48:36):
~#! rn=Kessa rt=1184921935 rg=gilden.kaempfer
~#! tid=1184884245
Ich finde das mit den anderen Gilden eine Schnapsidee!
Wieso sollte ein Zauberer den Bericht eines Kaempfers (der ihm gerade einen
Tritt in den Allerwertesten verpasst hat) positiv bewerten? Ich verstehe jam
dass Kammeradschaft wichtiger ist, als Rassenzwistigkeiten, aber wenn ich mir
das Szenario ausmale "Elfenzaubi bewertet Zwergenkaempfer", muss ich schon
grinsen.
Aber ich sehe das mit dem Rollenspiel vielleicht auch zu verbissen. Sollte ich
aber einen Zaubi haben, setzt ihn dann bitte auf eine Blacklist, damit ich
nicht bewerten darf!

Seleven, (h)albernst.

PS: Ich lese erst jetzt weiter und hoffe, dass keine Entscheidung gefallen
ist.

-----------------------------------------------------------------------------



Re^4: Berichtsbewertung aendern? (Boing,  3. Aug 2007, 15:51:17):
~#! rn=Seleven rt=1186148916 rg=gilden.kaempfer
~#! tid=1184884245
Du hoffst vergebens ... :)
  Boing

-----------------------------------------------------------------------------



Re^5: Berichtsbewertung aendern? (Seleven,  3. Aug 2007, 16:02:48):
~#! rn=Boing rt=1186149077 rg=gilden.kaempfer
~#! tid=1184884245
Tja. Konnte meinen inneren Hobbit nicht laenger zurueckhalten. :)
S11.0 (Terry inside)

-----------------------------------------------------------------------------



Re^4: Berichtsbewertung aendern? (Ark,  3. Aug 2007, 16:54:19):
~#! rn=Seleven rt=1186148916 rg=gilden.kaempfer
~#! tid=1184884245
Ich hab mitnichten Schnaps getrunken :-)
Im uebrigen prolle ich vielleicht manchmal mit wider die Zauberer, dennoch bin
ich eigentlich nicht der Meinung, dass zwischen den Gilden hier eine derartige
Rivalitaet bestehen sollte, dass jeder ein closed shop ist. Immerhin schickt
die holde Llystrathe ja auch Kaempfer los, um Saechelchen zu besorgen. Aber
kein Problem, wenn andere Gilden nur lesen duerfen, meinshalben. War ein
Ansatz, um der Befuerchtung entgegenzutreten, die Kaempfer kommen nicht beim
Bewerten in die Gaenge.
Werden jetzt weiterhin nur Kaempfer zugelassen und es klappt dann immer noch
nicht, dann fasst euch an die lange Nase :-) Wer dann noch heult, hat es
verdient (... Zauberer zu werden).


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Berichtsaenderung (Gabylon,  4. Aug 2007, 15:45:44):
Hi Trves,


der neue Bewertungsmodus ist nun aktiv, sprich: 30 Tage Mindestaushangzeit
und mindestens 15 Trves als Bewerter.

Ob diese Zeitspanne einer praxistauglichen Regelung entspricht, wird nur die
Zukunft zeigen koennen. Bei dringendem Bedarf kann man das relativ leicht
rauf- bzw. runterregeln.


gab

-----------------------------------------------------------------------------



Berichtstausch? (Gabylon,  5. Aug 2007, 18:57:28):
Hi Trves,


da wir gerade bei den Berichten waren... ;)

Wer mal ueber die Liste der noch ausstehenden Berichte geschaut hat, wird
vielleicht bei sich gedacht haben, dass der ein oder andere mit seinem noch
zu schreibenden Bericht vielleicht nicht ganz so gluecklich ist, um es mal
vorsichtig auszudruecken.

Es kam vor einiger Zeit der Vorschlag auf, dass man den Bericht nach
einer gewissen Zeit bei Briesel gegen einen anderen Bericht tauschen
koennen soll. Diese Zeit muss natuerlich angemessen hoch sein, damit man
nicht alle 4 Wochen Karussell spielt. Ich koennte mir dort durchaus 1-2
Jahre vorstellen.

Meine Frage, welche sich vor allem an die angehenden Generaele mit und auch
ohne Bericht wendet, ist nun: macht dies Sinn? Ist dies gewuenscht? Oder
soll jeder sehen wo er bleibt? Friss oder stirb? Wie seht ihr das?


gab

-----------------------------------------------------------------------------



Re: Berichtstausch? (Lug,  7. Aug 2007, 18:12:10):
~#! rn=Gabylon rt=1186333048 rg=gilden.kaempfer
~#! tid=1186333048
Bericht? Was fuer ein Bericht?
Anonymer General

-----------------------------------------------------------------------------



Re: Berichtstausch? (Jadawin,  7. Aug 2007, 22:42:43):
~#! rn=Gabylon rt=1186333048 rg=gilden.kaempfer
~#! tid=1186333048
Halte ich fuer sinnvoll. Bei mir lag es zwar sicher nicht am Berichtsthema,
aber manche Leute hatten da schon arges Pech. Bloed ist es halt wenn das neue
Thema dann mit etwas Pech noch bescheidener ist als das alte. Aus 3
Vorschlaegen eines auswaehlen widerspricht aber vermutlich zu sehr Briesels
Mentalitaet, oder? Auch wenn es IMO ein eleganter Loesungsansatz waere.
Jad*

-----------------------------------------------------------------------------



Re: Berichtstausch? (Kenny, 15. Aug 2007, 16:40:40):
~#! rn=Gabylon rt=1186333048 rg=gilden.kaempfer
~#! tid=1186333048
Der Berichtstausch ist meiner Meinung nach eine super Idee.
Allerdings kommt mir da eher eine etwas anders geartete Form besser vor.
Ich wuerde bei nicht bestandenem Bericht dem GL 22 Kaempfer jeglich gemachte
Ausbildung streichen und ihm dann nach 6 Monaten ein neues Thema geben.
Bei zweimaligem ablehnen/nicht bestehen des Themas 12 Monate, usw. immer
verdoppeln.
Ich denke wer es beim dritten mal nicht hinbekommt, der bleibt eh besser GL
22, als andere herumkommandieren zu duerfen.
Gruss
Kenny

-----------------------------------------------------------------------------



Re: Berichtsaenderung (Kenny, 15. Aug 2007, 16:42:56):
~#! rn=Gabylon rt=1186235144 rg=gilden.kaempfer
~#! tid=1186235144
Ich faend als Zusatz noch super, dass wenn jemand sich einloggt, der einen
Bericht offen hat der bewertet werden muss, eine Meldung auf -trves kommt.
z.B.:
Kloiren - Der angehende General XY hat noch einen Bericht bei mir offen der
bewertet werden will.
Gruss
Kenny

-----------------------------------------------------------------------------



Re: Re: Berichtsaenderung (Feigling, 15. Aug 2007, 16:46:19):
~#! rn=Kenny rt=1187188976 rg=gilden.kaempfer
~#! tid=1186235144
....und wenn sich der angehende General dann 10 mal in einer Std
ein- ausloggt, sperren wir seinen Bericht fuer 3 Monate. Beim naechsten
mals dann schon 12 Monate usw. ;-)

Feigling

-----------------------------------------------------------------------------



Re: Re: Berichtstausch? (Liara, 15. Aug 2007, 20:08:36):
~#! rn=Kenny rt=1187188840 rg=gilden.kaempfer
~#! tid=1186333048
Kenny, das ist ein MUD und keine Zwangsanstalt. ;)

Bisher gab es hier die gute Tradition, dass wesentliche (irreversible)
Fortschritte nicht an zeitlich konstante Anwesenheit gebunden sind.
Wenn du dein Mudpensum planen kannst, bitte. Aber andere Leute koennen/wollen
das aus diversen Gruenden nicht (Familie, Job, Studium, Lustfaktor ...).
Manchmal tauchen die Leute nach Jahren wieder auf und mudden.

Also kommt so eine 'Wenn du bist zu dem Termin das nicht gemacht hast bist du
nicht wuerdig General zu werden-Massnahme' gar nicht in Frage.

Liebe Gruesse, ZZL

-----------------------------------------------------------------------------



Re^3: Berichtstausch? (Humni, 15. Aug 2007, 20:28:33):
~#! rn=Liara rt=1187201316 rg=gilden.kaempfer
~#! tid=1186333048
Das Problem ist nicht, dass Spieler bei den Berichten durchfallen. Aufgrund
von RL-Sympathie wird eigentlich auch recht schlecht geschriebener Kram als
Bericht akzeptiert. Ist jedenfalls meine Erfahrung.

Ich bin aus diesen Gruenden dagegen. Man kann seinen Kram bei jedem Bericht
einbringen. Man muss das nur geschickt machen. Sprich, ich finde, ein
Berichtstausch ist IMHO voellig ueberfluessig. Das einzige, worueber man
nachdenken koennte, waere, Themen, die wirklich schoen sind, aber seit Jahren
unbearbeitet, neu zu vergeben.

Humni
PS: das ist meine Meinung als Spieler eines Kaempferzweities. Aus
Gildenbalancesicht ist mir das egal. 

-----------------------------------------------------------------------------



Re^4: Berichtstausch? (Humni, 15. Aug 2007, 20:31:00):
~#! rn=Humni rt=1187202513 rg=gilden.kaempfer
~#! tid=1186333048
sorry, wenn das unklar war: In megaschmarrn-tradition hab ich auf den letzten
Artikel geantwortet.

Humni

-----------------------------------------------------------------------------



Re^3: Berichtstausch? (Kenny, 16. Aug 2007, 20:39:22):
~#! rn=Liara rt=1187201316 rg=gilden.kaempfer
~#! tid=1186333048
Das hat weder etwas mit Mudpensum oder irgendwas anderem zu tun.
Es gibt einfach Berichte die nicht bearbeitet worden sind, weil das Thema
gaenzlich oder zumindest zu 99% unbekannt ist.
Das Eintauschen des Berichts mit Sperre bis man den neuen Bericht bekommt ist
auf keinen Fall eine Strafe. Es ist eine Moeglichkeit und unliebsames Thema
loszuwerden und nach 6 Monaten ein neues zu bekommen.
Es bedeutet dann naemlich auch die Moeglichkeit ein "schoenes Thema" neu zu
verteilen.
Ich habe nichts von "Termin" gesagt. Die 6 Monate sind die Sperre ein neues
Thema zu erhalten, wenn man das alte per syntax xy abgelehnt hat.
Ich kenne da z.B. das Thema "Das unsichtbare Monster von Shaky Island",
derjenige der es bearbeiten sollte hat nach ueber 60 Stunden des Forschens
aufgegeben und eigentlich nur "alte Eisen" des MGs haben gegrinst, fuer den
Normalsterblichen ist es nicht bekannt.

-----------------------------------------------------------------------------



Re^4: Berichtstausch? (Humni, 16. Aug 2007, 20:41:28):
~#! rn=Kenny rt=1187289562 rg=gilden.kaempfer
~#! tid=1186333048
Was hindert die Person daran, darueber einen Bericht zu schreiben? Das
verstehe ich eben nicht.

Humni

-----------------------------------------------------------------------------



Re^5: Berichtstausch? (Ark, 16. Aug 2007, 20:52:49):
~#! rn=Humni rt=1187289688 rg=gilden.kaempfer
~#! tid=1186333048
Ich frage mich eben, wie der Erfinder des Themas an die Pillen kam. Klar,
lustige Geschichte ist schnell erfunden, wenn man nach einer halben (!) Stunde
merkt, dass das ... ehm ... wenig bringt. Die Frage ist, ob da eine sinnvolle
Bewertung moeglich ist, wenn man ihn mit anspruchsvolleren Themen vergleicht.
Aber wir hatten sowas ja mal im RL ... Studienarbeiten von ... einer gewissen
Berufsgruppe :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^6: Berichtstausch? (Boing, 16. Aug 2007, 21:03:29):
~#! rn=Ark rt=1187290369 rg=gilden.kaempfer
~#! tid=1186333048
Das Ergebnis dieses Berichtes kann doch sein dass es kein unsichtbares
Monster von Shaky Island gibt. Ich seh das Problem nicht wirklich.
  Boing

-----------------------------------------------------------------------------



Re^7: Berichtstausch? (Ark, 16. Aug 2007, 21:06:00):
~#! rn=Boing rt=1187291009 rg=gilden.kaempfer
~#! tid=1186333048
Wie gesagt, das Schreiben ist nicht schwer. Aber dieser General hatte ein
wesentlich einfacheres Thema als andere ... auch wenn ich mir die alten
Berichte erst nochmal durchlesen muesste. Naja, sollen andere beurteilen, mir
wuerde es schwerfallen, bei der Bewertung "ausreichend recherchiert" ne
Hoechstnote zu verteilen :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^8: Berichtstausch? (Humni, 16. Aug 2007, 21:24:27):
~#! rn=Ark rt=1187291160 rg=gilden.kaempfer
~#! tid=1186333048
Ich hab damit gar kein Problem. Ausserdem kommt da ja noch das Kriterium
"unterhaltsam zu lesen" und sowas, was ich gerade nicht mehr weiss. Ich finde,
so ein Bericht kann durchaus hervorragend sein. Das Thema ist ja Zufall, und
wie man sieht, offenbar findet der, der es hat, sogar ausgesprochen schwer -
er wuerde vermutlich "Fetzerei im Nebelhof" einfacher finden, auch wenn das
IMHO faktisch viel, viel schwieriger waere.

Humni

-----------------------------------------------------------------------------



Re^9: Berichtstausch? (Humni, 16. Aug 2007, 21:25:10):
~#! rn=Humni rt=1187292267 rg=gilden.kaempfer
~#! tid=1186333048
Streiche "faktisch". Das passt nicht zu IMHO. Den Anspruch mit einer
objektiven Meinung hab ich dann doch nicht.

Humni

-----------------------------------------------------------------------------



Re^10: Berichtstausch? (Kessa, 16. Aug 2007, 21:28:01):
~#! rn=Humni rt=1187292310 rg=gilden.kaempfer
~#! tid=1186333048
Schwierig oder nicht ist ein schwieriges Kriterium. Abgesehen davon, dass das
eine sehr subjektive Sache ist, wie Humni sagte, moechte ich mal wissen, wie
man es anstellen sollte, gleich schwere Themen fuer alle zu finden. Notfalls
die Phantasie einzuschalten sollte fuer Mudder doch nicht so ein Problem sein,
nicht mal fuer angehende Trves-Generaele.

Kessa, die sich im eigenen Lager natuerlich die Gelegenheit zum Jammern nicht
entgehen lassen wuerde

-----------------------------------------------------------------------------



Re^11: Berichtstausch? (Gabylon, 17. Aug 2007, 12:57:28):
~#! rn=Kessa rt=1187292481 rg=gilden.kaempfer
~#! tid=1186333048
Gleichschwere Themen zu finden bzw. zu vergeben ist ein Ding der
Unmoeglichkeit, das ist wohl jedem klar.
Bisher gingen die Themen imho auch immer voellig in Ordnung; einige
vielleicht etwas anspruchsvoller als andere. Aber gut, so ist das Leben.

Bei solchen Themen wie "Das unentdeckte Monster auf Shaky Island" oder
auch "Einsatzgebiete einer Schaufel" frage ich mich genauso wie Ark,
was man geraucht haben muss, um so etwas ernsthaft vorzuschlagen.
Phantasie zu haben, gut und schoen; aber ein qualitativ leeres Thema
bearbeiten zu muessen raubt einem - in meinen Augen - doch wirklich
jegliche Motivation.


gab

-----------------------------------------------------------------------------



Re^12: Berichtstausch? (Boing, 17. Aug 2007, 12:59:59):
~#! rn=Gabylon rt=1187348248 rg=gilden.kaempfer
~#! tid=1186333048
Ich sehe diese Themen eher als Joker ... Du kannst dazu praktisch
schreiben was Du willst.
  Boing

-----------------------------------------------------------------------------



Re^13: Berichtstausch? (Gabylon, 17. Aug 2007, 13:06:28):
~#! rn=Boing rt=1187348399 rg=gilden.kaempfer
~#! tid=1186333048
Aber ob das die entsprechenden Spieler auch so sehen?
Kaum einer rechnet mit einem
"Schreibwasduwillsthauptsachedumachstnichtsovieletypos"-Thema. ;)


gab

-----------------------------------------------------------------------------



Re^13: Berichtstausch? (Ark, 17. Aug 2007, 13:58:43):
~#! rn=Boing rt=1187348399 rg=gilden.kaempfer
~#! tid=1186333048
Jaja, nur die Recherche entfaellt ... praktisch. Da ist der Aufwand fuer die
Erkundungen eines Metzelgebiets ungleich aufwaendiger. Naja, my 12312 Lire.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^14: Berichtstausch? (Kenny, 17. Aug 2007, 14:36:46):
~#! rn=Ark rt=1187351923 rg=gilden.kaempfer
~#! tid=1186333048
Ich finde solche Themen auch nicht wirklich gut. Kein Sinn macht mir z.B.
keinen Spass.
Ausserdem finde ich, sollten die Themen fuer einen Bericht auch zumindest
irgendetwas mit einem Kaempfer zu tu haben. Schliesslich geht es um die
Befoerderung zu einem General
Kenny

-----------------------------------------------------------------------------



Re^15: Berichtstausch? (Darklor, 17. Aug 2007, 18:35:48):
~#! rn=Kenny rt=1187354206 rg=gilden.kaempfer
~#! tid=1186333048
Hm? Das Einsatzgebiet einer Schaufel klingt aber nich gerade trivial bei den
vielen Orten wo eine Schaufel gebraucht wird...

Darklor

-----------------------------------------------------------------------------



Re^16: Berichtstausch? (Seleven, 18. Aug 2007, 15:51:36):
~#! rn=Darklor rt=1187368548 rg=gilden.kaempfer
~#! tid=1186333048
... auf den letzten. Artikel natuerlich.

Muss grad schmunzeln - Sous Berichtsthema (Schaufel) als Beispiel fuer ein
Sinnlosthema zu nehmen ist nett von euch. Allerdings liegt es weniger am
Thema, dass ich es nicht schreibe, als an meiner Unlust einen Elfen zu spielen
*huestel*. Nebelelfen natuerlich ausgenommen.
Natuerlich ist es doof, dass die Schaufeln vor allem in Questgebieten
gebraucht wird und ansonsten wenige Magier sich die Muehe machen
nachzuschauen, ob der Spieler beim Graben auch eine Schaufel nuzt. Trotzdem
glaube ich, dass man eigentlich zu jedem Thema genug sammeln kann.
Dass das Thema was mit Kaempfer zu tun haben soll ist eigentlich per se
erfuellt. Nur weil man General wird, heisst das nicht, dass junge Kaempfer
nicht von einem "allgemeinen" Thema profitieren. Natuerlich ist die
Beschreibung der Daemonenburg nuetzlicher, als das Einsatzgebiet von
Schaufeln. Trotzdem glaube ich, dass es kaum Themen gibt die voellig unnuetz
sind. Die Diskussion darueber wuerde aber ebenso sinnlos sein, wie die
Forderung nach gleich schwierigen Themen.
Trotzdem finde ich die Idee mit dem Tausch  nicht schlecht - so koennen
angehende Generaele Themen finden, die ihren Faehigkeiten entsprechen. Der
eine schreibt eben kreativ, der andere eher flach nach "... ging ich erstmal
in die Struvkneipe und kam mit perfektem Leberschaden wieder raus ..."
-Manier. Der eine kann forschen, der andere nicht.

So, das waren meine Muenzen. Leider habe ich zu wenige Stufenpunkte fuer neue
ZTs. *seufz*

Seleven in Vertretung von Sou und Terry.

-----------------------------------------------------------------------------



Re^17: Berichtstausch? (Humni, 18. Aug 2007, 21:14:25):
~#! rn=Seleven rt=1187445096 rg=gilden.kaempfer
~#! tid=1186333048
Jetzt mal im Ernst - ihr seid wirklich nicht in der Lage, einen bericht zum
Thema "Das unsichtbare Monster von Shaky Island" zu schreiben??

Ja, das sind zwei (beabsichtigte) Fragezeichen. Nein, das mache ich ansonsten
nicht.

Ich wuerde mich unglaublich ueber so einen Bericht freuen, da ich mich dann
total austoben kann, ohne irgenwie hinterher gesagt zu kriegen "Das
eigentliche Thema hast Du gar nicht angeruehrt".

Aber gut, jedem seine Meinung... ich verstehs nur gerade nicht. Wirklich
nicht.

Humni

-----------------------------------------------------------------------------



Re^18: Berichtstausch? (Kessa, 18. Aug 2007, 22:19:08):
~#! rn=Humni rt=1187464465 rg=gilden.kaempfer
~#! tid=1186333048
Das war auch mein erster Gedanke, Humni, aber wie Seleven sagte, die Tierlein
in Gottes grossem Garten sind halt unterschiedlich :) Wenn du ein fuer dich
eher langweiliges Forschthema hast und dein weniger kreativer Mitanwaerter
eins, das zum hemmungslosen Fabulieren einlaedt, ist doch allen gedient. Ich
find die Tauschidee prima.

Warum soll eigentlich die Sperre so lang sein? Nach 6 Monaten waere fuer mich
die Luft raus, wenn ich mir grad ein schoenes Thema eingetauscht haette.

Gruss, Kessa

-----------------------------------------------------------------------------



Re^18: Berichtstausch? (Derin, 19. Aug 2007, 10:33:07):
~#! rn=Humni rt=1187464465 rg=gilden.kaempfer
~#! tid=1186333048
Hallo Humni,

dass ein angehender General nicht gern einen Bericht zu einem Thema
schreibt, das niemandem hilft und das einzig und allein unterhaltsam
sein soll, finde ich GUT. Das zeugt fuer mich von Verantwortungs-
bewusstsein und eine gewisse Anstaendigkeit. Die Berichte sind doch
urspruenglich nicht eingefuehrt worden, um die letzte Befoerderung zu
erschweren, sondern um rangniedrigeren Spielern Einblick in etwas zu
verschaffen, das sie aus eigenem Erleben (noch) nicht kennen, oder?

Ich wuerde ebenfalls lieber zu einem Thema schreiben, das Leuten
hilft, als zu einem, das ich als sinnlose Stiluebung empfinde. Auch
auf die Gefahr hin, dass ich mit einer schlechten Note zunaechst
durchrassele, weil ich nach dem Empfinden einiger vielleicht zu ober-
flaechlich geschrieben habe. Dann muss ich meinen Bericht halt noch
einmal ueberarbeiten und ein zweites Mal einreichen. Ausserdem wuesste
ich als Bewerter auch nicht recht, wie ich einen solchen Sinnlos-
Bericht fair bewerten sollte.


Auch wenn ich also Berichtstausch generell als gut empfinde, kommt es
mir ein wenig vor wie doktern an den Symptomen, nicht an den Ursachen.

Um mal eine Alternative in die Runde zu stellen: Was spricht dagegen,
dass Brieseltrim einem (vielleicht auf Nachfrage) von vornherein die
Wahl zwischen zwei oder drei Berichtsthemen laesst? Eventuell koennte
man die verfuegbaren Themen beim Einreichen in Kategorien einteilen,
so dass Briesel z.B. aus den Kategorien Landschaftsbericht, Metzel-
bericht und Juxbericht jeweils einen anbietet, falls Themen dafuer
vorliegen?


Nur so eine Idee,

Derin.

-----------------------------------------------------------------------------



Berichtstausch und -rueckgabe (Gabylon, 19. Aug 2007, 17:19:05):
Hi Trves,


Kloiren Eisenhelm tauscht ab sofort Berichtsthemen ein, und zwar nach einer
Zeitsperre von mindestens einem Jahr (welche die meisten 22er aber schon
ueberschritten haben).

Jede Neuvergabe eines Themas erfolgt natuerlich wieder zufaellig. Mit einigem
Pech erwischt man ein Thema, das einem noch weniger liegt. Ein derartiger
Tausch will also gut ueberlegt sein (die noch offenen Themen liegen bei
Brieseltrim zur Einsicht aus - also bitte vorher informieren ;) ).

Zudem ist es nun moeglich, den Bericht einfach nur wieder in den Topf
zurueckzuwerfen, ohne zunaechst einen neuen zu bekommen. Das ist fuer die
vielen und mitunter interessanten, aber leider auf Eis liegenden
Berichtsthemen gedacht, welche momentan anderen Spielern versperrt sind.
Wer seinen 22er also eingemottet hat bzw. erstmal nicht GL 23 werden moechte,
kann hier sein Thema anderen zur Verfuegung stellen.
Aber auch hier gilt aber die Einjahresfrist.

Ich habe mich bemueht, das Vergabedatum der Berichtsthemen bei allen 22ern
moeglichst zeitnah zu rekonstruieren. Sollte es deswegen trotzdem Probleme
geben, so sprecht mich bitte darauf an.


gab

-----------------------------------------------------------------------------



Re^12: Berichtstausch? (Muadib,  3. Sep 2007, 13:38:02):
~#! rn=Gabylon rt=1187348248 rg=gilden.kaempfer
~#! tid=1186333048
zum einsatzgebiet einer schaufel fallen mir soviele dinge ein, die dann auch
noch wirklich qualitativ hochwertig sind (ehrlich) , dass ich mich wundere
warum das ein beispiel fuer ein leeres thema sein sollte
schwierigkeiten haette ich dagegen bei einem thema wie "die ultimative liste
der 2000 nuetzlichsten schwerter"
aber anscheinend beurteile ich das thema schwierigkeit in anderen kategorien.
kreativitaet finde ich einfach, faktenkorrekter inhalt manchmal etwas
schwieriger. vielen geht das sicher aehnlich.
aber gerade diese vielfalt von "schwierig" kann man doch durch eine vielfalt
von themen, welche verschiedene schwierigkeiten abdecken, nutzen
ist es wirklich notwendig sich auf eine kategorie von "schwierig" oder
"einfach" zu beschraenken?

-----------------------------------------------------------------------------



Re^13: Berichtstausch? (Kenny,  6. Sep 2007, 22:24:18):
~#! rn=Muadib rt=1188819482 rg=gilden.kaempfer
~#! tid=1186333048
Kenny: (fruf) Blutgier: hae? :)
Blutgier hat einen Bericht zum Thema 'Respekt gegenueber andersrassigen
Struvkameraden - ein Plaedoyer' geschrieben und bei Kloiren Eisenhelm zur
Bewertung ausgehaengt.
Du solltest ihn bald bewerten gehen.
Du teilst Deinen Freunden mit: na ihr gutriechenden Gnome und langbaertige
Du teilst Deinen Freunden mit: Stinker ;)
hm, und das obwohl ich den Bericht noch nicht mal gelesen hatte :)
kenny

-----------------------------------------------------------------------------



Aenderung SSP-Quest (Gabylon, 24. Sep 2007, 00:35:23):
Hi Trves,

die SSP-Gildenquest wurde technisch etwas umgestrickt
(fuer Interessierte: auf events umgestellt).

Sollten sich dort Probleme bemerkbar machen, gebt mir bitte Bescheid.


gab

-----------------------------------------------------------------------------



Suche Kaempfer (Gabylon,  1. Nov 2007, 23:02:40):
Hi Trves,

suche sehr erfahrene Kaempfer, die mir bei einem Gefallen zur Hand
gehen koennten.


Huzruck Hammerstahl

-----------------------------------------------------------------------------



Veraenderte Waffenanforderungen (Gabylon,  5. Nov 2007, 02:40:35):
Hi Trves,

aufgrund von uralten falschen Werten in einer ellenlangen Formel gibt
es nun nach Korrektur moeglicherweise fuer einige von Euch geringfuegig
veraenderte Anforderungen in den Waffenfertigkeiten fuer das naechste
Gildenlevel.
Die Korrektur kann sich sowohl negativ als auch positiv fuer Euch
ausgewirkt haben, war aber notwendig, da stellenweise in den hoechsten
Gildenleveln mehr verlangt wurde, als aufgrund der Rassenbeschraenkung
haette moeglich sein koennen.

Hauptsaechlich betroffen waren Felinen, Menschen und Elfen.


gab

-----------------------------------------------------------------------------



Weitere features... (Gabylon,  8. Nov 2007, 22:00:18):
Hi Trves,

es wird nun auch das Ende von Parade, Schildparade und Raserei ausserhalb
des Kampfes angezeigt.
Wer in diesen Genuss kommen moechte, moege sich bei Gramdala mal gehoerig
den Ko... aeh Kragen waschen lassen.


gab

-----------------------------------------------------------------------------



Re: Weitere features... (Gabylon, 16. Nov 2007, 21:54:44):
~#! rn=Gabylon rt=1194555618 rg=gilden.kaempfer
~#! tid=1194555618
RD hat sich etwas gestraeubt und seltsam verhalten, aber letztendlich
hab ich sie auch besiegen koennen.
Gramdala weiss wie immer, was zu tun ist. :)


gab

-----------------------------------------------------------------------------



Re: Re: Weitere features... (Ark, 16. Nov 2007, 21:57:49):
~#! rn=Gabylon rt=1195246484 rg=gilden.kaempfer
~#! tid=1194555618
Langsam lohnt ne Zwer^H^H^H^HTrveswaschmaschine im Struv.
Aber bidde im Schongang :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Verlernen von Waffenskills (Gabylon, 18. Dez 2007, 14:06:36):
Hi Trves,


aus aktuellem Anlass wuerd ich gerne nochmal das Verlernen von Waffenskills
ansprechen.

Es ist momentan so, dass alle random(x) Kampfrunden ein Waffenskill,
der nicht der gerade gezueckten Kampfwaffe entspricht, zufaellig
ausgewaehlt wird, der dann zu einem bestimmten Prozentsatz verlernt wird.

Dabei ist die Auswahlwahrscheinlichkeit fuer alle Waffenskills gleich,
und die Verlernrate richtet sich nach der Hoehe des Skills, d.h., dass
je hoeher der Skill beherrscht wird auch von diesem Skill mehr verlernt
werden kann.

Nun wurde mir zugetragen, dass das Verlernen des rassenspezifischen
Waffenskills wohl etwas zu schnell geht, zumal man diesen meist deutlich
ueber 95% hat und ihn dort auch "behalten" will, obwohl man zwischendurch
mal mit einer anderen Waffenart kaempfen moechte oder gar muss (letzteres
betrifft in erster Linie wohl Hobbits und Felinen).

Mein Vorschlag dahingehend waere, zB eine Gewichtung der
Auswahlwahrscheinlichkeit vorzunehmen. Sprich: sich aehnelnde Waffenarten,
wie zB Keule und Axt, werden gegenseitig langsamer, sich in ihrem
Kampfverhalten kaum aehnelnde Waffenkuenste, wie zB Axt und Speer, werden
dann gegenseitig schneller verlernt als bisher.

Habt ihr andere Vorschlaege, wie man es anders/besser machen koennte?

Oder ist die bisherige Loesung gut so? Soll es so bleiben wie es ist?


gab

-----------------------------------------------------------------------------



Re: Verlernen von Waffenskills (Ark, 18. Dez 2007, 15:00:38):
~#! rn=Gabylon rt=1197983196 rg=gilden.kaempfer
~#! tid=1197983196
Also als sozusagen Mitbetroffener (Zwerg) kann ich nur sagen, dass ich es
aufgegeben habe, da staendig einen Skill auf 100% zu lassen. Man "muss" dann
auf einige interessante Waffen ganz verzichten, nur wegen ein Prozent mehr
oder weniger? Noe. Ich sehe es als Vorteil an, Brieseltrim zwingt Zwerge ja
sozusagen, ein Mindestlevel in zwei Waffenarten zu haben, was ich aber ok
finde.
Und, mal ehrlich ... ob 95% oder 100% Skill macht sich in vielen Kaempfen
spuerbar nicht wirklich bemerkbar, wohl aber, ob ich eine Alternativwaffe mit
"passenderem" Schaden habe.
Alles natuerlich vor dem Hintergrund "Zwerg", die zu zwei aehnlichen Waffen
ein wenig "ermuntert" werden. Und natuerlich wissend, dass Keulen und Aexte
viele Varianten haben, Dolche, Speere oder gar Kampfstaebe evtl. weniger.
Rechnet mir ruhig vor, dass 98% viiieeeelll entscheidender sind im Kampf als
Eisschaden anstelle von Mechschaden bei einem Feuerdaemon, ich glaube es nicht
:-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Re: Verlernen von Waffenskills (Nicolai, 18. Dez 2007, 20:00:31):
~#! rn=Ark rt=1197986438 rg=gilden.kaempfer
~#! tid=1197983196
wobei zwerge hier das luxusproblem haben, das sie die einzige
rasse sind, die zwei verschiedene waffengattungen (keule, axt)
ueberhaupt erst dermassen hoch skillen koennen.....

-----------------------------------------------------------------------------



Re: Verlernen von Waffenskills (Derin, 18. Dez 2007, 22:03:23):
~#! rn=Gabylon rt=1197983196 rg=gilden.kaempfer
~#! tid=1197983196
Hi,

als Angehoerige einer der beiden Spezies, die Gabylon erwaehnte, begruesse
ich den Aenderungsvorschlag sehr. Zumindest momentan gibt es nur sehr
wenige ordentliche Staebe, und auch bei Speeren (die zweite Wahl bei
Felinen) es ist fuer schwaechere Spieler (oder kleine Seherinnen) teilweise
haarig, an geeignete Exemplare zu kommen, auch wenn die Auswahl da klar
groesser ist.

Wenn ich nur danach gehe, welche Waffe den idealen Schadenstyp verursacht,
bekomme ich bei einer der ueblichen Metzeltouren nur selten die Gelegenheit,
eine Waffe zu verwenden, die ich auf ueber 80% Waffenskill bringen kann,
und es ist durchaus vorgekommen, dass ich fuer eine halbe Stunde Metzeln
mit einer anderen Waffe (und dem prompten Verlernen meines primaeren Waffen-
skills) dann eine Woche intensiven Uebens gebraucht habe, um Kryzz wieder
auf den vorherigen Stand zurueckzubringen. 

Angehoerigen von Spezies, fuer die ein reichhaltiges Angebot an Waffen der
primaeren Waffengattung(en) besteht, stellt sich dieses Problem sicherlich
seltener.


Bis bald,
Derin.

-----------------------------------------------------------------------------



Re: Re: Verlernen von Waffenskills (Ark, 18. Dez 2007, 22:19:25):
~#! rn=Derin rt=1198011803 rg=gilden.kaempfer
~#! tid=1197983196
Das lese ich aber teilweise als Aufforderung, groessere Abwechslung bei der
noch relativ jungen Waffengattung "Stab" hineinzubringen. In Arbeit :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Verlernen von Waffenskills (Bambi, 22. Dez 2007, 11:21:05):
~#! rn=Gabylon rt=1197983196 rg=gilden.kaempfer
~#! tid=1197983196
Gibt es eine Maximalgrenze, die man einen Skill verlernen kann? Also dass man
maximal z.B. 5 Prozentpunkte seines bisher maximal erreichten Wertes nach
unten rutschen kann? Ich meine, wenn man einmal Fahrrad fahren kann, verlernt
man es ja auch nicht mehr (wesentlich).

-----------------------------------------------------------------------------



Re: Re: Verlernen von Waffenskills (Gabylon, 22. Dez 2007, 22:05:51):
~#! rn=Bambi rt=1198318865 rg=gilden.kaempfer
~#! tid=1197983196
Nein, solch eine Grenze gibt es bisher noch nicht. Waere vielleicht auch
eine Idee. Hast Du schon Vorstellungen? (Besserer Skill -> kleinere/grossere
Grenze?)

Ich bin momentan auch noch sehr unschluessig. Ich tendiere leicht zur
Gewichtung der Waffen, bin aber fuer jeden (besseren) Vorschlag dankbar.


gab

-----------------------------------------------------------------------------



Re: Verlernen von Waffenskills (Mcdee, 31. Dez 2007, 11:55:32):
~#! rn=Gabylon rt=1197983196 rg=gilden.kaempfer
~#! tid=1197983196
Wenn es jetzt so waere, dass man beim Ueben eines Waffenskills einen anderen
weniger oder nicht verlernte, stellte sich mir die Frage, warum ueberhaupt
zwischen ihnen unterschieden wird. Auch schafft eine Gewichtung sicher
Probleme beim Balancing der einzelnen Rassen. Wuerde vorschlagen, beim alten
System zu bleiben. KISS!

Dee

-----------------------------------------------------------------------------



Re: Re: Verlernen von Waffenskills (Todie, 31. Dez 2007, 12:57:06):
~#! rn=Mcdee rt=1199098532 rg=gilden.kaempfer
~#! tid=1197983196
Also ich sehe das aehnlich wie Mcdee, jede Rasse hat eine Hauptwaffenart,
diese zu nutzen oder nicht bleibt einem selber ueberlassen.
Dass ein Hobbit kein berauschender Nahkaempfer ist sondern eben Wurfwaffen
nutzt war schon immer so, und das weiss man, wenn man einen Hobbittrves
spielt, insofern lebt man eben damit, dass ein Messer eben bedeutend weniger
Schaden macht.
Felinen haben ein Problem, dass die Gattung Stab relativ neu ist und insofern
eben die Auswahl nicht wirklich vergleichbar mit Schwert/Axt/Keule/Speer.
Das Problem fuer kleine Spieler sinnvolle Waffen zu holen (Was Derin in Bezug
auf Speere angesprochen hat) besteht auch fuer Schwerter, usw. Also Gors
Festung zB ist nicht aufwendiger als die SSP, und die Speere dort reichen
wirklich aus fuer besagte kleine Spieler/junge Seher.

Zwerge haben ein Luxusproblem (Schoen formuliert, Nico) ja, das laeuft aber
auch zwangslaeufig daraus raus, dass man wohl keinen der beiden Skills auf
100% halten kann.
Und genau das ist auch nicht noetig, da stimme ich Blutgier zu: Lieber nutze
ich eine Keule, wenn Hiebschaden-Anfaelligkeiten gegeben ist als unbedingt Axt
auf 100% zu lassen, und lieber nutzt ein Feline eben einen Speer, wenn die
Anfaelligkeiten des NPCs mit keinem seiner Staebe uebereinstimmt.

Und 30min mit anderer Waffe metzeln um anschliessend eine Woche wieder mit der
Hauptgattung rumzurennen, das waere es mir ja schon zu doof, dann bleibt der
Skill eben auf 99, und ich habe dadurch eine schoenere Waffenauswahl.

Das Problem gibt es bei anderen Rassen auch (Man betrachte Saeureschwerter vor
Gram oder noch vor Humnis WWI).

Viel geredet, wenig bis gar nichts Neues gesagt, zusammenfassend:

Lass es beim Alten, ich sehe da in keinster Weise einen Handlungsbedarf,
Aenderungen fuehren in dem Fall wohl eher zu RassenBalance-Problemen wie Mcdee
meinte.

-----------------------------------------------------------------------------



Re^3: Verlernen von Waffenskills (Derin, 31. Dez 2007, 13:14:03):
~#! rn=Todie rt=1199102226 rg=gilden.kaempfer
~#! tid=1197983196
Huhu zusammen, hallo Todie,

wenn Du Gors Feste tatsaechlich fuer nicht weniger aufwendig als die SSP
haeltst, dann bitte ich Dich mal ganz lieb, durch beide Gebiete zu rennen
und die Gegner zu schaetzen, die blocken oder brauchbare Ausruestung mit
sich fuehren. Oder mir zu sagen, welche dieser Gegner in der SSP Tueren
zumachen, wenn man weg will.

Und das "dann bleibt der Waffenskill halt auf 99%" (Du meintest wohl eher
95%, oder?) ist schoen, wenn man tatsaechlich die Wahl hat. Die haben
Felinen momentan aber schlichtweg nicht.

Meine Argumentation war nicht, dass es unmoeglich ist, Felinentrves zu
spielen (im Gegenteil, ich habe sogar viel Spass daran). Ich wollte aber
darauf hinaus, dass sie IMO im Vergleich zu anderen Rassen zumindest
*momentan* benachteiligt sind, weil sie fuer die meisten Schadensarten auf
ihre bevorzugte Waffe verzichten muessen ("muessen" -- nicht "koennen"!).

Und deshalb moechte ich an dieser Stelle auch mal Ark danken. Ich freu mich
schon. :)


Kommt gut ins Neue Jahr,
Derin.

-----------------------------------------------------------------------------



Re^4: Verlernen von Waffenskills (Pitfall, 31. Dez 2007, 13:16:59):
~#! rn=Derin rt=1199103243 rg=gilden.kaempfer
~#! tid=1197983196
Felinen haben dafuer andere Boni, welche nicht unbedingt zu verachten sind.

Pit*

-----------------------------------------------------------------------------



Re^5: Verlernen von Waffenskills (Derin, 31. Dez 2007, 13:20:52):
~#! rn=Pitfall rt=1199103419 rg=gilden.kaempfer
~#! tid=1197983196
Natuerlich haben Felinen Vorteile. Es ist schoen, schnell zu sein, das geb
ich gern zu. Aber dafuer haben wir auch 2 Attributpunkte weniger. Und gerade
von Dir haette ich nach dem Metzeln neulich erwartet, dass Du weisst, was es
bedeutet, als einzige Rasse AU-1 zu haben, wenn man im Team grosse Viecher
metzelt und Zaubern (noch) nicht ausweichen kann.

Derin.

-----------------------------------------------------------------------------



Re^4: Verlernen von Waffenskills (Todie, 31. Dez 2007, 13:21:10):
~#! rn=Derin rt=1199103243 rg=gilden.kaempfer
~#! tid=1197983196
Dazu kann ich dann aber nur sagen: Das ist ein Problem, dass Magier angeht,
dass sie eben Staebe in ihren Gebieten proggen muessen, und nicht ein Problem
der Trves.
Man wird im MG allzu oft benachteiligt und an anderen Orten stark bevorzugt,
dass macht das Spiel aus, dass man trotz allem damit umgehen lernt (Zauberer:
Jammert mal bitte, dass ihr bei den Wurfsternen benachteiligt werdet ...)
Ich hatte auch nie gemeint, dass es unmoeglich ist, aber ich erinnere mich an
meinen ersten Trves (Mensch) der nach dem Reboot (Der frueher haeufiger war,
man, waren wir benachteiligt damals ...) immer erstmal Speere sammelte, da die
meist schneller zu holen waren als die entsprechenden Schwerter. (Doof wenn
nur Feueraexte+Feuerkeulen droppen, da holt man eben den Bienenstachel, und
ja: Das schaffen auch junge Seher)

Also wenn man Gors Festung nicht schafft als TrvesSeher, dann kann man
entweder ein Team nutzen um dort weiterzukommen oder man macht was falsch (Ja,
da faellt nicht jeder Gegner mit einem Waffenschlag, dann tankt man halt
oefter?) Oder wenn Du die Tuer aufmachen kannst zum Reinkommen, dann mache sie
halt vor dem Rausgehen auch wieder auf?

Und BlockNPC, naja, die kennt man und wenn man weiss, man schafft ihn nicht
alleine, dann kommt eben wieder das grosse M des Muds ins Spiel...

-----------------------------------------------------------------------------



Re^4: Verlernen von Waffenskills (Esme, 31. Dez 2007, 17:34:37):
~#! rn=Derin rt=1199103243 rg=gilden.kaempfer
~#! tid=1197983196
Das mit den mangelnden Staeben wird sich sicher aendern, erledigt sich also
mit der Zeit.

Esme

-----------------------------------------------------------------------------



Re^5: Verlernen von Waffenskills (Gabylon,  1. Jan 2008, 14:27:19):
~#! rn=Todie rt=1199103670 rg=gilden.kaempfer
~#! tid=1197983196
Ja, letztendlich ist es ein Problem der zuwenig vorhandenen Stabwaffen.
Hiermit ergeht also an alle Magier der Aufruf, den Staeben ein bisschen
mehr Beachtung zu schenken. :)

Trotzdem moechte ich euch fragen, ob ihr mit dem Verlernen zufrieden seid.
Blutgier hat sicherlich Recht: eine in der Schadensart gut gewaehlte Waffe
hat klar mehr Einfluss auf den Schaden am Monster als die Waffe des
Hauptwaffenskills zu waehlen, auch wenn der am hoechsten ist.

Aber ich kann auch Derin gut verstehen. Man ist stolz auf das, was man
erreicht hat und laesst es ungern wieder los (unabhaengig davon, ob man
mit der "schwaecheren" Waffe moeglicherweise mehr Schaden in einer
bestimmten Gegend machen wuerde).

Eine Gewichtung faend ich schick, birgt aber evtl. andere Nebenwirkungen,
also eher nicht.
Eine untere Grenze wie von Bambi vorgeschlagen kann man auch in Betracht
ziehen. Also was man einmal gelernt hat, kann man nur noch bis zu einem
gewissen Grad wieder verlernen.


gab

-----------------------------------------------------------------------------



Re^6: Verlernen von Waffenskills (Headbanger,  4. Jan 2008, 20:07:56):
~#! rn=Gabylon rt=1199194039 rg=gilden.kaempfer
~#! tid=1197983196
Vielleicht auch ne Kampfoption, wo der Trves waehlen kann, ob er mit der gewae
hlten Waffe voll konzentriert nach Skill kaempfen will (-> Verlernen der
andere
n, dafuer volle Kampffertigkeiten) oder ob er sich lieber drauf konzentriert,
weniger zu verlernen und dafuer aber schlechter kaempft.

-----------------------------------------------------------------------------



Re^7: Verlernen von Waffenskills (Maharet,  6. Jan 2008, 13:52:01):
~#! rn=Headbanger rt=1199473676 rg=gilden.kaempfer
~#! tid=1197983196
Vielleicht sollten wir das nicht so wichtig nehmen und ein grosses Problem
daraus machen. Ich habe das bisher als Fakt hingenommen, so wie ich auch das
Wetter hinnehme und die Tatsache, dass ich RL auch nicht alles auf 100%
bringen kann, was ich gerne koennen moechte. Und ich werde damit auch
weiterhin gut leben koennen. Ich glaube nicht, dass da Handlungsbedarf
besteht.

-----------------------------------------------------------------------------



Re^8: Verlernen von Waffenskills (Boing,  6. Jan 2008, 18:09:46):
~#! rn=Maharet rt=1199623921 rg=gilden.kaempfer
~#! tid=1197983196
Ich sehe da auch keinen Handlungsbedarf, hat mich als Kaempferzwerg nie
gestoert nicht beides auf 100% bringen zu koennen.
  Boing

-----------------------------------------------------------------------------



Re^9: Verlernen von Waffenskills (Mesirii,  6. Jan 2008, 18:27:26):
~#! rn=Boing rt=1199639386 rg=gilden.kaempfer
~#! tid=1197983196
Kram den doch mal wieder raus, dann zeigt Dir Boe mal was vom Mud :)
Mesi

-----------------------------------------------------------------------------



Re^9: Verlernen von Waffenskills (Gabylon,  7. Jan 2008, 13:20:41):
~#! rn=Boing rt=1199639386 rg=gilden.kaempfer
~#! tid=1197983196
Es ging nie um "alles auf 100% kriegen". Nie.

Ich habe lediglich Derins Artikel als Anlass genommen und gefragt/
zur Diskussion gestellt, ob *die Art und Weise* des Verlernens als
sinnvoll erachtet wird bzw. ob es einleuchtendere Wege gibt,
Waffenskills zu verlernen.

Ich koennte mir - wie schon angedeutet - andere Wege vorstellen, moechte
da aber auch fuer niemanden eine Lanze brechen, zumal ich persoenlich
nicht total unzufrieden mit der momentanen Funktionalitaet bin.

Wenn jetzt nicht doch noch 20 Leute aufschreien und DIE Idee haben,
wuerde ich sagen: toppic closed.


gab

-----------------------------------------------------------------------------



Mini-Updates: Schaetz und Fokus (Gabylon, 10. Jan 2008, 00:49:26):
Hi Trves,


- 'Schaetz' ohne Argument im Kampf schaetzt nun den fokussierten Gegner ein.
  Dank an McDee fuer die Anregung.

- Licht hat nun wieder ein kleines bisschen mehr Bedeutung im Kampf:
  Der Fokus klappt nur, wenn man seinen Gegner auch wirklich sieht. Also im
  Prinzip gleiche Logik wie bei 'schaetz'.
  Schwindet das Licht mitten im Kampf, kaempft man natuerlich weiter, den
  bis dahin evtl. fokussierten Gegner greift man dann aber nicht mehr
  vorrangig an.

Bei unerwarteten Problemen gebt bitte Rueckmeldung.


gab

-----------------------------------------------------------------------------



Re: Mini-Updates: Schaetz und Fokus (Maharet, 10. Jan 2008, 21:01:53):
~#! rn=Gabylon rt=1199922566 rg=gilden.kaempfer
~#! tid=1199922566
Warum die Abwertung des Fokus?
Komm mir jetzt nicht mit RL. Dann duerfte auch Parade und Schildparade zB
nicht mehr im Dunkeln funktionieren und eigentlich sollte ich dann eh keinen
Treffer mehr landen koennen. Mit 5 Schwertern rumrennen und damit am Guertel
noch kaempfen koennen waere dann auch Schmarrn. 500 Wurfsterne im Rucksack?
Dream on.
Nicht uebertreiben mit der RL-Kompatibilitaet, sonst verliert das vor lauter
RL-Sinnhaftigkeit seinen spielinternen Sinn.
Und auch wenn das nur ne Kleinigkeit ist - seit einiger Zeit haeufen sich
diese kleinen Abwertungen der Kaempfer. Ich bin ja eigentlich niemand, dem das
sonderlich am Herzen liegt, aber wenn selbst mir sowas auffaellt ... 

-----------------------------------------------------------------------------



Re: Re: Mini-Updates: Schaetz und Fokus (Humni, 10. Jan 2008, 21:29:27):
~#! rn=Maharet rt=1199995313 rg=gilden.kaempfer
~#! tid=1199922566
Aus meiner Sicht als Gildenbalance argumentiert : Diese Abwertung ist so
gering, dass sie nicht wirklich ins Gewicht faellt. In der Regel hat der
Kaempfer ohnehin einen Leuchtegegenstand dabei, und wenn nicht, ist das
einzige, was nicht funktioniert, der Fokus.

Das heisst nicht, dass ich Maharets Argumentation komplett ablehne oder nicht
verstehe, sondern ist nur meine Balancesicht der Dinge. (Anspruch auf
Objektivitaet hab ich dabei nicht).

Humni

-----------------------------------------------------------------------------



Re: Mini-Updates: Schaetz und Fokus (Derin, 11. Jan 2008, 12:05:22):
~#! rn=Gabylon rt=1199922566 rg=gilden.kaempfer
~#! tid=1199922566
Huhu,

ich gehe davon aus, dass Du Dir da durchaus was dabei gedacht hast ...
aber warum braucht man Licht, um Schlaege vorwiegend in eine bestimmte
Richtung auszufuehren, bzw. sie aus dieser Richtung zu erwarten?

Clueless,
Derin.

-----------------------------------------------------------------------------



Re: Re: Mini-Updates: Schaetz und Fokus (Gloinson, 11. Jan 2008, 12:48:14):
~#! rn=Derin rt=1200049522 rg=gilden.kaempfer
~#! tid=1199922566
Woher weisst du die Richtung?

Die Aenderung geht, wie Maharet schon sagt Richtung Realitaet. Wie sinnvoll
das ist, ist halt eine andere Frage :)


-----------------------------------------------------------------------------



Re^3: Mini-Updates: Schaetz und Fokus (Derin, 11. Jan 2008, 12:50:57):
~#! rn=Gloinson rt=1200052094 rg=gilden.kaempfer
~#! tid=1199922566
Huhu,

wenn ich einen oder mehrere Schlaege abbekomme, dann gehe ich mal
davon aus, dass ich als halbwegs erfahrener Kaempfer die Richtung
erahnen kann, aus der sie kommen. Ausserdem haben ich Ohren, und
ein sich bewegender Gegner macht bestimmt Geraeusche.

Just my 2p,
Derin.

-----------------------------------------------------------------------------



Re^4: Mini-Updates: Schaetz und Fokus (Gloinson, 11. Jan 2008, 12:58:08):
~#! rn=Derin rt=1200052257 rg=gilden.kaempfer
~#! tid=1199922566
Das waere eine weitere Diskussion der Realitaetsnaehe. Bewegt sich der Gegner
und wie merkbar bewegt er sich und blub.

Man koennte jetzt ergaenzend einen Skill "Gegner erahnen/erriechen/hoeren"
einbauen. Dann haette Humni was zu tun.
Ich persoenlich faend das allerdings zu realitaetsnah. Das kann man in die
Kampfsportgilden hier packen, mit etwas Feeling umwuerzt. Aber nicht in die
Kaempfer.

Ob Gabylon es aus Realitsnaehe oder anderen Gruenden veraendert hat, wird sich
sicher noch zeigen :)


-----------------------------------------------------------------------------



Re^5: Mini-Updates: Schaetz und Fokus (Orktoeter, 11. Jan 2008, 14:08:38):
~#! rn=Gloinson rt=1200052688 rg=gilden.kaempfer
~#! tid=1199922566
Fokus macht doch wohl am meisten Sinn, wenn man mehr als einen Gegner hat. Da
kommen dann wohl auch gelegentlich Schlaege von anderen Gegnern (also aus
anderen Richtungen) und wenn rund um dich gekaempft wird den einen Gegner
herauszuhoeren... hui! Du musst sehr gute Ohren haben! ;)
Wenn schon mehr Realitaet, dann doch bitte mal die heilige Kuh angehen und das
schnelle Wechseln von Waffen und Ruestungen abschaffen...

OrkT.

-----------------------------------------------------------------------------



Re^6: Mini-Updates: Schaetz und Fokus (Derin, 11. Jan 2008, 14:09:50):
~#! rn=Orktoeter rt=1200056918 rg=gilden.kaempfer
~#! tid=1199922566
Huhu,

schnelles Wechseln von Ruestungen seh ich nicht.
Wenn schon mehr Realitaet, dann bitte Zauberei und Portale abschaffen.

SCNR,
Derin.

-----------------------------------------------------------------------------



Re^7: Mini-Updates: Schaetz und Fokus (Orktoeter, 11. Jan 2008, 14:13:55):
~#! rn=Derin rt=1200056990 rg=gilden.kaempfer
~#! tid=1199922566
Warum? Das ist doch hier eine magische Welt und in der kann es doch durchaus
Portale geben, die mittels Magie funktionieren. Ich koennte mir sogar
vorstellen, dass es Zauber gibt, die einem schnelles an- und ausziehen
ermoeglichen, aber diese Rubrik ist die der Gilde Kaempfer und diese Gilde
kommt eben ohne Magie aus.

OrkT.

-----------------------------------------------------------------------------



Re^8: Mini-Updates: Schaetz und Fokus (Derin, 11. Jan 2008, 14:15:21):
~#! rn=Orktoeter rt=1200057235 rg=gilden.kaempfer
~#! tid=1199922566
Huhu,

log bitte mal einen Kaempfer ein und probiere aus, wielange man nix machen
kann, wenn man Ruestungen wechselt.

Derin.

-----------------------------------------------------------------------------



Re^9: Mini-Updates: Schaetz und Fokus (Pitfall, 11. Jan 2008, 14:17:26):
~#! rn=Derin rt=1200057321 rg=gilden.kaempfer
~#! tid=1199922566
schnell ist halt relativ.
Selbst fuer Oesis.

-----------------------------------------------------------------------------



Re^10: Mini-Updates: Schaetz und Fokus (Maharet, 11. Jan 2008, 14:33:21):
~#! rn=Pitfall rt=1200057446 rg=gilden.kaempfer
~#! tid=1199922566
Ich finde diese Realismusnaehesucherei in letzter Zeit etwas daneben, ehrlich
gesagt. Wie gesagt: 500 Waffensterne im Rucksack? Hallo?
Die MG-Realitaet ist nun mal eine andere als die RL-Realitaet, daher
akzeptiere ich das Realismusargument als einziges Argument nicht. Da kommen
wir hier bald naemlich gar nicht mehr zurande ;)

-----------------------------------------------------------------------------



Re^11: Mini-Updates: Schaetz und Fokus (Maharet, 11. Jan 2008, 14:35:41):
~#! rn=Maharet rt=1200058401 rg=gilden.kaempfer
~#! tid=1199922566
Mit "einziges Argument" meine ich "alleinstehendes Argument". Es gibt auch
andere Argumente, die ich nicht akzeptieren wuerde ;)

-----------------------------------------------------------------------------



Re^11: Mini-Updates: Schaetz und Fokus (Gloinson, 11. Jan 2008, 14:38:20):
~#! rn=Maharet rt=1200058401 rg=gilden.kaempfer
~#! tid=1199922566
Realismusnaehesucherei ist ja auch nur eine Hypothese.

Gabylon hat (bisher) keinen Grund genannt. Prinzipiell muss er das (IMHO) auch
nicht. Waer nur nett, die Waffenskill-Optionen hat er ja auch diskutiert.


-----------------------------------------------------------------------------



Re^6: Mini-Updates: Schaetz und Fokus (Ark, 11. Jan 2008, 18:49:53):
~#! rn=Orktoeter rt=1200056918 rg=gilden.kaempfer
~#! tid=1199922566
Da merkt man den Rentner ... wer TS setzen will, mag auch Fokus :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^7: Mini-Updates: Schaetz und Fokus (Maharet, 11. Jan 2008, 20:38:23):
~#! rn=Ark rt=1200073793 rg=gilden.kaempfer
~#! tid=1199922566
Gilt diese Aenderung eigentlich auch fuer NPCs?

-----------------------------------------------------------------------------



Re^8: Mini-Updates: Schaetz und Fokus (Gabylon, 11. Jan 2008, 21:35:09):
~#! rn=Maharet rt=1200080303 rg=gilden.kaempfer
~#! tid=1199922566
Mir ist die Sache mit dem Fokus aufgefallen, als ich die Erweiterung fuer
'schaetz' implementiert habe. Da beide in etwa der gleichen Logik - also das
eine auf Einschatzen des Gegners mit den Augen, das andere auf der vollen
Konzentration des Gegner mit den Augen beruht - folgen, empfinde ich es als
Ungereimtheit, wenn das eine funktionieren wuerde, das andere nicht.
(Daran, dass mir das ueberhaupt erst als Magier so richtig aufgefallen ist,
 kann man glaube ich sehen, dass die Relevanz dieser Aenderung sich irgendwo
 im Promillbereich abspielen duerfte.)

'Hey - aber wieso kann ich dann Parieren, Blocken, Unterlaufen... also
 ueberhaupt kaempfen, wenn ich nichts sehen kann?'
Nein, wir wollen es nicht uebertreiben. Man muss irgendwo die Linie ziehen.
Das Lichtsys... das Lichtszs... das Lichtdingens und die Dunkelheit hier im
MG sind heikle Themen, auf welche ich gar nicht weiter eingehen moechte.
Jede Gilde hat da irgendwie ihre eigene Loesung, um im Dunkeln kaempfen
zu koennen.
Die Kaempfer ignorieren Dunkelheit weitgehend, was ich - alle Gilden als
Gesamtkunstwerk betrachtet - auch nicht weiter als stoerend empfinde: es
ist halt so. Wer nicht mag, dass in seinem Gebiet das so geschieht, baut
Inselloesungen ein. Auch ok. Davon lebt das MG.

Natuerlich kann ich Maharets Argumentation bis zu einem gewissen Grad gut
nachvollziehen. RL-Logik und VL-Logik darf man nur in bestimmten Faellen
gleichsetzen, doch *in sich* muessen beide Logiken schluessig sein.
Wenn das Kaempfen im Dunkeln an sich geht, geht halt auch Parade, Block
und Co. An diesen Stellen eigene Regeln zu finden waere muessig und auch
ziemlich ueberfluessig.
Wenn es mir aber im Dunkeln nicht gelingt, einen Gegner einzuschaetzen,
wieso kann ich mich dann im Kampf voll auf ihn konzentrieren?
Und darueberhinaus sogar noch regelmaessig seine Verfassung mitbekommen?

Aber ich lasse mich ja gern ueberzeugen, dass man im Dunkeln zumindest
in die richtige Richtung kaempfen kann (schon gut, Derin ;)) und wenn man
einen DElfen im Team mit dunklem Umhang hat, ist das wohl auch nicht die
allerbeste Loesung fuer den Teamkampf, habe ich mir sagen lassen.

Insofern geht der Fokus im Dunkeln nun wieder, allerdings in leicht
abgeschwaechter, skillabhaengiger Form. Man trifft bei hohem Skill dann
meistens den fokussierten Gegner, aber nicht immer.

Hoffe, dass damit die meisten einverstanden sind.


gab

-----------------------------------------------------------------------------



Re^10: Verlernen von Waffenskills (Nicolai, 29. Jan 2008, 02:03:49):
~#! rn=Gabylon rt=1199708441 rg=gilden.kaempfer
~#! tid=1197983196
bambis idee mit dem fahrrad fahren/verlernen/nicht verlernen hat
doch was. wie waers mit: sobald ein waffenskill auf x prozent
gelernt war, kann er durch nicht benutzen hoechstens bis
x-5 prozent fallen und gut ist.
denke wenn man einmal gelernt hat wo bei einer bestimmten
waffe vorne und hinten ist, dann sollte man das auch
behalten :)

-----------------------------------------------------------------------------



Re^11: Verlernen von Waffenskills (Gulahr, 29. Jan 2008, 10:39:23):
~#! rn=Nicolai rt=1201568629 rg=gilden.kaempfer
~#! tid=1197983196
alternativ kann man auch sagen, dass man dinge, die man bereits konnte und bei
denen man nur aus der uebung ist, spaeter schneller wieder erlernt, als wenn
man sie zum ersten mal lernt. sprich bis zu den bisher maximal gelernten
werten koennte man die lernrate anheben.

-----------------------------------------------------------------------------



Re^12: Verlernen von Waffenskills (Ark, 29. Jan 2008, 11:55:08):
~#! rn=Gulahr rt=1201599563 rg=gilden.kaempfer
~#! tid=1197983196
Wollt ihr jetzt das Maximum der "Nebenwaffen" jeder Rasse weg haben? Speere
bleiben bei Zwergen doch immer auf sehr sehr schlecht oder so, warum soll man
den Skill jetzt wieder bis 45% (oder halt dem Maxwert fuer Zwerge) hochueben,
nur damit er wieder sinkt (ob nur 5 oder 10 Prozent maximal ist ja dann
nebensaechlich). Geht das um Topliste Kaempfer? Ich kanns grad nicht
nachvollziehen ... ganz verlernen wird man ja nicht, das ist ja auch heute
schon so.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Die Taetowierungen... (Gabylon, 19. Feb 2008, 12:03:05):
... werden gerade aufgrund der bekannten Extralook-Problematik vollstaendig
ueberarbeitet und mussten daher alle zerstoert werden.

In Baelde folgt der Wiederanschluss.


gab

-----------------------------------------------------------------------------



Taetowierungsarbeiten wieder moeglich (Gabylon, 23. Feb 2008, 23:03:20):
Hi Trves,


Illuzida ist von ihrer Taetowierungs-Fortbildungsreise zurueckgekehrt
und stellt ihre Kuenste nun wieder jedermann zur Verfuegung.

Allerdings konnten die Beschreibungen der alten Tattoos aufgrund ihrer
bisherigen Speicherart nicht gerettet werden. Dass dies bei zukuenftigen,
eventuell notwendigen Modifikationen nicht mehr geschieht, ist nun aber
sichergestellt.
Auch verbrauchen mehrere Taetowierungen jetzt nur noch einen Slot im inv.

Illuzida sagte mir auch, dass sie die Tattoos in den ersten zwei Wochen
zum absoluten Tiefpreis sticht. Danach wirds wohl teurer werden.
Das Struv muss schliesslich auch sehen, wo es finanziell bleibt. :)


gab

-----------------------------------------------------------------------------



Taetowierungen (Humni, 14. Mar 2008, 21:34:12):
Huhu,

derzeit ueberschreiben die Taetowierungen Euren zeige-Befehl. Vielleicht
wartet ihr ein wenig, bis das gefixt ist, bevor Ihr Euch welche holt.

Danke an Blutgier fuers finden.

Humni

-----------------------------------------------------------------------------



Re: Taetowierungen (Gabylon, 15. Mar 2008, 01:41:08):
~#! rn=Humni rt=1205526852 rg=gilden.kaempfer
~#! tid=1205526852
Ist nun behoben.
Sollte es wider Erwarten Probleme geben, meldet Euch bitte.

gab

-----------------------------------------------------------------------------



Lieferantenwechsel (Gabylon, 24. Apr 2008, 23:01:29):
Hi Trves,


der Wirt der Struvkneipe hat den Lieferanten gewechselt. Dadurch ist die
Qualitaet seiner Speisen und Getraenke - und vor allem des Alkohols -
deutlich gestiegen.

Dies hat auch Auswirkungen auf das Frischgezapfte am Gelagetisch. Die Leber
wird nun aller Voraussicht nach staerker belastet, was dann zur Folge hat,
dass der Gewinner das Saufen etwas schneller erlernt.
Aber auch die anderen Mitstreiter eines Gelages profitieren ab sofort fuer
ihren Einsatz beim gemeinsamen Zechen.
Allerdings ist zu erwarten, dass nach einem solchen exzessiven Gelage die
Leber ein klein wenig Zeit braucht, um einem neuen Alkoholansturm gerecht
zu werden.

Weiterer Effekt ist, dass sich durch die bessere Alkoholqualitaet nun schon
mit dem derzeit maximal erreichbarem Gildenlevel die Leber auf das Maximum
an Alkoholvertraeglichkeit trainieren laesst.

Prost!


gab

-----------------------------------------------------------------------------



Bug im Saufskill (Gabylon, 25. Apr 2008, 20:02:05):
Hi Trves,

ein falscher Eintrag im Saufskill fuehrte dazu, dass einigen von Euch
das "normale" Erhoehen des Saufskills durch Alkohol verwehrt wurde
und einigen wiederum nicht.
Dieser Bug ist mindestens schon ein paar Jahre alt, wurde aber leider
erst jetzt entdeckt. Dabei war freundlicherweise Gloinson behilflich.

Ihr solltet Euren Saufskill jetzt - wie urpsruenglich beabsichtigt -
ueber das normale Trinken von Alkohol steigern koennen, wenn auch
natuerlich lange nicht so schnell wie ueber das Gelage im Struv.


gab

-----------------------------------------------------------------------------



Testphase / Lernboni (Gabylon, 23. Aug 2008, 21:31:00):
Hi Trves,

es ist einiges passiert.

- Heute wurden grosse Aenderungen an vielen Gildenobjekten vorgenommen,
  die ihr aber zunaechst NICHT bemerken solltet. Es ist alles getestet
  worden, aber Kaefer finden nunmal auch in der kleinsten Ritze Platz.
  Sollte euch also irgendwas ungewoehnlich vorkommen (der Weghier wird mit
  drei Schlaegen niedergestreckt oder ihr bekommt die Ameise auf der HE
  nicht mehr platt), gebt mir bitte Bescheid.

  Die gesamte Gilde tritt nun in eine Testphase und es werden auch ein paar
  Testspieler herumlaufen. Wer von sich selber behauptet, gute Kenntnis der
  Gilde zu haben und Lust und Zeit hat, mitzutesten, moege sich bitte bei
  mir melden. Je mehr Testspieler wir haben, desto besser.
  Es werden zunaechst Metzler, spaeter auch Bluemchenpfluecker gebraucht.


- Die Lernbonus im Kampf gegen Monster wurde gildenlevelabhaengig gestaltet.
  Kleinere Spieler habens gegen Monster xyz nun etwas leichter, Kaempfer in
  den mittleren Leveln duerften kaum einen Unterschied zu vorher merken.
  Allein hochrangige Trves kriegen am gleichen Monster etwas weniger
  Lernbonus.


- Im Zuge der Renovierungsarbeiten ist mir auch ein fetter, langversteckter
  Kaefer ins Netz gegangen. Ich sag es nur ungern, aber bisher haben Azubis
  von der gemeinsamen Ausbildung mit einem hoeherrangigen Kaempfer nicht
  profitieren koennen.
  Dies ist ab sofort geaendert und sollte nun so funktionieren, wie
  urspruenglich vorgesehen: bei Fehlschlaegen in aktiver Ausbildung mit
  einem Ausbilder lernt der Azubi nun deutlich mehr in gleicher Zeit.


gab

-----------------------------------------------------------------------------



Kragen? (Gabylon, 24. Aug 2008, 20:58:18):
Guggs,

die Kraegen sind bei vielen seltsamerweise abhanden gekommen.
Wen das betrifft, moege einfach kurz bei Briesel vorbeischauen.

gab

-----------------------------------------------------------------------------



Re: Kragen? (Del, 24. Aug 2008, 20:59:15):
~#! rn=Gabylon rt=1219604298 rg=gilden.kaempfer
~#! tid=1219604298
... und als Belohnung dafuer einen Verweis kassieren... ;-)
*steht still und gruesst*
Del

-----------------------------------------------------------------------------



Re: Re: Kragen? (Zaphob, 26. Aug 2008, 16:27:14):
~#! rn=Del rt=1219604355 rg=gilden.kaempfer
~#! tid=1219604298
Scheinbar ist da auch bei einigen Struv NPCs was kaputt gegangen, jedenfalls
hagelt das hier bei der Vereidigung massenweise Verweise untereinander,
richtig lustig.

-----------------------------------------------------------------------------



N.C. (Gabylon,  3. Sep 2008, 22:30:50):
Hi Trves,


Noeval Celembar ist auf einer weitreichenden, lang andauernden Fortbildung
gewesen, welche zum Ziele hatte, alle Arten von Krankheiten und deren
Behandlungsmethoden zu erlernen.

Ob er sie auch heilen kann... nun... das haengt von seiner praktischen
Erfahrung ab, die ihm jetzt noch fehlt und die natuergemaess mit jeder
Behandlung eurerseits etwas groesser wird...


gab

-----------------------------------------------------------------------------



Idee Kaempferfaehigkeit (Ark,  5. Sep 2008, 22:29:26):
Brainstorming ... wie waere es mit einem Bonus fuer ein Team>2 Mitglieder,
deren Fuehrer ein hochleveliger Kaempfer (Takal Mor, Level22) und Spieler
(>Lvl80?) ist?
Der koennte sich durch von der Kaempferrasse abhaengig von +1 Bonus auf Stats
ueber Resistenzen, Immunitaet gegen Gift bis hin zu gesteigerter
Kampfgeschwindigkeit hinziehen und besser bei "schwaecheren"
Gilden/Teammitgliedern auswirken und schwaecher bis null bei alten Kaempen.
Kein Skill, sondern von der Gruppe abhaengig, und nur begrenzt einsetzbar
(1-2x pro Tag und Gruppe und dann bis Austreten des Anfuehrers aus der
Gruppe). Verliert man ein Mitglied des Teams durch Tod, sinken die
Fuehrungskraefte (Boni) bei den restlichen Teammitgliedern (verschwinden,
falls nur noch ein anderer uebrig ist).
Alles nicht ganz einfach realisierbar, aber pls. discuss :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Idee Kaempferfaehigkeit (Gabylon,  5. Sep 2008, 23:32:05):
~#! rn=Ark rt=1220646566 rg=gilden.kaempfer
~#! tid=1220646566
kein problem.
du proggst, humni nickt ab, ich bau ein ;)

gab

-----------------------------------------------------------------------------



Re: Re: Idee Kaempferfaehigkeit (Gabylon,  5. Sep 2008, 23:47:22):
~#! rn=Gabylon rt=1220650325 rg=gilden.kaempfer
~#! tid=1220646566
so, nun im ernst:
warum kein skill? koennte ich mir auch vorstellen, dann wuerde die
ark/g zeitliche begrenzung wegfallen. GL 23 hat ja noch keinen skill,
und als general sollte man halt fuehrungsfaehigkeiten lernen/beweisen
koennen.
also nette idee insgesamt, finde ich.
andere meinungen?

gab

-----------------------------------------------------------------------------



Re: Re: Idee Kaempferfaehigkeit (Ark,  5. Sep 2008, 23:48:00):
~#! rn=Gabylon rt=1220650325 rg=gilden.kaempfer
~#! tid=1220646566
In der Zeit schreib ich lieber Taramis fertig :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^3: Idee Kaempferfaehigkeit (Ark,  5. Sep 2008, 23:51:53):
~#! rn=Gabylon rt=1220651242 rg=gilden.kaempfer
~#! tid=1220646566
Weil Skill in dem Fall ein nicht geeigneter Ansatz waere imho. Sehen wir es
realistisch: Skill wird von jedem als Aufforderung gesehen, den so
schnell/bequem wie moeglich auf max zu bringen. Dabei geht der Sinn dieser
Faehigkeit, die man im Kampf _aus_ueben (nicht ueben!) muss, dahin. Denke ich
mir mal. Nur um dem Gildenrang wieder was nach Muster 0815 zu geben, waere es
ein wenig zu schade und praxisfremd. Ich dachte da schon ein wenig an das, was
man sich bisher erarbeitet hat. Die Wirkung wuerde ja deshalb auch begrenzt,
wenn ein Teammitglied stirbt, da hat man auch ein wenig mitversagt als Leiter
... auch wenn es nur die falsche Fluchtrichtung war *husthust* :)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^4: Idee Kaempferfaehigkeit (Gabylon,  6. Sep 2008, 00:47:35):
~#! rn=Ark rt=1220651513 rg=gilden.kaempfer
~#! tid=1220646566
was spricht dagegen, all deine vorschlaege zu beruecksichtigen (welche
ich wirklich nicht schlecht finde), und es trotzdem als skill zu
definieren? dies nicht als skill einzuarbeiten und einfach nur auf
vorhandene ressourcen zurueckzugreifen verschiebt das script-problem nur:
"oha, ab 50 runen / 250 MEP gibts den und den neuen bonus dazu...
 kuhl, dann optimiere ich mein script doch nochmal..."

einen neuen skill einzuarbeiten ergibt schon sinn: schliesslich wird man
nicht ad hoc zu einer fuehrungspersoenlichkeit, nur weil man in seinem
bisherigen leben schon 1023 bluemchen gepflueckt oder bereits 666
hydrahoerner ermetzelt hat, denn wir reden ja eigentlich ueber den
charakter, nicht ueber die RL-person dahinter ;)


gab

-----------------------------------------------------------------------------



Re^5: Idee Kaempferfaehigkeit (Esme,  6. Sep 2008, 00:56:37):
~#! rn=Gabylon rt=1220654855 rg=gilden.kaempfer
~#! tid=1220646566
Nun genau deswegen ergibt Arks vorschlag ja Sinn. Ei
n grosser Kaempfer sollte sich bei der Zeit, die er 
als Ausbilder zugebracht hat, ja durchaus auch Fuehrungsqualtitaeten
erworben haben. 

Esme

-----------------------------------------------------------------------------



Re^6: Idee Kaempferfaehigkeit (Gabylon,  6. Sep 2008, 01:03:30):
~#! rn=Esme rt=1220655397 rg=gilden.kaempfer
~#! tid=1220646566
wer entscheidet denn das?
nur weil ein grosser kaempfer 500 MEP ermetzelt hat, besitzt er
automatisch fuehrungsqualitaet?
nur weil jemand 5 kinder hat, kann er gut mit kindern umgehen?
nur weil jemand 100 kisten wein im keller hat, ist er ein weinkenner?

aha.

gab

-----------------------------------------------------------------------------



Re^7: Idee Kaempferfaehigkeit (Esme,  6. Sep 2008, 01:04:39):
~#! rn=Gabylon rt=1220655810 rg=gilden.kaempfer
~#! tid=1220646566
Du hast ja selbst gesagt, dass es um den Char und nicht den Spieler dahinter
geht.

Esme

-----------------------------------------------------------------------------



Re^8: Idee Kaempferfaehigkeit (Gabylon,  6. Sep 2008, 01:05:05):
~#! rn=Esme rt=1220655879 rg=gilden.kaempfer
~#! tid=1220646566
argl.
das waren vergleiche.

-----------------------------------------------------------------------------



Re^9: Idee Kaempferfaehigkeit (Esme,  6. Sep 2008, 01:08:01):
~#! rn=Gabylon rt=1220655905 rg=gilden.kaempfer
~#! tid=1220646566
In Arks Artikel ging es erstmal um hochrangige Trves. Dem Konzept Deiner
Gilde nach, sollte ein solcher durchaus Fuehrungsqualtitaeten 
erworben habn.
Die Ergaenzungen verstehe ich dahingehend, dass man die Vorteile
etwas differenzierter gestalten kann.

Esme

-----------------------------------------------------------------------------



Re^10: Idee Kaempferfaehigkeit (Gabylon,  6. Sep 2008, 01:21:13):
~#! rn=Esme rt=1220656081 rg=gilden.kaempfer
~#! tid=1220646566
du erwaehnst es ja selber: _sollte_ erworben haben.
was mich an der sonst sehr guten idee stoert, ist, dass man automatisch
davon ausgeht, dass ein general fuehrungsqualitaeten besitzt.
also ich meine jetzt den charakter.
sicher, er ist general... hat bis dahin einiges durchgemacht...
aber... solls das schon gewesen sein?

gab

-----------------------------------------------------------------------------



Re^11: Idee Kaempferfaehigkeit (Gloinson,  6. Sep 2008, 09:13:32):
~#! rn=Gabylon rt=1220656873 rg=gilden.kaempfer
~#! tid=1220646566
Wurde er nicht befoerdert, weil er so etliches an Ausbildung geleistet hat und
daher gezeigt hat, dass er fuehren kann?


-----------------------------------------------------------------------------



Re^12: Idee Kaempferfaehigkeit (Humni,  6. Sep 2008, 12:16:24):
~#! rn=Gloinson rt=1220685212 rg=gilden.kaempfer
~#! tid=1220646566
Auch wenns jetzt pedantisch klingt: Bitte postet Magierebenendiskussionen
nicht in Spielerrubriken. ;-)

Und sonst freue ich mich, dass hier mal wieder diskutiert wird und warte
einfach mal weiter ab ...

Humni

-----------------------------------------------------------------------------



Re^12: Idee Kaempferfaehigkeit (Gabylon,  6. Sep 2008, 12:22:31):
~#! rn=Gloinson rt=1220685212 rg=gilden.kaempfer
~#! tid=1220646566
hmm, naja.
ist ein spieler (frueher moeglicherweise noch per autofolge) durch die ssp
zu schleifen und danebenzustehen, wie die titanwalze umfaellt, wirklich ein
hartes und gerechtfertigtes kriterium, um fuehrungsqualitaet festzumachen?

don't get me wrong, vielen generaelen wuerde ich ohne zu zoegern
fuehrungsqualitaet zuschreiben. aber wer entscheidet das?

imho fehlt es halt irgendwie an einer festen handhabe.
vielleicht auch questgeartet. der frueher mal angedachte generalsquest
sollte ja so etwas wiederspiegeln und einem spieler "generalstauglichkeit"
attestieren.
vielleicht kann man die idee wieder aufgreifen... ark? :)


gab

-----------------------------------------------------------------------------



Re^13: Idee Kaempferfaehigkeit (Zesstra,  6. Sep 2008, 12:27:38):
~#! rn=Gabylon rt=1220696551 rg=gilden.kaempfer
~#! tid=1220646566
Angenommen, dem ist so und der Werdegang eines Chars zum General spiegelt
nicht die Anforderung an "Fuehrungsqualitaet" (wie auch immer die definiert
ist) wider - muesste man dann nicht die Generalsanforderungen ueberdenken? Das
waere fuer mich die naheliegende Konsequenz der Diskussion, dass Generaele
keine Fuehrungsqualitaet nachgewiesen haetten.

Zesstra

-----------------------------------------------------------------------------



Re^13: Idee Kaempferfaehigkeit (Humni,  6. Sep 2008, 12:37:46):
~#! rn=Humni rt=1220696184 rg=gilden.kaempfer
~#! tid=1220646566
Ich uebs nochmal, ich schreib zuviel in megaschmarrn... mein Post bezog sich
natuerlich auf den Artikel, in dem Magierebenenmeldungen hier in der Rubrik
erschienen. In Megaschmarrn-Tradition hab ich natuerlich auf den letzten
Artikel geantwortet.

Humni

-----------------------------------------------------------------------------



Re^13: Idee Kaempferfaehigkeit (Esme,  6. Sep 2008, 12:38:34):
~#! on=Esme ot=1220696874 og=magier.entwicklung
~#! rn=Gabylon rt=1220696551 rg=gilden.kaempfer
~#! tid=1220646566
Ist das die richtige Rubrik?
Also ich sehe in diesem Bonus eine Moeglichkeit den Teamkampf etwas
attraktiver zu machen, und es vorallem auch Teams, bei denen eine 
groessere Spannweite von Spielerleveln vertreten ist zu ermoeglichen,
ohne, dass das in Langweile ausartet. Das wuerde auch der momentanen Struktru
der
aktiven Spieler entsprechen.

Ein Skill wuerde meiner Meinung nru dahin fuehren, dass eine kurze Phase
eifriger Aktivitaet ausbricht, bis ein weiterer Skill gemaxt ist, danach
lehnt man sich zurueck und idlet weiter.

Zu Gabylons letzten Artikel: Wenn jemand seine Azubis per autofolge durch
die ssp schleift (was heute so gar nicht mehr geht), dann hat der _spieler_
wahrscheinlich keien Fuehrungsqualtitaeten (oder auch einfach keine Lust
diese anzuwenden).
Dem _Charakter_ bestaetigt Briesel mit der Befoerderung aber ebenjene.

Esme

-----------------------------------------------------------------------------



Re^14: Idee Kaempferfaehigkeit (Gabylon,  6. Sep 2008, 13:04:34):
~#! rn=Esme rt=1220697514 rg=gilden.kaempfer
~#! tid=1220646566
ich bin ja auf deiner seite, esme. teambonus gerne. auch die ideen von ark
sind klasse. ich bin nur dagegen, dass man das automatisch bekommt, weil
man ja schon soundsoviel azubis ausgebildet hat.

wenn ein skill auf max ist, lehnt man sich zurueck? dann hab ich wohl das
spiel nicht verstanden. ich dachte immer, dann geht es erst richtig los
und schaut, was jetzt noch so geht mit dem erreichten.


@zesstra: viele haben mit sicherheit fuehrungsqualitaet bewiesen. davon
bin ich ueberzeugt. aber durch die bank weg?
der damals angedachte generalsquest wurde gegen ein anderes kriterium
eingetauscht, bei dem man aber theoretisch wieder nur "dabei" sein musste.
ich will die entscheidung in keinster weise kritisieren, ich moechte nur
sagen, dass ein generalsquest, bei dem ich auf mich alleingestellt bin,
andere fuehren / leiten / anweisen muss und ich selber nichtmal mitkaempfen
darf, doch ein recht gutes kriterium fuer das erwerben von fuehrungs-
qualitaet waere.

die idee weitergesponnen wuerde doch folgendes ergeben: warum sollten nur
kaempfer fuehrungsqualitaeten besitzen koennen. nur weil er mit anderen
kaempfern (azubis) im team gemetzelt hat?
da werden sofort die chaoten wach: sie wuerden schliesslich auch dauernd
mit ihren daemonen im team metzeln und diesen dabei anleiten.
und das (fast) hoechste gildenlevel haetten sie eh schon seit aeonen.

kurzum: wenn man keinen skill daraus machen will und auch keine pruefung
abverlangt, kann man es auch gleich ins teamobjekt fuer alle einbauen.
der jeweils levelhoechste spieler bestimmt die fuehrungsstaerke und
damit den bonus fuer das gesamte team.
entsprechende vorschlaege wurden ja schon in artikel 11 gepostet ;)


gab

-----------------------------------------------------------------------------



Re^7: Idee Kaempferfaehigkeit (Ark,  6. Sep 2008, 15:30:22):
~#! rn=Gabylon rt=1220655810 rg=gilden.kaempfer
~#! tid=1220646566
Genausowenig wie wenn einer 5 Kinder zeugt oder 100 Kisten Wein austrinkt :-)
Das stoerende Wort ist halt "Skill", einer mit 100 Skill hat potentiell immer
noch die Moeglichkeit, eine Gruppe in den Untergang zu fuehren, wenn er keine
Disziplin in die Gruppe bringt ... also dafuer braucht es wahrlich keinen
Skill. Und zu den mehr oder weniger ernst gemeinten Vorschlaegen zu anderen
Gilden: tendenziell sind es zumeist Gilden, die weniger auf Kooperation schon
in der Ausbildung Wert gelegt haben ... Ausnahmen bestaetigen die Regel :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^13: Idee Kaempferfaehigkeit (Ark,  6. Sep 2008, 15:32:00):
~#! rn=Gabylon rt=1220696551 rg=gilden.kaempfer
~#! tid=1220646566
Jaja, laesst sich halt leider nicht aus dem Aermel schuetteln ... und im
Winter besser umsetzen.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^15: Idee Kaempferfaehigkeit (Zesstra,  6. Sep 2008, 16:12:36):
~#! rn=Gabylon rt=1220699074 rg=gilden.kaempfer
~#! tid=1220646566
Also, wenn man diese Realismusdebatte halbwegs konsequent fuehren moechte 
(was IMHO nicht unbedingt sinnvoll ist), stellen sich aus meiner Sicht min.
folgende Fragen:

* Was sind denn Fuehrungsqualitaeten im Sinne der Kaempfergilde? Wie sollte
  man diese ggf. quantifizieren?
* Muss die Fuehrungsqualitaeten der Spieler oder der Charakter haben? IHMO
  eher letzteres.
* Soll(te) ein General Fuehrungsqualitaeten haben? Wenn nein, eruebrigt sich
  ein Grossteil der Diskussion hier natuerlich. Wenn ja, brauchts keinen
  neuen Skill, den man erst als General lernt/uebt/nachweist.
* Ist das aktuelle Befoerderungs- und Ausbildungsystem grundsaetzlich 
  geeignet, zu erreichen, dass Generaele Fuehrungsqualitaeten haben?
  Wenn nein, erfordert dies aus meiner Sicht eine entsprechende
  Systemaenderung.
* Fuehrt das aktuelle Befoerderungs- und Ausbildungsystem in der ueber-
  wiegenden Mehrzahl der ernannten Generaele zu den gewuenschten Qualitaeten?
  Wenn ja, kann man die wenigen Ausnahmen vernachlaessigen. Wenn nein,
  erfordert es eine entsprechende Systemaenderung.

Allerdings ist das MG immer noch ein Spiel und auf die Spitze getriebener
Realismus fuehrt IMHO haeufig eher zu reduziertem Spielspass. Mit dem
Hintergrund kann man alternativ halt einfach der Meinung sein, die
Generalswerdung inkl. Ausbildung sollte zu einem General mit
Fuehrungsqualitaeten fuehren...
Und ich denk, hier verlasse ich die Diskussion wieder. ;-)

Zesstra

-----------------------------------------------------------------------------



Re^16: Idee Kaempferfaehigkeit (Seleven,  9. Sep 2008, 10:02:35):
~#! rn=Zesstra rt=1220710356 rg=gilden.kaempfer
~#! tid=1220646566
Auf den letzten Artikel.

Ich verstehe ehrlich gesagt die Aufregung nicht. Aber vielleicht seh ich um
kurz vor zehn Uhr morgens und nur einer halben Tasse Kaffee intus nicht ganz
klar.

Die Eigenschaft - als Skill oder eben nicht - ein Team zu staerken ist doch
nur fuer Generaele, die das Team fuehren vorgesehen?
Dann ist vom Rollenspiel her Fuehrungsqualitaet gegeben - man hat ja genug
Azibis gehabt. Von der realen Seite des Lebens aus betrachtet wird das Team
gut abwaegen, ob sie einem unfaehigen Teamfuehrer den Angriffsbefehl
ueberlaesst. Im Zweifel schadet dieser mehr, als seine Faehigkeit bringen
wuerde.
Der Vorteil, dass bisheriges Kanonenfutter auch ein wenig laenger steht wuerde
dem MorgenGrauen aber meiner Ansicht nach viel bringen. Der kleine Spieler
steht etwas laenger und hat dadurch mehr Spass. Die grpssen Spieler haben
laenger einen Schlagfaenger mit. Kleiner NPCs halten das Team nicht ewig auf.

So, jetzt ist der Kaffee durch - mal schauen, ob beim zweiten mal lesen mehr
Klarheit auftaucht. Dann widerspreche ich mir mal wieder in einem Selbstreply.
:-)

Seleven, Wurstkaemfererstie.

-----------------------------------------------------------------------------



probleme mit trves.de (Guard, 23. Nov 2008, 18:55:29):
moin,
der gildenchef hat mir berichtet, dass es probleme beim aufruf der
trves.de-seite kommt. bitte wer das problem hat folgende fragen beantworten in
einer mail an guard@trves.de:
welche browser sind betroffen
welche konktrete url wird eingegeben
javascript, activex an oder aus?
landet man sofort auf einer anderen adresse oder wird der inhalt der
trves-seite noch kurz angezeigt?

ich steh naemlich n bissel aufm schlauch ... weder ich noch gabylon koennen
das verhalten nachstellen

gruss

Guard

-----------------------------------------------------------------------------



Re: probleme mit trves.de (Amaryllis, 23. Nov 2008, 19:05:25):
~#! rn=Guard rt=1227462929 rg=gilden.kaempfer
~#! tid=1227462929
Also bei mir laeufts... aber vielleicht ist Euch aufgefallen, dass das
Guestbook seit ca. einem Jahr nicht mehr funktioniert ;)

Ama*

-----------------------------------------------------------------------------



Re: probleme mit trves.de (Feigling, 24. Nov 2008, 10:10:40):
~#! rn=Guard rt=1227462929 rg=gilden.kaempfer
~#! tid=1227462929
Hallo,

ich denke das Problem was Du meinst, ist die Google/Firefox Warnung.
Laut Google hat die Seite ins den letzten Monaten mehrfach Schad-
Software verteilt. Ich vermute mal dass die Seite kein eigener
Server ist, sondern dass auf der IP etliche Webseiten liegen.
Also muss die Schadsoftware nicht dort gewesen sein, laut Google
ist das nun auch mehr als 90 Tage her.

Beim ersten Besuch mit einem aktuellen Firefox wird man aber vom
Browser auf eine Warnseite umgeleitet. Wer weiss noch wie lange.

Feigling

-----------------------------------------------------------------------------



Re: Re: probleme mit trves.de (Gnome, 24. Nov 2008, 10:56:35):
~#! rn=Feigling rt=1227517840 rg=gilden.kaempfer
~#! tid=1227462929
zwei sachen dabei wundern mich doch sehr:
1. warum leitet firefox selbstaendig auf eine andere seite um?
2. wieso traegt die umgeleitete seite pornographische zuege und
   warum laesst sie sich so schwer wieder abschiessen, wenn man
   die warnungen ignorieren will?

auch mit neuestem firefox und erstmaligem besuch ist mir kein
anormales verhalten der seite aufgefallen... moeglicherweise
ist das problem auch bei den jeweiligen rechnern zu hause zu
suchen (addware, spyware, whatever).


gnOme

-----------------------------------------------------------------------------



Re^3: probleme mit trves.de (Zesstra, 24. Nov 2008, 11:03:36):
~#! rn=Gnome rt=1227520595 rg=gilden.kaempfer
~#! tid=1227462929
Firefox hat eine Einstellung, besuchte Seiten vor Besuch gegen eine Blacklist
von Google vergleichen zu koennen. Falls die Seite dann dort erfasst ist,
kriegt man nicht die gewuenschte, sondern ne Warnung. Pornographische Zuege
hat diese Warnseite aber normaleweise nicht. Lokale Probleme bei einzelnen
Usern kann man natuerlich nicht ausschliessen. Dein Punkt (2) klingt, als
kennst Du die Seite, auf die man umgeleitet wird, vielleicht wuerde die
entsprechende URL die Diskussion vereinfachen.

Zesstra

-----------------------------------------------------------------------------



Re^4: probleme mit trves.de (Gnome, 24. Nov 2008, 11:15:26):
~#! rn=Zesstra rt=1227521016 rg=gilden.kaempfer
~#! tid=1227462929
mir wurde berichtet, dass man auf "scan.scannerantispyware.com" landet.

-----------------------------------------------------------------------------



Re^5: probleme mit trves.de (Croft, 24. Nov 2008, 11:17:55):
~#! rn=Gnome rt=1227521726 rg=gilden.kaempfer
~#! tid=1227462929
Das ist wohl eine Fake-Seite.

Croft

-----------------------------------------------------------------------------



Re^6: probleme mit trves.de (Gnome, 24. Nov 2008, 11:20:05):
~#! rn=Croft rt=1227521875 rg=gilden.kaempfer
~#! tid=1227462929
eben, das denke ich auch.

-----------------------------------------------------------------------------



Re^7: probleme mit trves.de (Zesstra, 24. Nov 2008, 11:46:36):
~#! rn=Gnome rt=1227522005 rg=gilden.kaempfer
~#! tid=1227462929
Bzw. eine Fake-Seite, die scheinbar Malware zu verteilen versucht. Waer ich
vorsichtig beim Besuchen, nur mit aktuellem Browser und abgeschaltetem
Javascript...

Zesstra

-----------------------------------------------------------------------------



Re^8: probleme mit trves.de (Feigling, 25. Nov 2008, 10:11:53):
~#! rn=Zesstra rt=1227523596 rg=gilden.kaempfer
~#! tid=1227462929
Also ich kann das verhalten nicht erneut beobachten. Ich hatte das
einmal beobachtet, als man hier auf der ebene darauf aufmerksam machte
und mir es kurz angesehen.

Ich hatte kurz nach der Meldung gegooglt und gefunden, dass das ein
Spyware-Schutz von Mozilla zusammen mit ne Blackliste von Google ist.

Ein Umleiten auf so eine fragliche Seite hab ich da nicht beobachtet,
ich habe aber auch nicht bestaetigt o.ae. Wenn man auf der Warnseite
weitere Informationen angeklickt hat, so hat man erfahren, dass
die Seite vor mehr als 90 Tagen angeblich Spyware verteilt hat.

Wie gesagt, von pornografie oder der genannten Seite hab ich nichts
bemerkt.

Feigling

-----------------------------------------------------------------------------



Re^9: probleme mit trves.de (Bielefeld, 25. Nov 2008, 11:41:06):
~#! rn=Feigling rt=1227604313 rg=gilden.kaempfer
~#! tid=1227462929
Ich stelle fest, dass ESET die Seite nicht mag und einen
Aufruf per Firefox unterbindet. Logschnipsel:

25.11.2008 11:37:01 HTTP-Pruefung Datei http://www.trves.de/ 
JS/TrojanDownloader.Small.NAT Trojaner 
Verbindung getrennt - in Quarantaene kopiert

-Bielefeld

-----------------------------------------------------------------------------



Re^10: probleme mit trves.de (Bielefeld, 25. Nov 2008, 11:48:54):
~#! rn=Bielefeld rt=1227609666 rg=gilden.kaempfer
~#! tid=1227462929
Nachtrag: am Ende der index.html befindet sich ein recht haesslicher
JavaScript-Block, der in der Datei nichts zu suchen hat.

Bielefeld

-----------------------------------------------------------------------------



Re^11: probleme mit trves.de (Rumata, 25. Nov 2008, 11:50:54):
~#! rn=Bielefeld rt=1227610134 rg=gilden.kaempfer
~#! tid=1227462929
Wer hat da schreibrechte?

-----------------------------------------------------------------------------



Re^12: probleme mit trves.de (Gloinson, 25. Nov 2008, 12:06:29):
~#! rn=Rumata rt=1227610254 rg=gilden.kaempfer
~#! tid=1227462929
Wo denn da? Ich seh bei wget nichts. Hast du eventuell einen boesen Proxy
zwischen dir und der Seite, Bielefeld?


-----------------------------------------------------------------------------



Re^13: probleme mit trves.de (Gnome, 25. Nov 2008, 12:11:18):
~#! rn=Gloinson rt=1227611189 rg=gilden.kaempfer
~#! tid=1227462929
ok, da war tatsaechlich was. etliche seiten weiter unten und schoen
im kommentar versteckt. keine ahnung, wer das war oder wie das da
hingekommen ist. problem sollte nun geloest sein.
sorry fuer die unannehmlichkeiten.

wenn noch was sein sollte: bitte direkt per mail oder tm melden. danke.

gnOme

-----------------------------------------------------------------------------



Re^14: probleme mit trves.de (Gloinson, 25. Nov 2008, 12:17:15):
~#! rn=Gnome rt=1227611478 rg=gilden.kaempfer
~#! tid=1227462929
Ah, du hast es schon weggebastelt. Wie unfair, wir raetselten hier! :)


-----------------------------------------------------------------------------



Re^14: probleme mit trves.de (Zesstra, 25. Nov 2008, 12:48:09):
~#! rn=Gnome rt=1227611478 rg=gilden.kaempfer
~#! tid=1227462929
Die interessante Frage ist aber in der Tat, wie es dahin gekommen ist. Je
nachdem wie, kanns naemlich schnell wieder da sein.

Zesstra

-----------------------------------------------------------------------------



Re^15: probleme mit trves.de (Gnome, 25. Nov 2008, 12:54:22):
~#! rn=Zesstra rt=1227613689 rg=gilden.kaempfer
~#! tid=1227462929
ich werde mal an bestimmten stellen nachfragen und in zukunft mehr
darauf achten. (man hat ja sonst nichts zu tun).

gnOme

-----------------------------------------------------------------------------



Re^16: probleme mit trves.de (Jimdigriz, 25. Nov 2008, 16:52:39):
~#! rn=Gnome rt=1227614062 rg=gilden.kaempfer
~#! tid=1227462929
Es sind zur Zeit recht viele Bots unterwegs, die
per SQL-injection websites compromittieren. Je nachdem welche
CMS-artige Software auf trves.de verwendet wird, kann das die
Ursache sein. Besonders verwundbar sind natuerlich Foren- oder
Kommentarfeatures wo ggf. Leute unauthentifiziert text (zB auch HTML)
hinterlassen koennten.

JdG

-----------------------------------------------------------------------------



Re^17: probleme mit trves.de (Amaryllis, 25. Nov 2008, 21:45:24):
~#! rn=Jimdigriz rt=1227628359 rg=gilden.kaempfer
~#! tid=1227462929
Wenn da aber JavaScript-Code gefunden wurde, der da nicht hingehoert, dann ist
der Server imho kompromittiert und sollte genauestens forensisch untersucht
bzw. evtl. je nach "Auswirkung" (z.B. ob der Webserver chroot laeuft oder
nicht) sogar neu aufgesetzt werden.

Ama*

-----------------------------------------------------------------------------



Sammelbuechse & Co. (Gabylon,  1. Feb 2009, 00:48:31):
Hi Trves,


aus aktuellem Anlass der Geldknappheit und einem moeglicherweise nicht
unerheblichem Anteil der Trves'schen Geldvernichtungsmaschine namens
Sammelbuechse, wurden einige grundsaetzlich Aenderungen an diesem
Mechanismus vorgenommen.

- Die Gelder werden nun sofort in die Zentralbank eingespielt. Laeden sollten
  also nicht mehr aufgrund der Sammelbuechse pleite gehen.

- Pro fertiggestelltem Denkmal wird genau ein Spendenorden an den groessten
  Sammler verliehen. Dies soll fuer die Zukunft sich aufschaukelnde
  Rekordversuche verhindern.
  (Die aktuelle Rekordsumme von ca. 2,5 Millionen Muenzen musste bei den
  Umbauarbeiten leider dran glauben.)

- Brieseltrim konnte die raffgierigen Bauzwerge dazu ueberreden, dass grosse
  Spenden sich in der entsprechender Zahl der Ausbaustufen niederschlagen.
  Allerdings mit leichter zeitlicher Verzoegerung. Gut Ding will Weile haben.


gab

-----------------------------------------------------------------------------



Ausbilderinfos (Gabylon,  5. Feb 2009, 14:03:57):
Hi Trves,


Angehoerige potentieller Ausbildungsgilden koennen sich ab sofort bei
Kloiren Eisenhelm ueber die Anwesenheit moeglicher Ausbilder informieren.


gab

-----------------------------------------------------------------------------



Taktik etc. (Gabylon, 17. Apr 2009, 16:41:36):
Hi Trves,


- Die Taktik wurde mit freundlicher Genehmigung von Balanceseite weitaus
  differenzierter gestaltet:

  Mit hoeherer Taktik agiert man nun tatsaechlich sehr viel defensiver.
  Bedeutet aber auch, dass dann der Schaden im Angriff entsprechend
  reduziert wurde.
  Die Werte von Offensive und Defensive bei Taktik 0 bleiben dagegen
  unveraendert.

- In dem Zuge wurden nun auch die zu parierende Waffenart bei der
  Waffenparade beruecksichtigt. Speere und Messer sind am schlechtesten
  zu parieren, Schwerter und Kampfstaebe am leichtesten, alles andere
  dazwischen. Diese Korrekturen sind aber nicht drastisch; einem
  haeufig offensiv Kaempfenden werden sie wohl kaum/nicht auffallen.

- Einem in den nachfolgenden Techniken geuebten Kaempfer kuendigt sich das
  Ende von Parade, Schildparade, Schildkroete, Schlange und Drache in
  Zukunft an, so dass man etwas Zeit hat, entsprechend darauf zu reagieren.
  Wer in den Genuss der neuen Meldungen kommen will, sollte sich bei
  Gramdala einen neuen Kragen holen.

- Die Ausbildung wird ab Reboot/Crash intern auf Events umgestellt. Es
  sollten sich in diesem Punkt fuer euch keine Aenderungen bemerkbar machen.


gab

-----------------------------------------------------------------------------



Re: Taktik etc. (Humni, 17. Apr 2009, 16:45:34):
~#! rn=Gabylon rt=1239979296 rg=gilden.kaempfer
~#! tid=1239979296
Bleibt von meiner Seite aus noch zu ergaenzen:

Die neuen Defensiv-Skills sind getestet - und von den Testenden fuer ok
befunden worden. Dennoch muss das Ganze beobachtet werden, da die Aenderungen
recht drastisch sind. Eventuell sind noch Anpassungen faellig.

Rueckmeldungen koennt ihr gerne loswerden - und wenn ihr das auch (z.B. per
Mail an Gabylon und/oder mich) tut, werde ich sie auch ernstnehmen. 

Ansonsten viel Spass, Trves, stellt Euch in die erste Reihe!

Humni

-----------------------------------------------------------------------------



Re: Taktik etc. (Belgariad, 27. Mai 2009, 05:00:15):
~#! rn=Gabylon rt=1239979296 rg=gilden.kaempfer
~#! tid=1239979296
Hi,
prima habt ihr das gemacht. Ich hab schon gedacht, dass ich endlich verstanden
hab wie Taktik geht. ;) Aber so ists auch toll. Dankeschoen.

Belga

-----------------------------------------------------------------------------



Fruehjahrsputz (Gabylon, 20. Jul 2009, 21:07:53):
Hi Trves,


die Struvbiobliothek hat den Fruehjahrsputz gut ueberstanden; dabei haben
sich ueberraschenderweise Aufzeichungen angefunden, die Aufschluss ueber
die genaue Zusammensetzung des legendaeren Gurtes Motsognirs geben.

Der Kommandant hat nach Einsicht nun die Lektuere fuer alle freigegeben
und mich beauftragt, jedem Trves im Range eines Waffenmeisters oder hoeher
bei einem Nachbau behilflich zu sein.


Huzruck Hammerstahl

-----------------------------------------------------------------------------



Mal ne Frage (Mesirii,  5. Aug 2009, 03:21:18):
Aufgrund aktueller Diskussion mit Maharet, moechte ich mal die Frage in den
Raum stellen, wie man sich denn so nen Trves Kragen vorstellen muss.
Mesi, fragend

-----------------------------------------------------------------------------



Re: Mal ne Frage (Gloinson,  5. Aug 2009, 11:05:36):
~#! rn=Mesirii rt=1249435278 rg=gilden.kaempfer
~#! tid=1249435278
Aus Blei geformter und sehr kleidsamer Ring.


-----------------------------------------------------------------------------



Neues von der Insel (Gabylon,  7. Nov 2009, 21:23:29):
Hi Trves,


Brieseltrim berichtete mir gerade, dass fehlende Stuecke der Biographie
Suniel Iodiliths unlaengst aufgefunden wurden und sie freundlicherweise
der Bibliothek des Struvs zur Verfuegung gestellt wurden.

Es konnte somit ein Forschungsbericht komplettiert worden, welcher als
einziger ansatzweise ueber... nein, ich will an dieser Stelle nicht zu viel
verraten. Wie immer brauchen wir ein paar mutige Recken, die der Sache auf
den Grund gehen wollen.

Es koennte durchaus auch fuer Gildenfremdlinge interessant sein, so der
Inhalt des Forschungsberichts sich denn tatsaechlich als wahr herausstellt...


gab

-----------------------------------------------------------------------------



Eine denkwuerdige Sitzung (Gabylon,  6. Jan 2010, 11:35:02):
Hi Trves,


der Struvrat hat in seiner Neujahrssitzung endlich einige Bedingungen
fuer die oberen Gildenlevel festgeklopft.
Kloiren hat das Protokoll in der Bibliothek archiviert, bat mich aber
auch, es in der Presse zu veroeffentlichen.


gab


--- snip ---

Protokoll der Sitzung des Struvrats Neujahr 2010
------------------------------------------------

* Anwesende
  Brieseltrim Grieselhuck
  Karak Goldgram
  Hinter List
  Edelmir von Botanos
  Hogo von Haarenfuss
  Trina Traan
  Quart Gabelbart
  Kloiren Eisenhelm
  Arzthelferin

* Vorsitzender
  Brieseltrim Grieselhuck

* Protokollfuehrer
  Kloiren Eisenhelm

* Ordonannz
  Arzthelferin


Kloiren:     Ich begruesse alle Mitglieder des Struvrats zur heutigen
             jaehrlichen ordentlichen Sondersitzung!
             Die Anwesenheit ist hiermit festgestellt. Zusaetzlich ist es
             meiner Person als Protokollant und der Arzthelferin als
             Ordonannz erlaubt, an der Sitzung teilzunehmen. Beide Personen
             haben keinerlei Stimm...
Brieseltrim: Jaja, bitte komm zur Sache, Kloiren!
Hogo:        Wann gibts denn was zu essen?

Brieseltrim stiert Hogo an.

Kloiren:     Ich wuerde dann die Tagesordnung verlesen...
Karak:       Wir wissen doch alle, warum wir hier sind!
Kloiren:     Aber ich muss das doch protokollieren!
Karak:       AAAAAARRRRGG, DAS IST DOCH ...
Brieseltrim: Karak... Bitte beruhige Dich...
Kloiren:     Also, einziger Tagesordnungspunkt ist die Festlegung der
             Befoerderungskriterien fuer die oberen Generalsdienstgrade ab
             dem Grossmeister der Waffe. Nachdem die letztjaehrlichen
             Sitzungen keine brauchbaren Ergebnisse hevorgebracht haben,
             soll es...
Trina:       Wie bitte?!? Und GrossmeisterINNEN der Waffe soll es nicht
             geben?
Kloiren:     Doch natuerlich... ich war ja noch nicht fertig...
Brieseltrim: Auch Du, Trina, bitte beruhige...
Quart:       Ist doch voellig unerheblich! Als ob ne Frau in den Rang
             befoerdert werden koennte...

-- Reaktion von Trina wurde aus dem Protokoll gestrichen --

Edelmir:     If beantrage einen neuen Tagefordnungfpunkt:
             Eine Einigung ueber neue Uniformen in hellgruen, if kann die
             alten Fettfen langfam nift mehr fehen.
Karak:       HELLGRUEN???
Brieseltrim: Karak! Verdammt! Was ist denn los?
             Ueber die Tagesordnung wird nicht diskutiert, es gibt nur den
             einen Punkt. Kloiren, verlies bitte meinen Vorschlag.
Kloiren:     Zum Grossmeister - oder Grossmeisterin - der Waffe wird
             befoerdert, wer einen Bericht ueber die Heldentaten des
             Kommandanten anfertigt! ...

*Allgemeiner Protest*

Edelmir:     Ueber mif follte auf ein Berift angefertigt werden mueffen!
Trina:       Das ist ja mal wieder typisch Maenner!
Quart:       Das interessiert doch keine Sau!
Hogo:        Wann gibts denn was zu essen?
Karak:       RUUUUUUUUHEEEEEEEEEEEEEEEEE!
Hinter List: Also ich meine, dass die Bedingungen die Leistung des Trves
             unterstreichen sollten und nicht die der Struvfuehrung.

*Allgemeine Zustimmung*

Hogo:        Aber das ist doch bei den anderen Raengen auch schon so!
             Sollte man nicht die Bekanntheit des Trves unterstreichen?
             Ich zum Beispiel finde, dass die Anzahl der Kneipen und
             Restaurants wichtig ist, in denen der Kaempfer Stammgast ist.

*Allgemeines Gestoehne*

Hinter List: Also das mit der Bekanntheit ist kein schlechter Ansatz.
             Aber so mehr Richtung Beruehmtheit oder allgemeiner Ruf
             vielleicht.
Brieseltrim: Ja, aber was macht einen beruehmt und bekannt?
Karak:       Na, starke Monster und Bestien toeten!
Brieseltrim: Hm.
Edelmir:     Wie untfivilifiert...
Quart:       Die Idee ist doch super!
Trina:       Da muss ich ausnahmsweise mal zustimmen. Frauen sollten aber
             niedrigere Anforderungen erfuellen muessen.

*Allgemeines Gestoehne*

Brieseltrim: Niedrige Anforderungen gibt es im Struv nur in der
             dazugehoerigen Kueche. Wenn Du also darauf bestehst, dem Koch
             ab morgen Gesellschaft zu leisten...

-- Reaktion von Trina wurde aus dem Protokoll gestrichen --

Kurze Pause.
Arzthelferin leistet Erste Hilfe beim Kommandanten.
(Inzwischen wurden Platten mit Haeppchen vom Struvkoch gereicht, welche nur
Sekunden spaeter fast alle irgendwie in Hogos Naehe stehen.)

Kloiren:     Ich bitte wieder um Aufmerksamkeit. Wir waren bei dem Vorschlag,
             die Anzahl der getoeteten Bestien als Bedingung zu nutzen.
Hogo:        Mpf, hingl trmpf mampf? *schmatz,kau*

Edelmir wirft Hogo einen vorwurfsvollen Blick zu.

Hogo:        T'schuldigung, ich meinte, was macht man, wenn man keine Lust
             hat, sich mit Blut zu beschmieren?
Karak:       KEINE LUST?!?
Hinter List: Man wird natuerlich auch bekannt, wenn man viele Orte besucht
             hat und andere Heldentaten besteht, ausser Bestien zu besiegen.
Quart:       Aber es wird doch schon geprueft, wieviele Aufgaben und Queste
             man bestanden hat.
Hinter List: Das schon, aber wie gut man sich in der Welt auskennt, blieb
             bisher unberuecksichtigt.
Hogo:        Meine Rede! Die Anzahl der Kneipen...

Diesmal stiert Karak Hogo sehr durchdringend an.

Edelmir:     Die Laenge und Antfahl der Heldenlieder ueber einen Trvef ift
             doch wohl gantf klar ein Inditf fuer feine Bekanntheit!

*Allgemeines Gestoehne*

Hogo:        Der Botanof schon wieder...
Edelmir:     Mein Name ift Botanof! BO-TA-NOF
Brieseltrim: Ruhe bitte! Hinter List, erklaere das bitte, ich... aeh... es
             besteht wohl Erklaerungsbedarf. 
Hinter List: Also, ich finde, beide Kriterien sollten als Bedingung
             herhalten. Einerseits die Anzahl der getoeteten Bestien und
             andererseits die allgemeine Kenntnis der Welt.
Karak:       Kenntnis der Welt ... pah! Ich bin Offizier geworden auch ohne
             Bluemchenpflueckerei!
Edelmir:     Waf haft Du bloff gegen Blumen?
Karak:       $%%'**##!!%
Brieseltrim: Ich muss Karak da zustimmen, durch die Welt zu spazieren kann
             doch nicht die Staerke eines Kaempfers widerspiegeln, ich sitz
             ja auch lieber in meinen Buero.
Quart:       Klar, aber da kaempfst Du auch hoechstens gegen die gemeine
             Stubenfliege!

*Verstohlenes Gekicher*

Hinter List: Hmmm, vielleicht sollte man den Anteil der beiden Werte dem
             Trves selbst ueberlassen...
Edelmir:     Der Vorflag koennte glatt von mir ftammen.
Hinter List: Aber es sollte eine unterschiedliche Gewichtung verwendet
             werden. Eine erkenntnisreiche Reise ist um einiges aufwendiger
             als ein Monster zu besiegen.
Quart:       Wie bitte?
Karak:       WAS!!!!????!!!!!
Trina:       Das muss das Alter sein, er faengt an zu phantasieren!
Hinter List: Moment mal, ich stuetze meine Aussage auf statistische Werte und
             Wahrscheinlichkeiten.
Brieseltrim: Das ist mir zu hoch!
Kloiren:     Wenn ich erklaeren duerfte...
Brieseltrim: Nein.
Hinter List: Herr Kommandant, ich hab in meinem langen Leben einiges erlebt
             und kann sagen, dass das Erlangen von Wissen sehr muehselig ist.
             Ich glaube, dass Karak locker fuenf Orks ins Jenseits
             befoerdert, ehe Hogo beispielsweise etwas Wissen in der Welt
             erlangen wird.
Karak:       Das stimmt natuerlich!

*Zustimmendes Gemurmel*

Edelmir:     Ift der Hobbit denn ein geeigneter Maffftab? Bei mir waere
             daf doch beifpielfweife waf gantf anderef!
Quart:       Stimmt, bei Dir koennte sogar Brieseltrim fuenf Fliegen
             totquatschen!

*Allgemeines Gelaechter*

Brieseltrim: Bitte!
Kloiren:     Ich finde Hinter Lists Vorschlag gut. Das kann man gut
             formulieren, leicht kontrollieren, schoen protokollieren
             und schnell archi...
Brieseltrim: Danke Kloiren! Was sagen denn die anderen dazu?
Hogo:        Also, Kneipenbesuche erhoehen ja auch das Wissen um die Welt,
             ich finds gut.
Edelmir:     If koennte alfo nur mit Bluemfenpfluecken Groffmeifter der Waffe
             werden?
Hinter List: Nein, es gelten natuerlich alle herkoemmlichen Bedingungen, wie
             Spielerstufe, Erfahrung im Kampfe, absolvierte Abenteuer und
             selbstredend der aufopferungsvolle Einsatz fuer diverse Aufgaben
             des Struvs.
             Und um die Anwaerter auf die Strapazen in den oberen Raengen...
Edelmir:     Ftrapatfen?
Hinter List: ... vorzubereiten, sollte eine ganz besondere Aufgabe her: der
             Oberpostdirektor in Moulokin, ein alter Freund von mir, vergibt
             von Zeit zu Zeit ein paar knifflige Aufgaben, an denen sich
             jeder beweisen kann.
Karak:       Also das find ich gut. Da lernt jeder Trves gleich, wie stressig
             es als Grossmeister der Waffe sein kann, den ganzen Tag...
Edelmir:     Ftreffig?
Hinter List: Zusaetzlich musst man natuerlich genuegend Bestien erlegt haben.
Karak:       Was heisst denn genuegend?
Hinter List: Hmmm, wieviel hast Du denn getoetet?
Karak:       Bestimmt Dreitausend!
Hinter List: Ok. Edelmir, wenn Du, sagen wir, zusaetzlich zu den genannten
             Anforderungen 600 verschiedene Bluemchen in allen Teilen der
             Welt pflueckst, sollte die Leistung in etwa vergleichbar sein.
Edelmir:     Gut, daf kann if aktfeptieren.
Quart:       Ich hab aber viel mehr Bestien getoetet!
Trina:       Du bist ja auch Schlachtfeldmarschall!
Hinter List: Natuerlich steigen die Anforderungen mit dem Dienstgrad. Sagen
             wir pro Dienstgrad um...
Brieseltrim: Das ist ja alles ganz toll, aber das reicht mir einfach nicht!
             Fuer den Waffenmeister hatten wir einen Bericht gefordert und
             fuer einen Grossmeister der Waffe mag der hinterlistige
             Stresstest des Oberpostdirektors auch noch ausreichend sein.
             Aber fuer den Rang eines Grossmeister des KAMPFes ist mir das
             alles zu theorielastig. Kraft meines Amtes verfuege ich, dass ab
             diesem Rang jeder Anwaerter seine Fuehrungsqualitaeten in harten
             Kaempfen unter Beweis stellen muss. Die genauen Modalitaeten
             muss ich mir noch ausdenken, dafuer hab ich jetzt keine Zeit.
             Kloiren, Du schreibst das alles fein auf und dann machen wir das
             so. Basta. Ich bin muede. die Sitzung ist beendet!
Hogo:        Die Haeppchen sind eh alle...
Kloiren:     Damit haetten wir zumindest mal ein Ergebnis im Gegensatz zu den
             ganzen Jahren davor. Ich bin sehr froh darueber, dass es nun
             endlich weitergeht! Dieses Sitzungsprotkoll ist es diesmal sogar
             wert, in der Bibliothek archiviert zu werden.


-----------------------------------------------------------------------------



Ueber Legenden und Mythen (Gabylon, 10. Jan 2010, 13:43:49):
Du gaehnst.
Du denkst . o O ( Mal schauen, was Brieselchen macht... )

> gilde
goto: Fehler beim Teleport nach "/gilden/kaempfer":
*Error in loading object: 'gilden/kaempfer'.

Du schwebst im absoluten, ewigen und leerem Nichts umher. Hier kommen
all die hin, deren Welt, in der sie sich befanden, zerstoert worden ist.
Wenn Du das magische Kommando 'welt' gibst, wirst Du wieder in Deine Welt
zurueckversetzt werden.
Es gibt keine sichtbaren Ausgaenge.
Caldra.
Brieseltrim Grieselhuck der Kommandant des Struv.

Du starrst unglaeubig, aber es nimmt Dir wohl niemand ab.
Nicht einmal Brieseltrim.

Du sagst: Aehm... Briesel... Caldra... Ihr hier? Was ist... passiert? Wo...
Du sagst: sind die anderen?

Brieseltrim brummelt.

Du schwitzt: Gilde? Struv? Futsch? Kaputt? Ich hab... nix gemacht?

Caldra seufzt.
Caldra sagt: Ich bin auch eben erst hier gelandet. Wir wollten Dir gerade
Caldra sagt: Bescheid geben.

Brieseltrim sagt: Nein, Du bist wohl dieses Mal nicht schuld. Ausnahmsweise.
Brieseltrim sagt: Hier passieren in letzter Zeit so merkwuerdige Dinge. Das
Brieseltrim sagt: war wohl zuviel fuer das gute alte Struv.

Du sagst: Was denn? Gehts... etwas genauer?

Brieseltrim raeuspert sich.
Brieseltrim sagt: Nun... Du erinnerst Dich vielleicht noch an die junge
Brieseltrim sagt: Kriegerin, die vor einiger Zeit in mein Buero kam, als Du
Brieseltrim sagt: mir mal wieder bei der... aeh... Arbeit zugeschaut hast?

Etwas Kalk rieselt.

Du sagst: Aeh... ja... bestimmt. Name?

Noch mehr Kalk rieselt.

Brieseltrim sagt: Weiss ich auch nicht mehr, tut ja auch nichts zu Sache.
Brieseltrim sagt: Jedenfalls... sie bat mich um eine Unterredung unter
Brieseltrim sagt: vier Augen, in der sie mir von einer kleinen, fast schon
Brieseltrim sagt: vergessenen Gruppierung im Suedosten unserer geliebten
Brieseltrim sagt: Insel berichtete. Diese Gruppierung, sie nennen sich
Brieseltrim sagt: selber 'Gwaithaer', ist uns in den Aufzeichnungen als
Brieseltrim sagt: Ntoo'hl ueberliefert worden. Keiner hat je so recht an die
Brieseltrim sagt: Existenz der Ntoo'hl geblaubt, ich auch nicht, bis SIE
Brieseltrim sagt: vor mir stand.

Caldra sagt: Und Du bist Dir sicher, dass...

Brieseltrim winkt ab.

Brieseltrim sagt: Ich war auch skeptisch, aber sie wusste Dinge, die sie in
Brieseltrim sagt: ihrem Alter nie haette wissen koennen, wenn sie NICHT von
Brieseltrim sagt: den Ntoo'hl stammt.

Caldra sagt: Und?

Brieseltrim sagt: Nun, die Ntoo'hl haben ein kleines Problem. Ein
Brieseltrim sagt: Nachwuchsproblem. Sie werden immmer weniger.

Du sagst: Weil...?

Brieseltrim sagt: WEIL ES NUR FRAUEN SIND!

Es klickt.

Du sagst: Ahh! Und ihre Abgeschiedenheit traegt nicht gerade zum Erhalt
Du sagst: ihrer Existenz bei, was? ;) Ich verstehe. Aber... was hat das
Du sagst: Struv nun damit zu tun?

Brieseltrim sagt: Das hatte ich mich auch gefragt... ich stellte ihr bei
Brieseltrim sagt: unserer Unterhaltung natuerlich die gleiche Frage. Ich
Brieseltrim sagt: mach es kurz: im Prinzip sind es Trves.

Du sagst... nix.

Brieseltrim sagt: Nun, sie erzaehlte mir, dass nicht wenige Frauen sich vor
Brieseltrim sagt: Jahren dem Struv abwandten und mit ein paar anderen
Brieseltrim sagt: Gleichgesinnten in die Suempfe zogen. Warum und weshalb...
Brieseltrim sagt: das entzieht sich meiner Logik... Frauen halt.
Brieseltrim sagt: Tatsache ist jedoch, dass dort genauso wie hier ueber
Brieseltrim sagt: Generationen hinweg die Trves'sche Kampfkunst gelehrt
Brieseltrim sagt: wurde. Ich konnte mich waehrend eines kleinen
Brieseltrim sagt: Demonstrationskampfes davon ueberzeugen. Wir muessen sie
Brieseltrim sagt: also fortan als Gleichgestellte betrachten.

Du sagst: Du weisst, was das bedeutet? Neue Vorschriften, neue Regeln und
Du sagst: Paragraphen. Mit Deiner Ruhe ist es dann vorbei...

Brieseltrim grummelt: Was meinst Du, warum ich ploetzlich mein Buero nicht
Brieseltrim grummelt: mehr betreten konnte? Seh ich so aus, als wuerde ich
Brieseltrim grummelt: meinen Urlaub hier verbringen??? Mein schoener
Brieseltrim grummelt: Schreibtisch! :-(

Du schweigst.

Immer noch.

Caldra murmelt halblaut: An die Aufzeichnungen erinnere ich mich... von
Caldra murmelt halblaut: 'Kriegerinnen der Suempfe' ist da die Rede, nie von
Caldra murmelt halblaut: 'Kriegern'. Im Volksmund wurde dann im Laufe der
Caldra murmelt halblaut: Zeit ein schlichtes 'Sumpfamazonen' daraus... Aber...
Caldra murmelt halblaut: wer soll denn ahnen, dass es sie wirklich gibt und
Caldra murmelt halblaut: anscheinend auch noch kaempfen koennen...?

Caldra sagt: Ja aber... weshalb genau ist sie denn nun hier aufgetaucht?

Brieseltrim sagt: Da der Weg dorthin fuer jeden sehr gefaehrlich ist, der
Brieseltrim sagt: sich nicht genau auskennt, bat sie mich, einen Weg von der
Brieseltrim sagt: Steppe zu den Suempfen von einem Klor'ndra erkunden zu
Brieseltrim sagt: lassen, welches dann spaeter auch jeden Verrueckten
Brieseltrim sagt: mitnehmen soll, welcher sich in die Fiebersuempfe vorwagen
Brieseltrim sagt: will.

Du sagst: Das ist das Stichwort... wie soll ein Unbedarfter dann die
Du sagst: Fiebersuempfe durchqueren und zu den Ntoo'hl kommen?

Brieseltrim sagt: Sie sagte, das waere kein Problem und laechelte
Brieseltrim sagt: geheimnisvoll. Ich sagte nach langem Ueberlegen endlich
Brieseltrim sagt: zu, schliesslich sind es Trves! Sie bedankte sich, ging
Brieseltrim sagt: dann ihres Weges und mich zwickte es in der Magengegend.
Brieseltrim sagt: Danach geschah das Unglueck.

Du schaust auf.

Brieseltrim sagt: Ich schlang meinen Eintopf hinunter, machte mich
Brieseltrim sagt: wieder auf den Weg ins Buero, winkte Kloiren im Vorbeigehen
Brieseltrim sagt: zu und fand mich dann hier wieder. Seitdem warte ich auf
Brieseltrim sagt: Rettung.

Du grinst: Aehm... wie gut, dass ich so schnell vorbeikam, stimmts? ;)

Brieseltrim schaut grimmig.

Du sagst schnell: Nagut, dann bring ich die Gilde mal wieder in Ordnung...
Du sagst schnell: Caldra, wuerdest Du dann das Gebiet verwalten? Ich kann
Du sagst schnell: ja nicht alles...

Caldra sagt: Na klar, kein Problem.

Du schnippst ein paar Mal mit Deinen Fingern.
Kleine bunte Funken springen, geisterhaften Teilchen gleich, umher.

Brieseltrim denkt . o O ( Magier muesste man sein... )

Du grinst.

Langsam verschwimmt die Umgebung vor Deinen Augen.
Ein kleiner schwarzer Steinbeisser erscheint und zieht Dich in einen Strudel
schwarzer Farben.

Du denkst . o O ( Schwarz? War der nichtmal gruen? Hoffentlich ist... )

Ihr fallt... Brieseltrim faellt mit Euch.

Brieseltrim noergelt: Wehe, mein Schreibtisch ist gleich nicht mehr an
Brieseltrim noergelt: seinem Platz.

*RUMMMMMS*

Du stehst in einem Raum, der sich gewaltig von den anderen Raeumen des Struv
unterscheidet. Ueberall stehen kostbare Moebel, die Regale sind voll mit
Pokalen, Auszeichnungen, Buechern und Urkunden, ein unglaublich pompoeser
Schreibtisch wurde in die Mitte des Raumes gewuchtet und in dem flauschigen
Teppich scheinst Du zu versinken.
Es gibt einen sichtbaren Ausgang: norden.
Brieseltrim Grieselhuck der Kommandant des Struv.

Du denkst . o O ( Jofseidank, der Schreibtisch... )

Brieseltrim nickt.
Brieseltrim sagt: Scheint ja gerade nochmal gutgegangen zu sein. Na fein...
Brieseltrim sagt: vielen Dank Dir auf jeden Fall. Ich bin gespannt, wie sich
Brieseltrim sagt: das nun weiterentwickelt.

Du sagst: Ich auch, ich auch...

Du winkst.
Caldra winkt.
Brieseltrim nickt Dir und Caldra zu.

-----------------------------------------------------------------------------



Re: Ueber Legenden und Mythen (Gabylon, 11. Jan 2010, 19:06:53):
~#! rn=Gabylon rt=1263127429 rg=gilden.kaempfer
~#! tid=1263127429
(Weil das gestern irgendwie unterging...)


Hi Trves,


es hat sich tatsaechlich etwas getan, die Subguilds sind nach 13 Jahren
endlich angeschlossen!
Angeschlossen im Sinne von "fuer Spieler betretbar" ist allerdings erst eine
von dreien. Die anderen beiden sind bis auf weiteres nur von NPCs nutzbar.

Als allererstes moechte ich Caldra ganz herzlich danken.
Er hat die kuenstlerische Verantwortung fuer die Sumpfamazonen uebernommen
und daraus gleich sein Gesellenstueck gemacht, Lob und Kritik bitte deshalb
nur an ihn. :)
Das Gebiet ist mE wirklich sehr schoen geworden, auch wenn am Anfang noch
nicht alles so rund laeuft; es ist thematisch und codetechnisch halt relativ
komplex.

Auch moechte ich den Testspielern des Gebiets und der Gilde danken: Nevada,
Gulahr, Fahnder, Knarz, Pitfall und Vector.

Zum Schluss auch ein dickes Dankeschoen an Humni und Miril fuer die Abnahme
der Gilden und des Gebiets.


Und nun... viel Spass mit neuen Herausforderungen!


gab

-----------------------------------------------------------------------------



GL 25-27 (Gabylon, 14. Jan 2010, 20:24:38):
Hi Trves,


nach GL 24 soll nun auch der Rest kommen. Es sollen lt. Brieseltrim sowohl
Fuehrungs- als auch Kampfkraft unter Beweis gestellt werden. Nun stellt sich
die Frage, wie.

Hat jemand eine zuendende Idee, in welcher Art und Weise das vonstatten
gehen soll? Was soll der Pruefling tun muessen?

Ich habe zwar eine Idee im Hinterkopf, wuerde gerne aber erstmal zu einer
Art Brainstorming einladen.

Einzige Einschraenkung: der programmiertechnische Aufwand soll sich in
Grenzen halten (es sei denn, jemand schiebt mir seinen Vorschlag in fertigem
Code als gut dokumentierte zip-Datei rueber... ;) ).


gab

-----------------------------------------------------------------------------



Re: GL 25-27 (Zook, 17. Jan 2010, 15:37:14):
~#! rn=Gabylon rt=1263497078 rg=gilden.kaempfer
~#! tid=1263497078
oh, es gab da mal so ein projekt ... 
z

-----------------------------------------------------------------------------



Re: GL 25-27 (Vector, 20. Jan 2010, 11:31:56):
~#! rn=Gabylon rt=1263497078 rg=gilden.kaempfer
~#! tid=1263497078
hm, mal wieder vorschlaege machen?

man moege mich korrigieren, wenn ich mich irre, aber jahrelang
(jahrezente lang?!) wurden alle vorschlaege abgebuegelt mit
"diese aufgabe muss mehr sein, als haue npc x oder mache quest y
oder erreiche a xp oder sammle b fps" 
immer wurde auf "die grosse ueberquest" fuer die trves-generaele
verwiesen, an der ja immer mindestens 5 magier schon jahre dran
waren und das konzept wuerde schon stehen etc
(zumindest hatten/haben genuegend magier diese quest im projekt)
schon als tsunamis gladischule angeschlossen wurde, hat man gedacht
"hossa nun koennte es losgehen mit der generalsquest"

und was ist jetzt?
joooo hol noch ein paar eks oder fps und werde parapostmeister
glaub wenn da ein erstie-trves seine ehrliche meinung dazu sagt
koennte er 2 wochen spielpause kriegen, ich meine: come on,
genau das was jahrelang so verneint wurde ist nun dran,
und fps als trves die die eks ersetzen koennen? ahahaha sry
da wuerden sich EINIGE alten trves im grab umdrehen, ist ja
schon fast bierschuettler-maessig. fps ersetzen das metzeln....

und das ne bestimmte quest als pflicht niemals haltbar ist, haben
selbst die zaubis nach ein paar jahren gemerkt (damals war fuer
lvl 9 archi und infero pflicht)
wenn ihr trves-magier wirklich leute haben wollt, die wieder
als trves spielen, und vor allem auch die subguilds be-spielen,
dann solltet ihr euch wirklich ne idee einfallen lassen, anstatt
bestehende huerden stupide nochmal ein paar cm hoeher legen,
und nach der langen wartezeit haette es "das mud" noch verschmerzt
ein jahr mehr auf lvl 24-27 zu warten bis neben den (durchaus
noetigten) level-ergaenzugnen fuer trves auch mal sowas wie 
ein konzept oder idee erkennbar ist.

-----------------------------------------------------------------------------



Re: Re: GL 25-27 (Zook, 20. Jan 2010, 12:25:55):
~#! rn=Vector rt=1263983516 rg=gilden.kaempfer
~#! tid=1263497078
also an dem versanden (guter ausdruck, wenn es um tsunami geht, gell?)
der "grossen quest" hab ich auch so meine mitschuld. aber wir haben
damals schon ne ganze menge code gestrickt. zook

-----------------------------------------------------------------------------



Re^3: GL 25-27 (Zook, 20. Jan 2010, 12:27:20):
~#! rn=Zook rt=1263986755 rg=gilden.kaempfer
~#! tid=1263497078
Wobei ... ich weiss gar nicht, ob in dem Gebiet FPs vorgesehen waren .. ;) 
Z

-----------------------------------------------------------------------------



Re^4: GL 25-27 (Piga, 20. Jan 2010, 12:35:56):
~#! rn=Zook rt=1263986840 rg=gilden.kaempfer
~#! tid=1263497078
Gab es damals ueberhaupt schon FPs?? 

-----------------------------------------------------------------------------



Re^5: GL 25-27 (Zook, 20. Jan 2010, 13:03:33):
~#! rn=Piga rt=1263987356 rg=gilden.kaempfer
~#! tid=1263497078
Ich kann bestaetigen: Ja, die gab es. 
Zook.

-----------------------------------------------------------------------------



Re^3: GL 25-27 (Ark, 20. Jan 2010, 14:36:47):
~#! rn=Zook rt=1263986755 rg=gilden.kaempfer
~#! tid=1263497078
Tjaja, ich bekenne mich da auch schuldig. 6 Raeume fertig, der Rest ... hm,
hatte zwischendurch was angefangen, was mehr Besucher versprach. Wenn ich das
7x mache, sind alle vollendet ... 2015 oder so.
Mal schaun, was da noch geht.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Re: GL 25-27 (Gabylon, 21. Jan 2010, 00:27:41):
~#! rn=Vector rt=1263983516 rg=gilden.kaempfer
~#! tid=1263497078
>man moege mich korrigieren, wenn ich mich irre, aber jahrelang
>(jahrezente lang?!) wurden alle vorschlaege abgebuegelt mit
>"diese aufgabe muss mehr sein, als haue npc x oder mache quest y
>oder erreiche a xp oder sammle b fps" 

Da magst du zunaechst mal Recht haben.
Die Quest fuer Level24+ sollte was irres, grosses sein. Eine tolle Aufgabe,
an der man sich "beweisen" kann. Aber weisst Du was? Die sollte eigentlich
schon fuer die 23er Bedingung sein. Daher auch die inoffizielle Bezeichnung
"Generalsquest". Sie wurde jedoch nach hinten verschoben.
a) Weil sie einfach noch nicht fertig war,
b) damit man eeeendlich Spieler im Generalsrang hatte, quasie zur Zierde.
   Lernen tut man naemlich auf GL 23 nix mehr.


>immer wurde auf "die grosse ueberquest" fuer die trves-generaele
>verwiesen, an der ja immer mindestens 5 magier schon jahre dran
>waren und das konzept wuerde schon stehen etc
>(zumindest hatten/haben genuegend magier diese quest im projekt)
>schon als tsunamis gladischule angeschlossen wurde, hat man gedacht
>"hossa nun koennte es losgehen mit der generalsquest"

Soll ich Dir noch was verraten?
Aber psst, nicht weitersagen, ja? Sie wird nicht kommen.
Oh nein, hab ich Dir jetzt ein paar Traeume zerstoert? Mag sein, aber das
musste ja mal einer machen.

Wie Zook und Ark schon schrieben und Du ja auch schon richtig vermutet hast:
es waren mal ein paar Magier dran, haben ein paar Raeume produziert, haben
es dann versanden lassen. Mal abgesehen davon, dass die Leute, die angefan-
gen haben, den Code zu schreiben, sich zu dem Zeitpunkt der Arbeitswieder-
aufnahme nur vage an das erinnern werden, was schon geschrieben und was noch
zu tun waere, koennte man - bedingt durch Umstellung auf LDMud und einigen
Funktionsaenderungen - den Code eh einstampfen: die juengste verfasste Zeile
ist momentan mit Sicherheit fuenf Jahre alt.

Und es gibt einen weiteren Grund, warum sich der "Ueberquest" keiner an-
nehmen moechte, mich eingeschlossen: zu viel Aufwand fuer zu wenig Ergebnis.
WUUUUUUUUUUS? Das ist ja... die Hoehe! Also nein! Er hat Jehowa gesagt!
Caldra und ich haben ein halbes Jahr lang unsere Wochenenden damit verbracht,
die Subguilds im allgemeinen und das Amazonendorf im Speziellen zu entwic-
keln. Nicht dass wir das nicht gerne gemacht haetten, aber es hat eben auch
viel Zeit und Muehe gekostet.
Wenn ich mir aber anschaue, wer sich tatsaechlich jetzt schon im neuen Gebiet
umgeschaut hat, kann ich das an einer Hand abzaehlen (nein, mit viel mehr
haben wir auch gar nicht gerechnet, ich will nur auf einen Vergleich hinaus).

Zudem habe ich nach Subguild-Anschluss einen Brief an alle inaktiven
Generaele verfasst, von denen eine email-Adresse bekannt war, um ein
bisschen Werbung fuer die Neuerungen der letzten Zeit der Gilde zu betreiben.
Das waren insgesamt so ca. 20 Briefe.
Die einzige Reaktion, die zurueckkam, war: "Hm, dann lohnt es sich ja fast
wieder zu spielen.". Fast. Neu eingeloggt hat sich seitdem aber niemand.

Ergo: wenn schon die bisherigen Veraenderungen keinen hinterm Ofen hervor-
gelockt haben, darfst Du genau einmal raten, wieviele es sein werden, wenn
es eine grosse Befehls-Metzel-Quest gibt, die nur dafuer da ist, ihnen
den Weg nach oben zu versperren.

Rundheraus kann man es auch so sagen: wir schliessen GL 24-27 unter anderen
Bedingungen an, oder eben gar nicht. Und ich denke *ein* Taramismythos reicht
doch pro MUD, oder?


>joooo hol noch ein paar eks oder fps und werde parapostmeister
>glaub wenn da ein erstie-trves seine ehrliche meinung dazu sagt
>koennte er 2 wochen spielpause kriegen, ich meine: come on,
>genau das was jahrelang so verneint wurde ist nun dran,
>und fps als trves die die eks ersetzen koennen? ahahaha sry
>da wuerden sich EINIGE alten trves im grab umdrehen, ist ja
>schon fast bierschuettler-maessig. fps ersetzen das metzeln....

Bierschuettlermaessig ist momentan nur Dein Gejammere. Nicht mal mehr
zauberermaessig. Wenn Dein Zweitie auf Anhieb GL 24 geworden waere, haettest
Du Dir *diesen* Absatz gespart, da bin ich mir sicher. Nein, aber so musst
Du ja noch forschen und/oder metzeln gehen. So voellig untrvesmaessig!

Letztendlich muss man irgendwelche Kriterien fuer Gildenlevel heranziehen.
In den unteren Bereichen sind eher Skills, Gildenquestpunkte und Spielerlevel
gefragt, wer sich mit oberen GL schmuecken will, muss dafuer im FP/EK-Bereich
etwas vorweisen koennen, Zweitie hin oder her.


>und das ne bestimmte quest als pflicht niemals haltbar ist, haben
>selbst die zaubis nach ein paar jahren gemerkt (damals war fuer
>lvl 9 archi und infero pflicht)

Dabei ist die Sache mit der Postquest nichtmal auf meinem Mist gewachsen,
sondern - hoert hoert - von einem Trves-General, der sie ironischerweise
noch nicht einmal hat.
Natuerlich ist die Pflicht haltbar. Wer sie macht, kommt weiter, wer nicht,
hat in den oberen Leveln auch nichts verpasst.
Ich erinnere nochmal: GL 24-27 sind zu 99% reine Zierde, bei den Zauberern
faengt auf Level 9 der Spass erst an. Das ist wohl der Unterschied.


>wenn ihr trves-magier wirklich leute haben wollt, die wieder
>als trves spielen, und vor allem auch die subguilds be-spielen,
>dann solltet ihr euch wirklich ne idee einfallen lassen, anstatt
>bestehende huerden stupide nochmal ein paar cm hoeher legen,
>und nach der langen wartezeit haette es "das mud" noch verschmerzt
>ein jahr mehr auf lvl 24-27 zu warten bis neben den (durchaus
>noetigten) level-ergaenzugnen fuer trves auch mal sowas wie 
>ein konzept oder idee erkennbar ist.

Du hast uns zwar mit Deinem "Alles-ist-Scheisse"-Rundumschlag bequem und
umfassend Deine Meinung geliefert, nur gebracht hat es nichts.
Wenn Du einzelne Punkte sachlich kritisierst, sollten auch gleich vernuenf-
tige Verbesserungsvorschlaege folgen, das nennt man dann "konstruktiv".
Wenn aber nur Gequake kommt, kann ich damit nicht viel anfangen.

Du darfst mir gerne ein umfassendes - und selbstredend besseres - Konzept
nebst Code liefern (programmieren kannst Du, nehme ich an), oder zumindest
fuer beide Bereiche Deine selbstlose Hilfe anbieten (was hat Dich eigentlich
bisher daran gehindert?).
Wenn das Konzept sehr ueberschaubar und programmierzeitsparend ist, darfst
Du den Code auch weglassen.


gab

-----------------------------------------------------------------------------



Re^3: GL 25-27 (Zook, 21. Jan 2010, 13:11:41):
~#! rn=Gabylon rt=1264030061 rg=gilden.kaempfer
~#! tid=1263497078
> Wie Zook und Ark schon schrieben und Du ja auch schon richtig vermutet hast:
> es waren mal ein paar Magier dran, haben ein paar Raeume produziert, haben
> es dann versanden lassen. Mal abgesehen davon, dass die Leute, die angefan-
> gen haben, den Code zu schreiben, sich zu dem Zeitpunkt der Arbeitswieder-
> aufnahme nur vage an das erinnern werden, was schon geschrieben und was noch
> zu tun waere, koennte man - bedingt durch Umstellung auf LDMud und einigen
> Funktionsaenderungen - den Code eh einstampfen: die juengste verfasste Zeile
> ist momentan mit Sicherheit fuenf Jahre alt.

Ich weiss nicht, woher Du das alles nimmst. In meinem Projekt sind
ziemlich viele Raeume und viele Funktionen geschrieben worden. Und
einstampfen wuerde ich das keinesfalls.

Falls es Dir nicht ausmacht: Schau doch erst mal nach, bevor Du
solche Behauptungen aufstellst.

Zook.

-----------------------------------------------------------------------------



Re^3: GL 25-27 (Zook, 21. Jan 2010, 13:12:05):
~#! rn=Gabylon rt=1264030061 rg=gilden.kaempfer
~#! tid=1263497078
> Rundheraus kann man es auch so sagen: wir schliessen GL 24-27 unter anderen
> Bedingungen an, oder eben gar nicht. Und ich denke *ein* Taramismythos
reicht
> doch pro MUD, oder?

Das hat aber nicht mit dem eigenen Zweitspieler zu tun, oder?

Zook.

-----------------------------------------------------------------------------



Re^3: GL 25-27 (Zook, 21. Jan 2010, 13:13:59):
~#! rn=Gabylon rt=1264030061 rg=gilden.kaempfer
~#! tid=1263497078
Eine generelle Anmerkung und die meine ich sehr ernst:

Befleissige Dich zukuenftig eines anderen Umgangstons und lass
das alberne Rumgeflame hier in der MPA. 

Ansonsten betreibe ich Deine Demission.

Zook.

-----------------------------------------------------------------------------



Re^3: GL 25-27 (Zesstra, 21. Jan 2010, 20:53:43):
~#! rn=Gabylon rt=1264030061 rg=gilden.kaempfer
~#! tid=1263497078
> bedingt durch Umstellung auf LDMud und einigen Funktionsaenderungen - 
> den Code eh einstampfen
Auf diesen Punkt moechte ich speziell mal eingehen, weil es mich etwas
beruehrt: es ist definitiv nicht so, dass durch die Umstellung auf LDMud 2006
aelterer Code eingestampft werden muss. Eine Anpassung des Codes ist in aller
Regel mit geringem Aufwand moeglich. Waere das nicht der Fall, haette wir
(also ich und 3-4 andere) nicht innerhalb von 2 Monaten mehrere hundert MB
Quellcode fuer die Migration vorbereiten koennen. (Wir haben schliesslich
nicht das Mud neugeschrieben.)
Gleiches gilt fuer Mudlibaenderungen seitdem. Da ist nichts komplett
grundlegendes dabei. Klar, dass man stellenweise anpassen muesste. Aber ich
sehe nicht, dass das der alleinige Grund fuer eine Projektaufgabe sein kann.

Zesstra

-----------------------------------------------------------------------------



Re^4: GL 25-27 (Gloinson, 21. Jan 2010, 21:05:09):
~#! rn=Zesstra rt=1264103623 rg=gilden.kaempfer
~#! tid=1263497078
Das kann ich bestaetigen, wir hatten das MUD Regenbogen zu zweit innerhalb
weniger Tage auf LD umgestellt. Die groesste Aenderung waren die diverse
map_xxx -> map, der Rest war immer mit gawk/sed umstellbar.


-----------------------------------------------------------------------------



Re^3: GL 25-27 (Vector, 21. Jan 2010, 22:03:34):
~#! rn=Gabylon rt=1264030061 rg=gilden.kaempfer
~#! tid=1263497078
wir diskutieren ein wenig aneinander vorbei. das einzige was ich
hier ankreide ist, das aus dem jahrelangen "wir machen was tolles"
fuer die oberen range, ein stupides (vllt auch nur temporaeres)
hole-mehr-eks-und-fps geworden ist. im prinzip wie beim sehertum.

damit will ich in keinster weise die arbeit herabwuerdigen die
ihr euch fuer die neuangeschlossenen gebiete gemacht habt
(ganz ehrlich: wenn ich magier waere, wuerde ich angesichts
der spielerzahlen hier im mud keine einzige zeile neuen code
mehr raushauen, hoechsten den alten am laufen halten)

mir jedoch zu unterstellen, meine kritik sei nur jammerei weil
mein ach so toller xtie die huerde nicht direkt gepackt hat
hmja auch nicht wirklich die feine englische art.

meine aktivitaet seit knapp zwei jahren im mud: quasi null.
wenn ich nicolai mal in die hand nehmen wuerde, waere der LOCKER
in weniger als einer RL-woche auf der level, nur die frage:
fuer was denn?
und weil ich hier mud/metzelmaessig im standby-modus bin steht
es mir nimmer zu, meine meinung zu entwicklungen zu sagen?

ich bleibe dabei: ne bestimmte quest als pflicht rauszupicken
ist ein schuss in ofen (gut, du verteilst schonmal vorsorglich
den schwarzen peter an den spieler, der dir das vorgeschlagen
hat). 
mit der moeglichkeit: "geh forschen statt metzeln" verabschieden
sich die trves nun vollens von der metzelfront, und gehen
in die bluemchenpfluecker-ecke.
schonmal die eigenen npcs im struv nach forschen gefragt?
dann das mal nachholen (und entsprechend die addinfo anpassen haha)


-----------------------------------------------------------------------------



Re^3: GL 25-27 (Ark, 22. Jan 2010, 20:30:51):
~#! rn=Gabylon rt=1264030061 rg=gilden.kaempfer
~#! tid=1263497078
Noch eine kleine Anmerkung, slightly off topic:
Die Werbeaktion fuer das neue Gebiet in allen Ehren, find ich gut, aber die
Erwartung, wenige Tage nach Anschluss in dem Gebiet mehr als nur die erwaehnte
Hand voller Leute zu sehen, ist nicht so richtig realistisch.
Im Vertrieb machen wir bei Kunden eine Potentialanalyse:
Zielkunde ist zu charakterisieren, das Gebiet faellt imho unter die Kategorien
"Spielerlevel>30", "forschintensiv", "fuer risiko/todesbewusste Spieltypen",
"dem Metzeln nicht abgeneigte Spieler", "Akhar N'thar kundige Spieler", "Trves
affine Spieler", "Trves by nature", "Neugebiet ausprobierende Spieler", ggf.
"ZT suchende Spieler" und "sich willig in neue Gebiete schleppen lassende
Spieler".
Erstmal viele Kategorien, prima. Allerdings sehen wir unsere Kundschaft dann
doch eher in dem Vielspielersegment, denn unter dem
Gelegenheitsspieler/Daueridler/Da-aber-net-do Spieler Segment, dazu noch die
Nebenbedingungen, Zeit, Lustfaktor, und schwups bist Du eben bei der Handvoll
Spieler, die die Bedingungen UND die zeitlichen Dependancen erfuellen, und
Dich gleich mit Erfahrungen und vollem Repfile begluecken.
Wenn das zu aufwaendig fuer den sofortigen Erfolg erscheint, gibt es nur eins:
kleines Gebiet fuer kleine Spieler mit 10AP Punkte simpelbimpel Quest (laesst
sich ganz oben auf der Questliste positionieren und ist damit ein roter
Blinkipfeil fuer den unselbstaendigen, ausprobierenden Anfaenger) und leichten
ZTs (da kommt der Erfolg aber auch erst entsprechend spaeter, dafuer sind das
dann "Wiederkaeufer", wenn auch zwangsweise). Dazwischen gibt es noch viele
Variationen, die man noch ausprobieren kann.
Und das mit dem Veroeffentlichen nicht nur in Spezialinteressenrubriken der
MPA hatten wir ja schon geklaert :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^4: GL 25-27 (Gabylon, 23. Jan 2010, 01:23:32):
~#! rn=Vector rt=1264107814 rg=gilden.kaempfer
~#! tid=1263497078
Bei diesem freundlicheren Ton lass ich doch auch gleich meine Ironie weg.

Ich weiss, ich war auch jahrelang (als Spieler) auf die Ueberquest gespannt.
Ich gehe jedoch davon aus, dass das aus verschiedenen Gruenden nichts wird.

Die Moeglichkeiten, die wir mE haben:
- darauf warten, bis die Magier, die den Code angefangen haben, weiter-
  programmieren. Das kann lt. Arks Artikel also bis 2015 oder laenger dauern.
- Uns mit den gegebenen Umstaenden abfinden und uns etwas neues, leichteres
  ausdenken. Und da kommt ihr ins Spiel: was koennte das sein? Wie koennte
  man das gestalten? etc.

Wenn sich die Mehrheit der aktiven Trves fuer den ersten Punkt ausspricht:
gut, dann warten wir. Theoretisch kann das aber eben auch nochmal 10 Jahre
dauern.

Die Postquest fuer Level 24 ist so schlecht nun auch wieder nicht gewaehlt.
Es ist eine Huerde, ja, aber keine zu grosse. Mit etwas Motivation schafft
man das also. Ich fand den Vorschlag ganz gut, der schwarze Peter geht also
an mich.

Mit der Wahl zwischen Forschen und Metzeln (man muss ja nicht waehlen, man
kann immer noch beides tun), tun wir den Leuten einen Gefallen, die das
eine nicht so gut koennen wie das andere, trotzdem aber gerne aufsteigen
wuerden. Wenn wir nur auf abnorm hohe EK-Grenzen bzw. XP-Grenzen setzen,
wird kaum jemand in die oberen Raenge gelangen.
Es gibt auch Generaele, die haben sehr wenig EK bzw. XP, die wuerdest Du
damit sofort entmutigen.

Natuerlich darfst Du Deine Meinung zum aktuelle Stand der Entwicklung
kundtun, nur finde ich, dass Kritikaeusserungen ohne entsprechende
Verbesserungsvorschlaege immer etwas... suboptimal sind.

Und eine Herabwuerdigung unserer Arbeit hatte ich so auch nicht verstanden,
ich zog den Punkt nur heran, um einen Vergleich aufzuzeigen.


gab


p.s. Ark, die Werbeaktion hatte die wichtigsten Neuerungen der letzten Jahre
     zum Thema, nicht nur das aktuelle Gebiet.

-----------------------------------------------------------------------------



Re^5: GL 25-27 (Anatol, 27. Jan 2010, 10:17:57):
~#! rn=Gabylon rt=1264206212 rg=gilden.kaempfer
~#! tid=1263497078

Das Problem haette auch mit einem Suchen&Ersetzen ueber das Trves-Konzept
geloest werden koennen (s/27/23/g). Ich kann mich nicht daran erinnern, 
dass ein Stufe-23-Trves in seiner potentiellen Kampfkraft irgendwie hinter
anderen auf Action ausgelegte Gilden zurueckblieb.

Aber toll, dass Du Dich noch so fuer das Mud engagieren moechtest, Gaby!


-----------------------------------------------------------------------------



Neuer alter Kragen (Gabylon, 14. Feb 2010, 01:36:54):
Hi Trves,


seit Crash ist der Kragen technisch gesehen keine Ruestung mehr, sondern
einfach nur noch ein "clothing". Dies hat den Hauptvorteil, dass der
Kragen nun in Kaempfen von der lib voellig ausser Acht gelassen wird,
das spart etwas Rechenzeit.

Desweiteren wird die Ausbildung jetzt via Events realisiert. Es sollte
alles wie gewohnt funktionieren, mit dem kleinen Unterschied, dass sich
die Benachrichtigung ueber das erlegte Monster um 1-2s verzoegern kann.
Wenn es Auffaelligkeiten geben sollte, die darueber hinausgehen, bitte
ich euch, mich anzusprechen bzw. anzuschreiben.


gab

-----------------------------------------------------------------------------



Re: Neuer alter Kragen (Zesstra, 14. Feb 2010, 22:34:45):
~#! rn=Gabylon rt=1266107814 rg=gilden.kaempfer
~#! tid=1266107814
Den Vorteil der Umstellung auf Hooks hast Du vergessen. ;-) Der Die-Hook vom
Gegner wird nicht mehr vom Kragen blockiert.

Zesstra

-----------------------------------------------------------------------------



Re: GL 25-27 (Derin, 14. Mar 2010, 10:44:33):
~#! rn=Gabylon rt=1263497078 rg=gilden.kaempfer
~#! tid=1263497078
Huhu,

eine etwas spaete Antwort, aber ich hatte ja inzwischen etwas Zeit, mir eine
Meinung zu bilden.

> Was soll der Pruefling tun muessen?

Es faellt mir schwer, dazu etwas zu sagen. Ich finde es schoen, dass etwas
passiert und dass hoehere GL nun zugaenglich werden. Aber mir stellt sich
eine andere Frage: Was kann man anbieten, um Spieler zu motivieren, hier
vermehrt zu spielen? Ich meine damit nicht die ueblichen Vielspieler, die
dem Mud eh schon lange die Treue halten. Ich gucke einfach mal die Liste
der Generaele durch und schaue, wer von denen nicht mehr aktiv (dauer-)
spielt.

Und da kommen wir zu einem Punkt: Wie soll es jetzt weitergehen? Die Huerde
fuer GL 24 haengt nun so hoch, dass man realistisch wohl erst deutlich
jenseits
von Spielerlevel 100 die Voraussetzung erfuellt. Was soll man anbieten, wenn
der alte Ex-General sagt "Ja, aber fuer GL 25 muss ich erstmal die 24
erreichen,
mit Postmeisterquest, und rund tausend EKs oder FPs ..."?

Aus meiner Sicht hat GL 24 ganz klar die Vielspieler mit 10 Mudjahren auf dem
Buckel von den juengeren bzw. Wenigspielern abgegrenzt. Was momentan jenseits
der GL 24 passiert, ist aus meiner Sicht zur Zeit leider eh das Privatver-
gnuegen einer einstelligen Spielerzahl.

Ich moechte nicht darueber hinwegtaeuschen, dass ich momentan wieder sehr viel
Spass am mudden habe. Aber das liegt nicht an den Entwicklungen meiner Lieb-
lingsgilde.

Derin.

-----------------------------------------------------------------------------



Re: Re: GL 25-27 (Srabi, 15. Mar 2010, 05:37:42):
~#! rn=Derin rt=1268559873 rg=gilden.kaempfer
~#! tid=1263497078
Hallo Derin...
gerade habe ich gelesen, von wegen 1000 EKs. Da muss ich als Wurstseher sagen,
die sind aber nun wirklich zu schaffen :-)
Naja die Postmeisterquest ist nicht ohne, ich haenge da auch schon seit
einigen Wochen / Monaten drin. Es ist doch ein guter Anreiz fuer das
Team-Spielen. In anderen Gilden ist der / die oberen Gildenlevel auch nicht
mit einem Spaziergang zu erreichen. Die Kleriker muessen, wenn sie pech haben,
das Seherraeuberlager ausraeumen, wir muessen uns gegenseitig umnieten (es
lebe das Chaos) und bei den anderen Gilden sieht es soweit ich weiss, auch
nicht anders aus.

Klar, die Spieleruahlen gegen leider etwas zurueck, das hat aber jetzt nichts
mit dem MorgenGrauen oder den hohen Anforderungen zu tun, das ist leider so
und das MorgenGrauen hat noch immer die hoechste Spielerzahl neben dem
Unitopia. 

Bei Euch ist der Gildenlevel 24 und hoeher doch zu schaffen, haben doch schon
einige ;-)

So genug geschrieben.
So genug geschrieben.
Srabi

P.S.: Ehe das Allgemeine Gemecker losgeht...ich habe mich nicht beschwert und
ich bin kein Kaempferexperte. Hab das nur aus dem Zusammenhang gesehen.

-----------------------------------------------------------------------------



Re^3: GL 25-27 (Xutelius, 15. Mar 2010, 10:07:50):
~#! rn=Srabi rt=1268627862 rg=gilden.kaempfer
~#! tid=1263497078
Moin,
du vergleichst den Erzmeisterkampf der Chaoten mit 1k eks, die zugegeben nicht
schrecklich viel sind, der Para-Postquest, die beim ersten speielen Wochen in
Anspruch nehmen kann, und ich weis nich wievielen FPs, die erstens unheimlich
viel Zeit in Anspruch nehmen koennen und zwetiens fuer ne Kaempfergilde
ziemlich laecherlich sind? Darf ich mal laut lachen? Was hast du denn geracht?
Xut*, sich immernoch fragend, ob dein Artikel ein Scherz sein sollte.

-----------------------------------------------------------------------------



Re^4: GL 25-27 (Nicolai, 15. Mar 2010, 11:23:40):
~#! rn=Xutelius rt=1268644070 rg=gilden.kaempfer
~#! tid=1263497078

Randbemerkung: Derin meinte 1000 ZUSAETZLICHE Eks :)

Randbemerkung2: Im Finger von Nicolai steht eine Formel
(die bisher ganz gut zu passen scheint, Fehler gerne an mich)

Randbemerkung3: Um mal die Dimensionen von lvl 24 klar zu machen:
Nicolai ist kurz vor Lvl 116 und es reicht noch knapp nicht :)
Ich vermute bei seinen 1650 EKs wird er 30 Runen brauchen.

Die Frage ist, wie sinnvoll ist es, den alten Generaelen
emails zu schicken "kommt ins mud es gibt was neues", nur
damit diese feststellen, das ihnen nichtnur Quests fehlen,
und Skills (neue Waffengattung), sondern auch VIELE fps
(die alte Haudegen wurden immerhin ohne fps Seher), und ob
ein Aeneas oder Kiu bei ihrer Rueckkehr dann so die Lust auf
forschen haben, wer weiss....

Glaube der Grundtenor von Derins Post war, das der Bruch was
Anforderungen angeht von lvl 23 auf 24 unglaublich hoch ist,
und fuer die meisten "zu hoch" sein duerfte, als das man mit
Spass gezielt auf den Levelaufstieg hinarbeitet.
Die Levelanforderungen fuer 24 sind dermassen hoch angesetzt,
das bereits jetzt fuer 25 die Ideen zu fehlen scheinen, was
man noch alles jenseits davon verlangen koennte.

Bisher gibs 6 Lvl 24, wenn es dieses Jahr noch 2 mehr werden,
ist das meiner Ansicht nach schon viel.




-----------------------------------------------------------------------------



Re^5: GL 25-27 (Fahnder, 15. Mar 2010, 12:37:00):
~#! rn=Nicolai rt=1268648620 rg=gilden.kaempfer
~#! tid=1263497078
Hi,

jetzt will ich mal als einer der ALTEN Haudegen meinen Senf dazugeben.
Ich hab ja jetzt auch versucht meinen Rueckstand an Forscherpunkten aufzuholen
und das nicht zu knapp (12 Runen bisher zusaetzlich), aber ich bin auch der
Meinung dass es zu viel ist. Was will ich als Kaempfer der gerne Monster
weghaut mit Bluemchen? Jetzt wird sicherlich der eine oder andere sagen, ja
wenn er keine Bluemchen pfluecken will, soll er doch eks holen. Leichter
gesagt als getan, ich hab bisher 1464 Eks und war damals als es noch nicht
darum ging Monster in questgegenden zu hauen um stupse zu bekommen einfach zu
friedlich. Nun soll ich anfangen alle Questgegenden nochmal abzugrasen um die
noetigen Anforderungen zu erfuellen sei es FPs oder Eks (es wuerde bei mir ja
definitiv beides rausspringen). Ich denke das wird die meisten die jemals
wiederkommen abschrecken. 
Zur Parapostquest als Anforderung nun gut, den Schuh muss ich mir anziehen,
ich hatte sie als Vorschlag gemacht, weil ja die ewig aufgeschobene tolle GQ
fuer Generaele scheinbar nie kommt. Deswegen werd ich mich mal nicht dazu
aeussern.
Vielleicht kann man ja die Wertigketi bestimmter Eks anders einstufen gegen
"normale", viele der Generaele haben halt grosse oder "sehr grosse" EKS die
halt in dem System nur als EINS zaehlen. Und ein Gardewaechter-EK ist nunmal
nichtgleichzusetzen mit einem Drachengott-EK.
So dass solls erstmal gewesen sein von mir.

Fahnder


-----------------------------------------------------------------------------



Re^6: GL 25-27 (Gabylon, 18. Mar 2010, 00:04:06):
~#! rn=Fahnder rt=1268653020 rg=gilden.kaempfer
~#! tid=1263497078
Hi Trves,


vielen Dank fuer Eure Kommentare.


@Derin:
mit einer Sache hast Du sicherlich Recht: die Gilde soll auch (wieder) fuer
Altspieler attraktiver werden. Aber ehrlich gesagt, ich glaube nicht, dass
das Wiedereinloggen und Spielen fuer Altspieler davon abhaengt, welche
Huerde sie irgendwann mal zu nehmen haben. Wenn sie sich einloggen, werden
sie eh erstmal von so vielen Neuerungen erschlagen, dass Huerden in ferner
Zukunft wohl erstmal gar nicht interessieren.

Anders aber die aktuellen Spieler, auf die ich ohnehin mehr Augenmerk
richten wuerde (ob sich Altspieler grundsaetzlich nochmal einloggen, ist ja
ungewiss): diese erwarten neue Sachen, Aufgaben, Anforderungen.
Natuerlich nicht zu hoch, aber eben auch nicht zu niedrig. Man will ja
noch was zu tun haben.
Sei ehrlich: haettest Du Dich ueber den Guertel auch so ausgiebig gefreut,
wenn Du ihn geschenkt bekommen haettest?


@Vector:
Die Huerde hat zunaechst mit dem Spielerlevel wenig zu tun.
Und wie moechtest Du denn ansonsten noch Werbung fuer Altspieler machen,
wenn nicht durch e-mail? Flyer zuschicken? Hausbesuche? Kekse mitbringen? :)

Die bisherige Reaktion (naemlich keine) hat mir deutlich gemacht, dass
die meisten Altspieler wohl mehr oder weniger mit dem MG abgeschlossen
haben; egal, was hier passiert oder geaendert ist, es interessiert sie
schlicht nicht mehr - oder vielleicht auch wegen vieler Aenderungen?

Die Levelanforderungen sind hoch, ja, aber wie gesagt, man soll eben auch
nicht durchflutschen koennen. Bei der Festlegung haben Caldra und ich
vorher geschaut, wieviel Spieler bei diesen und jenen Zahlen ad hoc die
Grenzen passieren wuerden. Wir haben uns also schon Gedanken darum gemacht.

Unserer Meinung darf der Bruch zwischen 23 und 24 so gross sein, da GL 24
(fast) nur als Schmuck dient. Anders als zB bei den Zauberern, bei denen
zwar GL 9 ein Quantensprung hinsichtlich der Faehigkeiten bedeutet, ein
groesserer Bruch in den Anforderungen aber den mittelfristigen Spielspass
beeintraechtigen wuerden.


@Fahnder:
Zugegeben, die GANZ alten Saecke, mit ihrem FP-Problem haben ein bisschen
das Nachsehen. Ich sags mal aus eigener Erfahrung: alte Gebiete abzuforschen
kann auch seinen Reiz haben. Das ist natuerlich Geschmackssache, aber eine
Ausnahme fuer die Ur-ur-Spieler kann es deswegen nicht geben.

Ein Gardie ist kein Drachengott, richtig. Wenn man die Wertigkeiten voll
anrechnet, hat man aber das Problem des Verschenkens. So kriegt also einer
sechs Stufen fuer sechs grosse Monster angerechnet, wo andere sechshundert
verschiedene Garde- und Elfenwaechter metzeln muesste, nur weil er
moeglicherweise nicht die richtigen Namen auf dem F-Band hat.
Dies sind natuerlich Extremwerte, aber ich hoffe, sie verdeutlichen das
Problem.

Ich sehe aber auch den grundsaetzlichen (und verstaendlichen) Wunsch, grosse
Kills hoeher in die Wertung einfliessen zu lassen. Ich werde mir mal in den
naechsten Tagen Gedanken darueber machen und hoffentlich noch im Laufe des
aktuellen Monats eine adaequate Loesung finden.
Wer Vorschlaege diesbzgl. hat, darf sie mir gerne mailen, von Fahnder habe
ich schon den ersten.


gab

-----------------------------------------------------------------------------



antwort auf 29 (Derin, 24. Mar 2010, 11:46:38):
Huhu,

zunaechst: Danke fuer Deine konstruktive Antwort. :)

Ich denke, das eigentliche Problem ist nicht, wie und ob man Altspieler
wieder anlockt. Das eigentliche Problem ist, dass die Schere innerhalb der
Generaele sehr weit auseinanderklafft.

Du hast eine Reihe von Spielern im Levelbereich 65-80 (mit den dem Level
entsprechenden Zahlen an EKs bzw. FPs) und nach einer gewissen Luecke dann
die Generaele im Levelbereich 105-150 (den man auch noch weiter unterteilen
koennte, soll aber zum Veranschaulichen reichen).

Und hier sieht man schon, warum man mit _einem_ neuen Feature in der Gilde
nicht fuer alle Spieler eine Motivation schaffen kann, die eine gewisse
Huerde darstellt, aber dennoch schaffbar ist. Wenn man etwas fuer den oberen
Levelbereich schafft, dann sehens die Kleinen nichtmal am Horizont. Wenn man
etwas fuer den unteren Levelbereich schafft, dann koennen die oberen Raenge
einfach durcherhoehen.

Um direkt auf Deine Worte Bezug zu nehmen: Ich haette mich fuer einen
geschenkten Gurt nicht so gefreut, richtig. Aber die Huerde war sozusagen
erreichbar, ich hatte eine direkte Motivation.

Ich habe aber einfach schlichtweg das Ziel nicht in Sicht, wenn ich sage: Fuer
GL 24 muss ich erstmal EKs/FPs im Werte von 30 Spielerstufen besorgen. (Ich
habe hier einfach mal 10 Stufen unterschlagen, mir fehlen ja auch noch Quests,
die die "Grossen" sicherlich schon absolviert haben.

Ich hoffe, ich habe nun etwas mehr Licht in mein vorheriges Posting gebracht.
:)

Bis bald,
Derin.

-----------------------------------------------------------------------------



Re^7: GL 25-27 (Slax, 27. Mar 2010, 18:01:11):
~#! rn=Gabylon rt=1268867046 rg=gilden.kaempfer
~#! tid=1263497078
Hallo,
ich spiele zwar nicht mehr (oder nur noch sehr sehr selten) im MG, wollte mich
aber mal an der Diskussion beteiligen.
Meines Erachtens sollten zunaechst die Skills und Gimmicks stehen und
bekanntgegeben werden, die die neuen Gildenstufen mit sich bringen. Ohne
erstere fehlt ein Anreiz zweitere ueberhaupt in Angriff zu nehmen. Ich glaube
mich zu erinnern, dass bereits GL 23 keine Neuerungen auszer dem Titel mit
sich brachte, oder? Und was genau bedeutet "(fast) nur Schmuck" bei GL 24?
Gibt es bereits schon Ideen und Vorstellungen fuer neue Fertigkeiten? Ich lese
ja nur sehr sehr sporadisch die MPA im Netz und es mag sein, dass ich da etwas
nicht mitbekommen habe...
Was ich mir an neuen Faehig- und Fertigkeiten bei Generaelen u.a. gut
vorstellen koennte, ist folgendes:
01. spezielle Waffen und Ruestungen, die nur von diesen benutzt werden koennen
02. das Identifizieren von magischen Eigenschaften bei Gegnern
(Anfaelligkeiten etc.)
03. das Zuecken von zwei Einhandwaffen (linke und rechte Hand)
04. Teambonus auf Angriff und Verteidigung durch 'Kampfbefehle' in einem Kampf
bei einem Team mit Mindestgroesse drei und dem General als Teamleiter
05. Teambonus auf die Kampfgeschwindigkeit fuer die ersten xx Sekunden durch
'Moralansprache' vor einem Kampf
06. (Teambonus) 'Rast' fuer schnellere Regeneration, ohne Tanken zu muessen
(nur aller xx Minuten bei geschlossener Gruppe ohne anwesende Feinde moeglich)
07. ein weniger an KP-Kosten fuer einige Faehigkeiten oder ein
Instant-KP-Anstieg von xx %
08. Waffenschmiedeskill (obwohl das eines Generals vielleicht unwuerdig sein
mag)
09. Reiten und der Kampf zu Ross (outdoor)
10. man koennte auch Mali einbauen, wenn bestimmte Boni zu hoch erscheinen:
z.B. hoehere Behandlungskosten beim Heiler oder ein staendiges Absinken von
Kraft und oder Geschick bis zu minus x, wenn nicht regelmaeszig gekaempft oder
im Uebungsraum trainiert wird
Bei der Frage nach einer geeigneten Gildenaufgabe, bei der "Fuehrungs- als
auch Kampfkraft unter Beweis gestellt werden" soll, schossen mir eigentlich
zwei (bereits vorhandene) Dinge durch den Kopf. Zum einen die Waage der
Gerechtigkeit von den Tanjian und zum anderen die schwarzen Skelette. Erstere
hat mir - soweit ich mich zurueck erinnere - mit am meisten Spass im MG
gemacht und ich fand es immer schade, dass es soetwas aehnliches nicht bei den
Trves gibt. Man koennte auch fuer die Kaempfer eine Liste schwerer (Zufalls-)
Gegner erstellen - wobei, wie bei der Waage d. Gerechtigkeit, nicht
ersichtlich ist, wann sie endet und immer nur ein Gegner angezeigt wird, der
'abgearbeitet' werden muss -, die zu Beginn noch einzeln, zum Ende hin aber
beinahe nur im Team zu schlagen sind. Zugegeben, sehr innovativ ist die Sache
nicht. Der Siegelring der Chaoten, das Drachentoeteramulett u.a. basieren auf
demselben Metzel-Abhaken-Prinzip. Ich fuer meinen Teil fand derartige
To-Do-Sachen aber immer ganz gut...
Zweitere, also die Skelette, sind (oder waren?) ne ziemliche Herausforderung
und beduerfen einer guten Teamarbeit. Man koennte z.B. eine Quest dergestalt
dort einbauen, dass ein fieser boeser Schwarzheiler die Gebeine eines
ehrwuerdigen alten und begrabenen Trves gestohlen hat und diese bei verletzten
schwarzen Skeletten als Ersatz fuer gebrochene Knochen eingebaut hat. Aufgabe
ist nun, die Knochen vollstaendig wieder zurueckzubringen... Das Gebiet
koennte durch ein, zwei Raeume unter dem Schacht auch noch erweitert werden,
wo dann z.B. der Schaedel oder so liegt, so dass auch Neues, wie der Zugang
dorthin, erforscht werden muss.
Soweit erstmal,
Slax

-----------------------------------------------------------------------------



Re^8: GL 25-27 (Gabylon, 29. Mar 2010, 12:41:43):
~#! rn=Slax rt=1269709271 rg=gilden.kaempfer
~#! tid=1263497078
Hi Trves,


zunaechst moechte ich erstmal auf die Artikel antworten.


@Derin
Es liegt in der Natur der Dinge, dass es unterschiedliche hohe Spieler gibt,
eben weil es unterschiedlich ausgepraegte Spielauffassungen gibt. Die einen
betrachten dies hier als ihr eigentliches Leben, die anderen schauen hier
nur alle 3 Monate mal rein, stellen sich uebenderweise an einen NPC und
loggen sich nach einer Stunde wieder aus. Diesen beiden (extremen) Typen
gerecht zu werden hiesse, relative Anforderungen zu schaffen.
Ich glaube wir sind uns einig darueber, dass dies nicht machbar ist.

Wo aber nun ansetzen? Wo welche Grenze ziehen?
Schauen wir uns den Leveldurchschnitt aller seit 4 Jahren aktiven Generaele
an: er liegt bei 92 (24 SD, mit n=44). Nach meiner Schaetzung bedarf es
etwa dem Durchschnitt plus der einfachen SD, um auf GL 24 aufzuruecken.
Dies waere etwa SL 115, es geht aber auch schon deutlich eher, wie Blutgier
bewiesen hat, wenn die Bedingungen stimmen (hier macht sich die unterschied-
liche Gewichtung von FPs und EKs deutlich bemerkbar).
Also: ein Spielerlevel fuer GL 24 zu verlangen, dass *in etwa* eine SD ueber
dem Durchschnitt liegt, ist in meinen Augen nicht zu viel verlangt.

Dies ist natuerlich nur eine Momentaufnahme, in einem Jahr hat sich der
Durchschnitt schon wieder ein wenig nach oben geschoben etc.
Die Bedingungen zum Aufstieg bleiben aber statisch.

In Deinem Fall kann ich Dir empfehlen: sieh GL 24+ als langfristiges Ziel.
Wenn man sich nicht so sehr darauf versteift, kommts schneller, als man
denkt :)

p.s. SD = Standard Deviation, Standardabweichung


@Slax
Zunaechst mal finde ich es sehr schoen, dass sich auch Leute zu Wort melden,
von denen man gemeinhin nicht so viel hoert :)

Ok, also... es gibt keine Skills und Gimmicks, die in direktem Zusammenhang
mit den oberen Gildenraengen stehen. Es gibt in den Subguilds je einen neuen
Skill, den man lernt, wenn man dort eintritt, bzw. ueber den man mehr
erfaehrt, wenn man sich dort vorher erkundigt.
Der Anreiz, GL24+ zu werden, liegt fuer Nichtsubguildangehoerige (tolles Wort)
also in jedem Einzelnen begruendet. Fuer die, die irgendwann mal in eine der
Subguilds eintreten, hat das ein klein wenig Auswirkung auf den neuen Skill,
der gelernt werden kann.

Zu Deinen Ideen:

01. Etwas aehnliches wird es bei den Runenkriegern geben. Ansonsten braeuchte
    man ein etwas umfassenderes Konzept. Es reicht nicht zu sagen, ab GL26
    darf der Spieler diese tolle Waffe benutzen. Welche Begruendung gaebe
    es dafuer?

02. Diese Idee erinnert mich an das Elementarschwert. :) Auch hier braeuchte
    man ein Konzept und weitere Ideen: sowas wie ein Vortrag ueber "Weitere
    Dimensionen der Yrd-Magie". Dazu muesste man tief in Toeters Welt
    hinabtauchen und schauen, ob sich dies mit seinen Vorstellungen decken
    koennte. Auch weiss ich nicht, was die Gildenbalance dazu sagt ;)

03. Auf diese Idee kamen schon mehrere (auch ich). Soweit ich das in
    Erinnerung habe, ist dies technisch nicht moeglich.

04. + 05. + 06.
    Hoert sich prinzipiell erstmal interessant an. Ich weiss zwar nicht,
    was die Gildenbalance dazu sagen wird... aber du kannst Deine Ideen
    ja mal etwas strukturierter an mich schicken.

07. Da wird Humni aber ganz dolle ins Husten kommen, schaetz ich.

08. Auch hier: Idee interessant, Konzept bitte an mich.
    (Gab es nicht mal die Idee der Berufe im MG?)

09. Ein Zwerg hoch zu Ross? Argl.

10. Mali sind in die Subguilds eingebaut.
    Die Idee mit dem regelmaessigen Kaempfen ist nicht sonderlich attraktiv
    fuer ausgesprochene Forscher...


Ja, beim "Metzel-Abhaken-Prinzip" scheiden sich die Geister. Die einen
findens klasse, den anderen haengts zum Hals heraus.

Die Skelette waren - soweit ich mich erinnern kann - nur in zwei koordinierten
6er-Teams machbar. Seit den zwei oder drei Malen, in denen das geschafft
wurde, waren sie bisher nie wieder ernsthaft versucht worden, oder?
Selbst wenn: es waere nur eine etwas groessere MAP-Aufgabe, also auch weit
entfernt von jenen Anforderungen, die urspruenglich irgendwann mal
gefordert wurden. Von denen bin ich zwar auch abgerueckt, halte die Skelette
aber letztendlich fuer ungluecklich, schon aufgrund der nicht mehr ganz
so ueppigen Spieleranzahl und damit Metzelwilligen.



Weiteres:

- Die Kaempfer sind nun auf die neuen Ermuedungs-Features umgestellt.
  Das bedeutet, dass ihr mit 'spruchermuedung alt' das alte Kampfverhalten
  wiederherstellen koennt. Bei etwaigen Problemen gebt mir bitte Bescheid.
  Dank an Caldra fuer diese Sisyphosarbeit.

- Der Einfluss der Gewichtung von Killstupsen ist momentan technisch noch
  nicht machbar. Wenn dies der Fall sein sollte, werde ich mit Brieseltrim
  neu verhandeln.


gab

-----------------------------------------------------------------------------



Re^9: GL 25-27 (Gabylon, 30. Mar 2010, 00:50:07):
~#! rn=Gabylon rt=1269859303 rg=gilden.kaempfer
~#! tid=1263497078
In Zusammenhang mit der Umstellung von Spellbook und Gilde haben
manche Kaempfer-NPCs jetzt ein paar Attacken zuviel.
Die aktiven Magier sind darueber in Kenntnis gesetzt worden, die
Umstellung auf die neuen Methoden koennen aber erfahrungsgemaess
noch etwas dauern.
Im Zweifelsfall sollte man um Kaempfer-NPC erstmal einen Bogen
schlagen.


gab

-----------------------------------------------------------------------------



Re^10: GL 25-27 (Zesstra, 13. Apr 2010, 00:30:33):
~#! rn=Gabylon rt=1269903007 rg=gilden.kaempfer
~#! tid=1263497078
Da das jetzt nicht per se ersichtlich ist, welche Kaempfer-NPCs ueberhaupt
betroffen sind, duerfte es sinnvoll sein, die betroffenen (d.h. jene, die auf
einmal uebermaessig viele Attacken schlagen) an den jeweiligen Gebiets- plus
Regionsmagier zu melden, sobald man ueber einen stolpert...

Zesstra

-----------------------------------------------------------------------------



Deine Mudder... (Gabylon, 21. Apr 2010, 00:35:50):
Hi Trves,


Das System der Beschimpfungen erfaehrt eine kleine Erneuerung:
zukuenftig ist die Auswahl der Sprueche von Geschlecht und Subguild
abhaengig. Momentan aendert sich aber fuer die meisten nicht sehr
viel, da geschlechts- und subguildspezifische Sprueche noch nicht
so zahlreich vorhanden sind.

Daher mein Aufruf an Euch: schickt mir Eure schoensten, bissigsten,
intelligentesten Beleidigungen, wenn ihr Euch auf diese Weise in
der Gilde verewigt wissen wollt.
Derin hat den Anfang gemacht, deren Idee das auch im Uebrigen war.


gab

-----------------------------------------------------------------------------



Verlernen (Gabylon,  1. Mai 2010, 00:06:36):
Hi Trves,


Alles neue macht der Mai.

Nun haben die oberen Gildenlevel doch noch eine kleine spieltechnische
Bedeutung bekommen. Auf Nicolais Vorschlag hin wurde das Verlernen der
Waffenskills reduziert. Als Idee waren Untergrenzen fuer jede Waffenart
im Gespraech; Humni und ich konnten uns dann aber "nur" zu einer
Verminderung der Verlernrate durchringen, beginnend ab GL 24.

Die Verminderung ist jedoch progressiv gestaltet, sprich dass es mit der
naechsthoeheren Stufe stets den doppelten Bonus gibt.


Vielen Dank an Humni fuer die fixe Bearbeitung.


gab

-----------------------------------------------------------------------------



Befoerderung fuer 24+ (Gabylon,  1. Jun 2010, 23:29:54):
Hi Trves,


ab sofort fliessen die Killpunkte von den Monstern, die mehr als einen Stups
geben, zusaetzlich in die Wertigkeit des Spielers mit ein, der in die oberen
Gildenraenge vorzudringen gedenkt - wie gewuenscht.

Natuerlich sind die zusaetzlichen Killpunkte am schwaechsten gewichtet, so
dass dies wohl nur von den Spielern, die im Grenzbereich fuer den Aufstieg
liegen, bemerkt wird.


gab

-----------------------------------------------------------------------------



Stichschaden -> Waffenschaerfen??? (Blutgier, 23. Jul 2010, 14:46:36):
Du betrachtest den Morgenstern eingehend.
Er ist eine 2-Handwaffe und gehoert der Gruppe der stumpfen Hiebwaffen an. Er
macht sicherlich einen hohen Schaden. Er kann pruegeln. Er kann pruegeln. Er
sticht wirklich sehr gefaehrlich. Er trieft geradezu von Saeure.
Er ist fuer einen Waffenschlag gut geeignet. Du kannst mit ihm recht gut
Deinen Gegner KO schlagen. Er besitzt verborgene Eigenschaften, die die
Kampfkraft vielleicht erhoehen. Er ist nicht geschaerft. Er hat ungefaehr ein
Gewicht von 3204 Gramm und ist circa 113 Zentimeter lang. Du wuerdest seinen
Wert auf etwa 1570 Muenzen schaetzen. Er ist nicht beschaedigt.

Du schaerfst den Morgenstern. Die Klinge sieht jetzt wieder recht gefaehrlich
aus. Damit ist der Morgenstern jetzt ausgezeichnet geschaerft.

Ist das so beabsichtigt? Der Stichschadenanteil an der Waffe ist 25%, ist zwar
nett, aber die Spitzen eines Morgensterns schaerfen ... hmmmm.

-----------------------------------------------------------------------------



Neuer Kragen (Gabylon, 10. Sep 2010, 00:28:36):
Hi Trves,

es haben sich wohl mit der langen Uptime ein paar Wanzen im Kragen
festgesetzt. Gramdala ist gerne bereit, euch diese zu entfernen.

Sollte es noch Probleme geben: bitte melden.

gab

-----------------------------------------------------------------------------



Berichtsbewertungen etc. (Gabylon,  9. Feb 2011, 01:12:30):
Hi Trves,


Aus aktuellem Anlass ist der Modus der Berichtsbewertung ein klein wenig
veraendert worden:

1. Die Durchschnittsnote eines Berichts wird erst dann angezeigt, wenn
   mind. sechs Spieler bewertet haben, aber auch nur dann, wenn man
   selber den Bericht schon bewertet hat oder man selber der Verfasser ist.

2. Pro veroeffentlichter Berichtsversion kann man nur noch eine Bewertung
   abgeben. Nehmt euch also Zeit und Ruhe fuer diese wichtige Entscheidung.

3. Im Berichtskopf ist vermerkt, wie lange der Bericht noch haengen und
   von wievielen er noch bewertet werden muss.

4. Brieseltrim hat mir versprochen, ein wenig auskunftsfreudiger gegenueber
   den Berichtsschreibern zu sein, was die Gruende eines verzoegerten
   Berichtsaushangs betrifft.


gab

-----------------------------------------------------------------------------



Re: Berichtsbewertungen etc. (Zook, 14. Feb 2011, 16:53:28):
~#! rn=Gabylon rt=1297210350 rg=gilden.kaempfer
~#! tid=1297210350
Warum kann man denn nur noch eine Bewertung abgeben? Vll. 
will man sie ja revidieren? Warum geht das denn nicht mehr?
Z

-----------------------------------------------------------------------------



Re: Re: Berichtsbewertungen etc. (Gabylon, 14. Feb 2011, 21:49:43):
~#! rn=Zook rt=1297698808 rg=gilden.kaempfer
~#! tid=1297210350
Sobald eine neue Version des Berichts aufgehaengt wird, kann man ja auch
eine neue Bewertung abgeben.

Die Moeglichkeit einer sich endlos wiederholenden Neubewertung - obwohl ein
und derselbe Bericht bewertet wird - fuehrte kuerzlich zu unschoenen
Nebeneffekten, die sich darin aeusserten, dass Mitspieler zu einer
Neubewertung ueberredet wurden, nur um die Durchschnittsnote des (sich
nicht geaenderten) Berichts zu pushen.

Ich kann mir auch kein (regulaeres) Szenario vorstellen, in welchem der
Bewerter es fuer noetig erachten sollte, mehr als eine Bewertung pro
Berichtsversion zu erstellen.
Die Bewertung einer schriftlichen Arbeit ist ueblicherweise das, was man
nicht mal eben zwischen Tuer und Angel erledigen sollte.


gab

-----------------------------------------------------------------------------



Re^3: Berichtsbewertungen etc. (Elberet, 14. Feb 2011, 21:56:47):
~#! rn=Gabylon rt=1297716583 rg=gilden.kaempfer
~#! tid=1297210350
Dazu hab ich zwei Kommentare:

1. Es kann ja durchaus passieren, dass man sich bei der Bewertung einfach
vertut. Korrigieren kann man dann nicht mehr. Bei jeder Klausur besteht ja zB
die Moeglichkeit, dass noch im Nachhinein die Bewertung geaendert wird, obwohl
an der Klausur natuerlich nichts geaendert wurde. Es stellt sich halt heraus,
dass man trotz aller Sorgfalt doch nicht alles beruecksichtig hatte zB

2. Wer sich ueberreden laesst ist doch selber schuld. Und wenn das bei der
Neubewertung funktioniert, dann auch bei der Erstbewertung, oder? Ausserdem
kann man doch einfach den Bericht nur minimal aendern und neu anhaengen. Ich
seh also den Sinn in dieser Aenderung nicht wirklich.

Nur weil man sich kein regulaeres Szenario vorstellen kann, heisst das nicht,
dass es dieses auch nicht gibt ...

Elbi
PS.: ich faende andere Aenderungen viel sinnvoller, zB dass man auch Kleriker
und andere Gilden ausbilden kann ...

-----------------------------------------------------------------------------



Re^4: Berichtsbewertungen etc. (Gloinson, 14. Feb 2011, 22:13:28):
~#! rn=Elberet rt=1297717007 rg=gilden.kaempfer
~#! tid=1297210350
Man kann doch andere Spieler AFAIK ausbilden? Und dabei deren
Standard-Waffenskills pushen? Klerus nun gerade nicht ... ;)


-----------------------------------------------------------------------------



Re^4: Berichtsbewertungen etc. (Gabylon, 14. Feb 2011, 22:43:20):
~#! rn=Elberet rt=1297717007 rg=gilden.kaempfer
~#! tid=1297210350
Voellig richtig, man kann sich mal vertun. Dieses spielt sich aber im
Normalfall in einem Bewertungsbereich von einer Note und innerhalb eines
Bewertungskriteriums ab ("Hm, also nochmals gelesen finde ich den Schreibstil
von xyz doch gar nicht so uebel, ich wuerde ihm/ihr gerne eine 2 statt
eine 3 geben... geht nicht mehr, so ein Mist!").

Selbst wenn man diese Verbesserung dann vornehmen wuerde, haette sie nur
marginale Bedeutung gegenueber der Gesamtnote (4 Noten von mind. 15 Bewertern
macht insgesamt hoechstens 1/60 resp. 1,67% Gesamteinfluss pro Notenpunkt).
Dagegen ist ein gleichmaessiges Hochschieben von beispielsweise durchgaengig
3 auf 1 schon gleich ein ganz anderer Schnack.

Natuerlich kann man den Bericht nur minimal aendern und neu aufhaengen, aber
a) muss der Schreiberling dann wieder 30 Tage warten und b) hoffe ich, dass
der Grossteil der (erneut notwendigen) Bewerter den Schmu bemerkt.


Trves duerfen seit dem 27.08.06 (!) auch andere Gilden ausbilden, naemlich
Bierschuettler, Chaoten, Abenteurer und Katzenkrieger. Andere Gilden leider
nicht.
Wer sich ueber die Aenderungen der letzten Jahre informieren moechte:
www.trves.de -> History


gab

-----------------------------------------------------------------------------



Re^5: Berichtsbewertungen etc. (Maharet, 15. Feb 2011, 09:46:27):
~#! rn=Gabylon rt=1297719800 rg=gilden.kaempfer
~#! tid=1297210350
Was Elbi geschrieben hat.

Nur, weil es da neulich mal einen Missbrauch gab, gleich die Regeln so zu
aendern, als ob wir hier Mittelschueler waeren, finde ich nicht erforderlich
und unangemessen.

Zum einen gehst du davon aus, dass wir gross und schlau genug sind, dass wir
den "Schmu" bemerken, gleichzeitig gehst du davon aus, dass wir zu klein und
naiv sind, um uns beeinflussen zu lassen und dann doch unsachgemaess handeln. 
Was denn nun?

-----------------------------------------------------------------------------



Re^5: Berichtsbewertungen etc. (Towonda, 15. Feb 2011, 09:53:40):
~#! rn=Gabylon rt=1297719800 rg=gilden.kaempfer
~#! tid=1297210350
Also mir persoenlich (bzw. meinem Kaempfer) waere es trotzdem wichtig,
eine aus Schusseligkeit verpatzte Bewertung verbessern zu koennen (oder
auch, einfach meine Meinung aendern zu koennen).
Manipulationen kann diese Massnahme nicht aendern, die wird eben ins 
Vorfeld verschoben, wenn jemand das wirklich moechte. Und das bevorzugt
wiederum Spieler, die bessere Beziehungen haben und diverse Kaempfer von
Freunden aus dem Schrank scheuchen koennen. Wenn ich nicht mehr die 
Moeglichkeit habe, mich zu korrigieren, saehe ich mich durchauas in Versuchung
gleich bessere Noten zu vergeben.
Ausserdem geht es bei der ganzen Sache ja nicht darum, zu verhindern, dass
Leute Atomkraftwerke oder Bruecken bauen, die das nicht koennen. Oder hab
ich da was falsch verstanden?

Towonda

-----------------------------------------------------------------------------



Re^7: Berichtsbewertungen etc. (Towonda, 15. Feb 2011, 13:46:49):
~#! rn=Gabylon rt=1297773601 rg=gilden.kaempfer
~#! tid=1297210350
Ja, es gibt eine andere Idee. Naemlich diese ueberzogene Paranoia abzustellen.
Ich hab mir (auch hier im Mud) bei vielen Sachen sehr viel Muehe gemacht, bei 
denen es sich andere leicht gemacht haben. Und es juckt mich weder, noch
mindert es meine Leistung (was immer das hier sein soll), noch meine Freude
ueber das erreichte.
Man koennte auch das Mud abschalten, dann kann keiner mehr bescheissen.

Towonda

-----------------------------------------------------------------------------



Re^6: Berichtsbewertungen etc. (Gabylon, 15. Feb 2011, 13:51:41):
~#! rn=Towonda rt=1297760020 rg=gilden.kaempfer
~#! tid=1297210350
Wie gesagt: eine nachtraegliche Aenderung aus Schusseligkeit bewegt sich
faktisch im niedrigen einstelligen Prozentbereich, wohingegen man nur wenige
Spieler braucht, die beispielsweise durchgaengig zwei Noten besser bewerten,
um eine Erhoehung der Durchschnittsnote um eine halbe Zensur zu erreichen.

Ich bin aber gerne bereit, ein anderes Modell zu diskutieren.
Ad hoc faellt mir ein, dass man wieder Verbesserungen zulassen koennte,
nur mit der Aenderung, am Ende die drei besten und drei schlechtesten
Bewertungen zu streichen und nur aus dem Rest die Durchschnittsnote zu
bilden.

Gibt es andere Vorschlaege und Ideen?


gab

-----------------------------------------------------------------------------



Re^7: Berichtsbewertungen etc. (Sharia, 15. Feb 2011, 14:16:38):
~#! rn=Gabylon rt=1297774301 rg=gilden.kaempfer
~#! tid=1297210350
ich melde mich auch mal zu Wort, da ich - bzw mein Zweitie - fuer den
Missbrauch verantwortlich zeichne.

Zur Erlaeuterung des Missbrauchs: Smeagol bekam nach Ablauf der Aushangfrist
und genuegenden Bewertungen (>15 Leute) als Durchschnittsnote angezeigt, dass
die durchschnittliche Bewertung "befriedigend" sei. Dennoch wollte Briesel ihn
nicht erhoehen.
Daraufhin habe ich bei Gaby nachgefragt und zu hoeren bekommen, dass
befriedigend nicht ausreiche, da irgendwelche internen Zahlen nicht reichen
(also schaetzungsweise 3.4 = befriedigend oder so. 
Daraufhin habe ich ein paar der anwesenden Kaempfer gefragt, ob sie eventuell
nachbessern wuerden um den Schnitt etwas anzuheben. Dies waren etwa 4 Leute
von denen 1 idle war, 1 sagte, dass er nachher mal schauen wuerde, 1 hat
nachgebessert und von 1 habe ich zu hoeren bekommen, dass er dies nicht
moechte. Akzeptabel wie ich finde, denn die Argumente die er brachte waren
durchaus schluessig und die Einwaende und Kritik durchaus berechtigt.
Der Bericht ist mittlerweile abgehaengt, ich schreibe ihn neu und dann schauen
wir mal weiter. 

Ich wusste nicht, wieviele bessere Bewertungen ich brauchte und von Missbrauch
kann man in meinen Augen auch nicht reden. Ich habe niemanden gezwungen, ich
habe keine anderen Kaempfer selbst eingeloggt um das Ergebnis zu verbessern
oder sonst etwas.

Sharia aka Smeagol

-----------------------------------------------------------------------------



Re^8: Berichtsbewertungen etc. (Gabylon, 15. Feb 2011, 15:05:54):
~#! rn=Sharia rt=1297775798 rg=gilden.kaempfer
~#! tid=1297210350
Um das ganze mal zu relativieren: ich moechte das Wort 'Missbrauch' in diesem
Zusammenhang streichen und eher von unsachgemaessem Verhalten sprechen.
Wenn es aber allgemein akzeptiert ist, dass dieses durchaus vorkommen kann und
darf, dann werd ich die Aenderung natuerlich wieder streichen. Ich ging davon
aus, dass diese Aenderung sowohl sinnoll als auch in eurem Sinne ist. 


gab

-----------------------------------------------------------------------------



Re^5: Berichtsbewertungen etc. (Elberet, 15. Feb 2011, 18:28:37):
~#! rn=Gabylon rt=1297719800 rg=gilden.kaempfer
~#! tid=1297210350
nein du hast nicht verstanden was ich sagen wollte, das muss an mir liegen,
daher halte ich mich ab jett hier raus

Gruss
Elbi

-----------------------------------------------------------------------------



Re^6: Berichtsbewertungen etc. (Gabylon, 15. Feb 2011, 22:04:06):
~#! rn=Elberet rt=1297790917 rg=gilden.kaempfer
~#! tid=1297210350
Sorry, ich kann Dir gerade nicht folgen. Ich weiss nicht mal, was ich nicht
verstanden haben soll. Da musst Du mir schon ein wenig auf die Spruenge
helfen.

Aenderung wieder geaendert, sprich: Bewertungen sind wieder mehrfach moeglich.


gab

-----------------------------------------------------------------------------



Re^4: Berichtsbewertungen etc. (Ark, 21. Feb 2011, 08:34:29):
~#! rn=Elberet rt=1297717007 rg=gilden.kaempfer
~#! tid=1297210350
Also meine Schularbeiten/Pruefungen/Bewertungen wurden nicht geaendert ...
warum bei den Kaempfern Ausnahmen zulassen? Allemals ggf. eine Abfrage vor der
endgueltigen Eingabe (Deine Bewertung ist 3. Bist Du sicher? Ja/Nein) ist ok.
Wer ueber den Bericht nur drueberrutscht, dem ist nicht zu helfen, bzw.
bekommt er die Quittung spaeter mal selbst.
Die Moeglichkeit, fremde Gilden auszubilden, sollten v.a. auch die GMs der
fremden Gilden mitbestimmen (imho).


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^5: Berichtsbewertungen etc. (Zesstra, 21. Feb 2011, 10:09:58):
~#! rn=Ark rt=1298273669 rg=gilden.kaempfer
~#! tid=1297210350
Also, meine Schularbeiten/Pruefungen/Bewertungen wurden durchaus im Nachhinein
korrigiert, wenn der Korrektor einen Fehler gemacht hat. Nun ist die Bewertung
eines Berichts eine deutlich subjektivere Sache, weswegen es eher keine
formalen Fehler gibt, aber warum sollte es ansonsten anders sein? Ich hab
schon haeufiger meine Meinung ueber einen Text nen Tag spaeter geaendert. Die
Alternative ist, einige Tage zu warten und drueber zu schlafen bis man die
Bewertung abgibt, aber obs das besser macht?
Bzgl. Ausbildung fremder Gilden stimme ich zu, da sollte die jeweils andere
Gilde natuerlich gefragt werden. ;-) Ich gehe auch davon aus, dass das so ist
und es spielt hier auch eigentlich keine Rolle.

Zesstra

-----------------------------------------------------------------------------



Re^6: Berichtsbewertungen etc. (Gloinson, 21. Feb 2011, 10:45:44):
~#! rn=Zesstra rt=1298279398 rg=gilden.kaempfer
~#! tid=1297210350
Das ist am Rande - die Ausbildung fremder Gilden betrifft/foerdert die
allgemeinem Waffenskills (die jeder Spieler seit einigen Jahren hat). Daher
sind zB die Kleriker nicht ausbildbar, da sie einen nicht-allgemeinem
Waffenskills benutzen.


-----------------------------------------------------------------------------



Neuer Kragen... (Gabylon, 16. Jun 2011, 19:23:59):
Hi Trves,


der Kragen hat ein paar Bugfixes erhalten sowie einige Erweiterungen fuer
die Subguilds. Auch wurde die Funktionalitaet des Extra-Looks modernisiert.
Als Spieler sollte man also (fast) keinen Unterschied bemerken. Wenn
doch Probleme auftauchen, bitte bei mir melden.
Achja... Gramdala hilft euch gerne, einen neuen Kragen zu bekommen.


gab

-----------------------------------------------------------------------------



Re: Neuer Kragen... (Gabylon, 18. Jun 2011, 19:19:44):
~#! rn=Gabylon rt=1308245039 rg=gilden.kaempfer
~#! tid=1308245039
Nachtrag:
Durch eine notwendig gewordene Veraenderung muesst ihr nach Reboot/Ende
den Kragen nun zukuenftig selber anziehen. Aber ich denke, dass das zu
verschmerzen ist (Tip: Einlogscript dahingehend erweitern).


gab

-----------------------------------------------------------------------------



Von Anpassungen und verbotenen Dingen... (Gabylon,  6. Nov 2011, 22:44:32):
Hi Trves,


Geringefuegige, aber notwendige Aenderungen des 'schaetz' koennten dazu
fuehren, dass der Schildstoss eines Schildes aufgewertet wird. Aber eben
nur im 'schaetz' und nicht auch tatsaechlich.

Bei Parade und Block koennte es uU sein, dass diese Faehigkeiten bei
bestimmten Waffen nicht mehr ganz so gut funktionieren. Wenn dem so ist,
dann ist das nicht schlimm, denn dann waeren diese Waffen in der Form eh
nie erlaubt gewesen und muessten einem grossen schwarzen Drachen zum
Frass vorgeworfen werden, auf dass dieser sie bis zum letzten Kruemel
vernichtet.

Aus dem gleichen (illegalen) Grund koennte es theoretisch sein, dass beim
Schildstoss der Schaden mit einzelnen aeusserst verbotenen Schilden etwas
geringer ausfaellt.
Wie gesagt: wenn es diese Waffen und Schild ueberhaupt gibt, was wir alle
nicht glauben und noch weniger befuerchten.


gab

-----------------------------------------------------------------------------



Re: Von Anpassungen und verbotenen Dingen... (Ark,  7. Nov 2011, 09:02:33):
~#! rn=Gabylon rt=1320615872 rg=gilden.kaempfer
~#! tid=1320615872
Ja was denn nun ... theoretisch oder auch praktisch? Das erste verstehe ich
noch, da waren offenbar Zahlen falsch, bei dem zweiten weiss ich schon nicht
mehr, was Sache ist ... wurde eine Praeventivfunktion gegen im Umlauf
geglaubte Waffen eingefuehrt? Wenn nicht, warum wird nicht an den Waffen
geschraubt? Und das letzte ... gibt es jetzt die Schilde? Wenn ja, warum
werden die nicht angefasst? Fragen ueber Fragen.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Re: Von Anpassungen und verbotenen Dingen... (Gabylon,  7. Nov 2011, 15:08:05):
~#! rn=Ark rt=1320652953 rg=gilden.kaempfer
~#! tid=1320615872
Mit Deiner ersten Vermutungen hast Du Recht.

Zu Deinen Fragen: Ich weiss nicht, ob es diese Schilde und Waffen gibt;
eine im Spellbook verankerte Obergrenze von P_EFFECTIVE_AC resp.
P_EFFECTIVE_WC auf die max. erlaubten Werte der Balance bzw. der combat.h
halte ich aber, auch langfristig gesehen, auf jeden Fall fuer sinnvoll.

Ich hatte in diesem Fall absichtlich etwas verschwommen geschrieben, da ich
davon ausgehe, dass es diese Objekte nicht gibt, ergo es auch keinem auffallen
duerfte. Aber da ich nicht nichts schreiben und die geschaetzen Gilden-
mitglieder nicht mit Zahlen und Variablen langweilen wollte...
Wie mans macht, man machts wohl falsch :)


gab

-----------------------------------------------------------------------------



Re^3: Von Anpassungen und verbotenen Dingen... (Zesstra,  7. Nov 2011, 15:30:35):
~#! rn=Gabylon rt=1320674885 rg=gilden.kaempfer
~#! tid=1320615872
Naja, wenn Du davon ausgehst, dass es keine Waffen gibt, die die erlaubten
Obergrenzen ueberschreiten, wuerde ich entweder nix schreiben oder soviel,
dass man weiss, worum es geht (Einfuehrung von technischen Obergrenzen fuer
Waffen-/Ruestungsstaerken). Zahlen muessen da ja nicht sein.
Aber mal ne andere Frage: Wenn die Balance ein Item erlaubt, was diese Werte
ueberschreitet, gibt es dann einen definierten Kommunikationsweg und eine
zeitnahe Aenderung dieser Obergrenzen in der Gilde (ggf. auch in x Jahren,
wenn Balancemitglieder und/oder GM Kaempfer wechselten)?

Zesstra

-----------------------------------------------------------------------------



Lernbugs (Gabylon,  8. Jan 2012, 18:02:36):
Hi Trves,


der diesjaehrige Fruehjahrsputz wurde vorverlegt. Unter Briesels Schreibtisch
fanden wir auch prompt zwei kleine Kaefer, die sich dort schon sehr lange
versteckt halten.
Der eine fuehrte dazu, dass man bei hohem Todesstoss-Skill bisher viel
langsamer als beabsichtigt gelernt hat; der andere bewirkte, dass man unter
bestimmten Umstaenden aus einigen Fehlern nicht gelernt hat, obwohl man es
haette tun sollen. Beide Kaefer wurden nun des Struvs verwiesen.

Vielen Dank an Derin, die mich mit ihrer Aufmerksamkeit auf die Spur brachte
und mir beim nach(t)folgenden Testen zur Seite stand.


gab

-----------------------------------------------------------------------------



Ausbildung der Wipfellaeufer (Gabylon, 12. Feb 2012, 12:53:23):
Hi Trves,

die neue Gilde der Wipfellaeufer darf nun auch von den Kaempfern
ausgebildet werden.

gab

-----------------------------------------------------------------------------



Listiger Hinter List (Zaphob, 13. Mai 2012, 16:08:26):
Verweis wegen Faulheit mal noetig? Seht selbst:

Der Versammlungsraum der Trves.
Es gibt einen sichtbaren Ausgang: westen.
Hinter List der Standortaelteste.                                             
> 
Du hast jetzt 210 Lebenspunkte und 25 Konzentrationspunkte.
[lies plakat]
Die naechste Vorlesung (Beginn in 1 Minute):



Den Vortrag haelt Hinter List. Bitte melde Dich bei ihm rechtzeitig an.
> 
Du hast jetzt 210 Lebenspunkte und 26 Konzentrationspunkte.
Du hast jetzt 210 Lebenspunkte und 27 Konzentrationspunkte.
Du hast jetzt 210 Lebenspunkte und 28 Konzentrationspunkte.
Hinter List sagt: Ich beginne nun mit der Vorlesung 
Hinter List sagt: So, das wars.
Hinter List sagt: Du hast die Vorlesung  mit Erfolg angehoert. 
[Tod:Lars] Ein Einhorn hat gerade Ohz umgebracht.
Du hast jetzt 210 Lebenspunkte und 29 Konzentrationspunkte.
Du hast jetzt 210 Lebenspunkte und 30 Konzentrationspunkte.


Kratzt sich am Kopp, Zap*

-----------------------------------------------------------------------------



Re: Listiger Hinter List (Piga, 14. Mai 2012, 09:41:11):
~#! rn=Zaphob rt=1336918106 rg=gilden.kaempfer
~#! tid=1336918106
Die Sache mit dem Einhorn ist wirklich hinterlistig.

-----------------------------------------------------------------------------



Trves.de-mailadressen (Gnome, 21. Aug 2012, 13:16:28):
Hi,

die Spieler, die eine @trves.de-Adresse zur Weiterleitung haben und weiter-
hin haben wollen, bitte ich, mir eine mail zu schreiben, mit der info, an
welche Adresse zukuenftig weitergeleitet werden soll.
Durch einen Domainumzug sind alle trves.de-Adressen in den Schredder
gewandert worden.

gnOme

-----------------------------------------------------------------------------



Waffenschlagsmeldungen (Gabylon, 24. Okt 2012, 16:47:15):
Hi Trves,


die Meldungen beim Waffenschlag wurden entsprechend des Waffentyps angepasst.
Wer noch weitere Ideen fuer neue Meldungen haben sollte, bitte Vorschlaege
an mich.


gab

-----------------------------------------------------------------------------



Anpassung Spielerstufen (Gabylon,  5. Dez 2012, 14:39:57):
Hi Trves,

die Spielerstufen fuer GL 1-22 sind geringfuegig nach oben angepasst worden.

gab

-----------------------------------------------------------------------------



Ursprung des Sauhaufens (Gloinson,  5. Feb 2013, 12:18:50):
http://www.stupidedia.org/stupi/Trve

Koru Tschakar war also ein zugeloeteter Manowar-Fan. Nichts Neues.


-----------------------------------------------------------------------------



Schnellkampf (Gabylon,  1. Mar 2013, 15:36:14):
Hi Trves,


wer sich ab und zu wunderte, warum sein Schnellkampf in letzter Zeit
unerklaerlich schwaechelte: die Maechte waren gegen uns, und keiner hat es
bemerkt!

Keiner? Doch! Hammerhand McDee entsann sich besserer Tage, wollte sich
diesem Schicksal nicht ergeben und klagte an. Und er bekam Recht!
Denn die Maechte hatten ein Einsehen mit uns Sterblichen: ab sofort sollte
der Schnellkampf wie vor der grossen Zeitenwende funktionieren.

Als Entschaedigung fuer diese entbehrungsvolle Zeit haben die Maechte dem
schnellen Kampf nun noch ein feature untergeschoben.


Dank an Humni fuers fixe Absegnen!


gab

-----------------------------------------------------------------------------



Nanu? (Blutgier, 24. Mar 2013, 12:35:51):
Du hast jetzt 230 Lebenspunkte und 5 Konzentrationspunkte.
kn
Du rammst dem Schnueffler das Knie in den Koerper.
  Du schlaegst einen Schnueffler mit dem Krachen brechender Knochen.
Der Schnueffler faellt tot zu Boden.
Du hast jetzt 230 Lebenspunkte und 0 Konzentrationspunkte.
Dies war Monster Nr. 94!
Fuer Isilia war dies Monster Nr. 14!
Du hast jetzt 231 Lebenspunkte und 0 Konzentrationspunkte.
Du hast jetzt 229 Lebenspunkte und 0 Konzentrationspunkte.


Abzug nach Tod des NPC? :-)

-----------------------------------------------------------------------------



Re: Nanu? (Zook, 24. Mar 2013, 13:33:48):
~#! rn=Blutgier rt=1364124951 rg=gilden.kaempfer
~#! tid=1364124951
Schmerzen im Knie bekommen?

Zook

-----------------------------------------------------------------------------



Re: Nanu? (Nicolai, 25. Mar 2013, 20:37:57):
~#! rn=Blutgier rt=1364124951 rg=gilden.kaempfer
~#! tid=1364124951
und damit bestaetigst du, was "wir" spieler seit monaten sagen:
das mit der neuen taktung die flucht nimmer richtig greift, weil
die schadensauswertung teilweise an abenteuerlichen punkten in
der kampfrunde stattfindet.

-----------------------------------------------------------------------------



Re: Re: Nanu? (Zesstra,  4. Apr 2013, 21:30:46):
~#! rn=Nicolai rt=1364240277 rg=gilden.kaempfer
~#! tid=1364124951
Ich verstehe Deine Worte, aber der Sinn erschliesst sich mir nicht. Die
Schadensauswertung (in der Mudlib) hat nix mit irgendwelchen Zeitpunkten zu
tun. Verursachter Schaden wird synchron beim Zuhauen verarbeitet und
bilanziert.

Zesstra

-----------------------------------------------------------------------------



Ausbildung (Gabylon,  6. Apr 2013, 10:39:11):
Hi Trves,

es gab Anregungen, die gemeinsame Ausbildung quantitativ etwas zu
reduzieren. Ich habe im Prinzip nix dagegen. Ein paar Prozent weniger sollten
die Qualitaet des Nachwuches nicht gefaehrden, aber ebenjenem etwas flotter
aufsteigen lassen.
Gibt es Stimmen/Ansichten/Gruende dagegen?

gab

-----------------------------------------------------------------------------



Re: Ausbildung (Gulahr, 13. Apr 2013, 10:09:48):
~#! rn=Gabylon rt=1365237551 rg=gilden.kaempfer
~#! tid=1365237551
Moin zusammen,

meiner Meinung nach spricht erstmal nichts dagegen, ich finde nur, dass das
den Kern des Problems nicht wirklich trifft. Ich finde das Konzept der
Ausbildung wirklich gut bei den Kaempfern und ich erinner mich auch noch gut,
als kleiner Erstie-Kaempfer-Azubi das erste mal auf der Feuerebene gewesen zu
sein, das war spannend und hat Spass gemacht.

Es geht fuer mich dabei halt genau darum, dem Azubi was Neues zu zeigen, was
jetzt bei einem Zweitie von einem grossen Seher natuerlich nicht unbedingt
moeglich ist, aber es kann zumindest fuer ihn als Trves neu sein. Hat man dann
aber erstmal auf dem Kragen stehen, dass man 4xx Gegner mit Azubi umnieten
muss, endet das schnell darin, dass man immer wieder die gleichen Gebiete
ablatscht, die halt sehr viele einfach Monster enthalten. Das finde ich recht
sinnbefreit und es macht auch nur begrenzt Spass. Da aendert dann aber auch
eine leichte Absenkung der Werte nichts, solange das nicht drastisch nach
unten geschraubt wird, was ich mal nicht annehme. 

Deshalb wuerde ich vorschlagen, Ausbildung lohnenswerter zu machen, wenn der
Azubi dabei neue EKs sammelt (ja fuer den Azubi ist das eh lohnenswert und es
ist auch spassiger fuer beide, aber bei sovielen benoetigten Kills ist das
beiden Seiten irgendwann recht egal ist so meine Erfahrung). Hier koennte man
dann z.B. fuer einen neuen EK, den der Azubi bekommt, beiden in Abhaengigkeit
der Stupse, die das Viech abwirft, Ausbildungskills anrechnen. Damit man nicht
unbedingt die Anzahl der Stupse von Viechern direkt ablesen kann kann man das
halt z.B. auf eine Spanne von 5-30 oder so normieren (ueber die Zahlen muss
man natuerlich nochmal gruendlich nachdenken), aber ich finde so eine Hydra
umzunieten in der Ausbildung ist schon was anderes als Holzfaeller zu hauen
(solange man keinen Kleri vorschickt) und man kann es auch mehr belohnen. Oder
man kann auch ganz weg von der festen Anzahl von noch benoetigten Gegnern und
eine vage Angabe einbauen (Du brauchst noch sehr viele/viele/etc.).

Das soll uebrigens nicht heissen, dass nur noch neue EKs zaehlen sollen, aber
es soll halt mehr Anreiz dafuer bieten. Damit man nicht einfach zu gut
stupsenden Viechern andere Zweities vorschicken kann und dann mit Ausbilder
und Azubi nur den letzten Schlag holt koennte ich mir hier noch vorstellen,
dass der Azubi (und Ausbilder?) je nach seinem Gildenlevel eine bestimmte
Menge an Schaden gemacht haben muss, damit das ganze auch als Mehrwert fuer
die Ausbildung zaehlt.

Gruesse
Gulahr

-----------------------------------------------------------------------------



Re: Re: Ausbildung (Ark, 13. Apr 2013, 10:33:09):
~#! rn=Gulahr rt=1365840588 rg=gilden.kaempfer
~#! tid=1365237551
Eine gute Idee :-)
Mal ins Blaue gedacht ... es waere auch nett, wenn man die Ausbildung als
explizit (einseitig) fuer beendet erklaeren koennte und dann noch ein Bonus
fuer z.B. Anzahl Gebiete, in denen die Ausbildung stattfand oder Anzahl
Waffentechniken, die vom Azubi verwendet wurden, irgendwie angerechnet werden.
Und wenn Azubi (und?) Ausbilder dann bei Briesel noch innerhalb von 10min 3
(4,5...) Bewertungen zu "hat sich Zeit genommen, war geduldig, hat viel
erklaert/zugehoert und umgesetzt ..." abgegeben werden, koennte es noch einen
kleinen Bonus vom Kommandanten geben.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^3: Ausbildung (Zook, 14. Apr 2013, 11:12:44):
~#! rn=Ark rt=1365841989 rg=gilden.kaempfer
~#! tid=1365237551
Die Idee von Ark finde ich sehr schick. Vielleicht liesse sich
so etwas ja umsetzen.

Zook

-----------------------------------------------------------------------------



Re^4: Ausbildung (Gabylon, 14. Apr 2013, 11:25:52):
~#! rn=Zook rt=1365930764 rg=gilden.kaempfer
~#! tid=1365237551
Ich finde das sture Abgrasen von (ggf. immer denselben) Monstern auch nicht
besonders spannend und wuerde noch mehr neue Ideen (bzw. Kommentare der
bisher sehr schoenen Vorschlaege) bzgl. einer mehr oder weniger grossen
Reform begruessen.

gab

-----------------------------------------------------------------------------



Schnell & 100% (Gabylon, 14. Apr 2013, 18:46:51):
Hi Trves,


- Im schnellen Kampf zaehlt ab sofort auch wirklich das Gewicht der gesamten
  Ruestung am Koerper und nicht mehr die Hoehe des Schutzes, wie bisher. Es
  lohnt sich also mehr denn je, nach gutschuetzenden aber leichten Ruestungen
  Ausschau zu halten.

- Nachdem ich juengst mehrfach darauf angesprochen wurde, dass die Fehl-
  schlaege bei einer absolut perfekten Faehigkeit irgendwie doch zu- statt
  abzunehmen scheinen, habe ich mich nochmal hingesetzt und gruendlich in das
  Gefuege der Gilde geschaut. Es sah insgesamt sehr ordentlich aus, jeder
  Stein war an seinem Platz. Und doch ergab das Gefuege an einer Stelle ein
  haessliches Muster, von weitem betrachtet.
  Da drehte ich ein paar Steine um (Dank an Humni fuer den Tip), das Gefuege
  blieb zwar das gleiche, aber es sah nicht mehr ganz so... haesslich aus.
  Kurz gesagt: aufgrund der neuen Verteilung habt ihr nun weniger Patzer
  bei 100%, ob man das aber in der Praxis wirklich bemerkt, bleibt
  abzuwarten.


gab

-----------------------------------------------------------------------------



Re: Schnell & 100% (Ark, 14. Apr 2013, 19:20:20):
~#! rn=Gabylon rt=1365958011 rg=gilden.kaempfer
~#! tid=1365958011
:wusste es schon immer! :-D


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^5: Ausbildung (Bambi, 19. Apr 2013, 22:00:11):
~#! rn=Gabylon rt=1365931552 rg=gilden.kaempfer
~#! tid=1365237551
Wie waere es denn, wenn man ausser der Anzahl zu toetender Monster noch aus
einer (laengeren) Liste ein Monster vorgibt, das ebenfalls getoetet werden
muss? Also Monster mit Namen oder anderweitig "einzigartige" NSCs? Ich meine
nicht gleich den Drachengott oder so, aber der NSC sollte bekannt genug sein,
um das Team ins richtige Gebiet zu fuehren. Eventuell bleibt es dann da
haengen und metzelt dort die Kills anstatt zur SSP/<anderes
Default-Ausbildungs-Gebiet> zu laufen.

-----------------------------------------------------------------------------



Re^6: Ausbildung (Zook, 21. Apr 2013, 19:44:08):
~#! rn=Bambi rt=1366401611 rg=gilden.kaempfer
~#! tid=1365237551
Oder eben so ne Art "Und wenn Ihr XYZ auch noch erlegt, dann 
wird die Ausbildung besonders ertragreich sein!" 
ALso ne Art Bonus, wenn man das hinbekommt.

Zook

-----------------------------------------------------------------------------



Re^7: Ausbildung (Vanir, 26. Apr 2013, 19:09:59):
~#! rn=Zook rt=1366566248 rg=gilden.kaempfer
~#! tid=1365237551
Das klingt spannend. Mir kam da die Idee 'genannte' NPCs einfach doppelt zu
werten und nach Erledigung des 'Auftrags' kann man einen neuen bekommen. Das
wuerde die Anzahl der benoetigten Kills betraechtlich reduzieren.
V.

-----------------------------------------------------------------------------



Re^5: Ausbildung (Zaphob, 22. Mai 2013, 21:34:30):
~#! rn=Gabylon rt=1365931552 rg=gilden.kaempfer
~#! tid=1365237551
Ich finde alles bisher gehoerte spannend und nicht allzu weit von den bisher
gelebten Idealen entfernt, zudem toll hier weitere Bewegung in der Gilde zu
sehen. Das vorgeschlagene Bonussystem laesst sich dann bei Interesse noch fuer
andere Ziele erweitern.

-----------------------------------------------------------------------------



Probleme im Kellerraum mit den Ratten (Troshe,  8. Jun 2013, 15:29:38):
Hallo zusammen,
im Kellerraum, wo man fuer den Koch die Ratten finden und Toeten soll, habe
ich das Problem, dass mir auf bestimmte Details (z.B. Phantasie, Schraenke,
Kiste, Krempel, alles reproduzierbar) die Textmitteilungen nicht vernuenftig
ausgegeben werden. Das zeigt sich so, dass in TF nur das Ende (ich nehme mal
an die letzte Zeile) in die Befehlszeile geschrieben wird. Wechsel ich auf den
Client auf der MG-Homepage, zeigt dieser wiederum nur die 1. Zeile an. Da
bisher alle 
Texte scheinbar nur Zweizeiler waren, konnte ich durch Wechsel der Clients den
Text wohl immer vollstaendig in Erfahrung bringen (glaube ich zumindest).
Trotzdem ist das natuerlich etwas nervig. Meine Frage waere nun, da das ja nun
eine Gilden-quest ist, ob diese bei anderen Kaempfern ebenfalls der Fall war
oder bislang nur bei mir auftritt. Ggf. noch die Bitte, ob das mal jmd
reproduzieren koennte, sprich einfach mal im entsprechendem Raum die oben
aufgef|hrten Details auch mal untersucht.
Vielleicht ist das Problem ja auch schon bekannt, und es existiert schon eine
Loesung.

LG Troshe

-----------------------------------------------------------------------------



Re: Probleme im Kellerraum mit den Ratten (Arathorn,  9. Jun 2013, 15:54:40):
~#! rn=Troshe rt=1370698178 rg=gilden.kaempfer
~#! tid=1370698178
Problem gefixt. Es fehlten eine ganze Menge an Zeilenumbruechen bei diesen
und weiteren Details. Die hab ich grad mal hinzugefuegt, jetzt funktioniert
das auch mit TF und dem Webclient korrekt.

Gruss, Arathorn.

-----------------------------------------------------------------------------



Bibliothek v5 (Zaphob, 14. Sep 2013, 18:54:59):
Ich war immer der Meinung, dass diese Liste von irgendwelchen Helferlein
bestaendig fortgefuert wird? Dies scheint aber nicht so. Bleibt die Frage, ob
das Absicht ist, bspw. direkter Befehl vom Kommandanten - oder blosse Faulheit
der Rekruten?!

-----------------------------------------------------------------------------



Themen inaktiver Spieler (Gabylon, 20. Okt 2013, 16:30:57):
Hi Trves,


ich paste einfach mal, was mir von einem Mitspieler mitgeteilt wurde:

Hier sind eine Menge interessanter Berichte durch mehr oder weniger inaktive
Spieler geblockt. Kann man die ggf. nach einer Zeit wieder freigeben, damit
sich andere Anwaerter damit beschaeftigen koennen?
Die Inaktiven muessen sich dann halt neue Berichte aus dem Pool holen, so sie
wieder aktiv werden. Waere aber schade, wenn das Wissen dazu dauerhaft
gesperrt wuerde.

Bitte um rege Diskussion, ob dieser Vorschlag Anklang findet und wenn ja,
welche Zeit der Inaktivitaet man dafuer als Grenze nehmen koennte.


gab

-----------------------------------------------------------------------------



Re: Themen inaktiver Spieler (Croft, 20. Okt 2013, 16:39:42):
~#! rn=Gabylon rt=1382279457 rg=gilden.kaempfer
~#! tid=1382279457
Definiere Inaktivitaet :-)

Croft

-----------------------------------------------------------------------------



Re: Re: Themen inaktiver Spieler (Gabylon, 20. Okt 2013, 17:33:15):
~#! rn=Croft rt=1382279982 rg=gilden.kaempfer
~#! tid=1382279457
Eben darum gehts ja (auch).

-----------------------------------------------------------------------------



Re^3: Themen inaktiver Spieler (Croft, 20. Okt 2013, 17:38:20):
~#! rn=Gabylon rt=1382283195 rg=gilden.kaempfer
~#! tid=1382279457
Ah, du schriebst nur von Zeit.

Croft

-----------------------------------------------------------------------------



Re: Themen inaktiver Spieler (Ark, 20. Okt 2013, 18:09:29):
~#! rn=Gabylon rt=1382279457 rg=gilden.kaempfer
~#! tid=1382279457
Bin dafuer.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Re: Themen inaktiver Spieler (Humni, 20. Okt 2013, 18:10:38):
~#! rn=Ark rt=1382285369 rg=gilden.kaempfer
~#! tid=1382279457
Dito. Grundsaetzlich wuerde ich z.B. sagen, jemand ist inaktiv, der seit x
Jahren nicht mehr da war. Ich schlage mal x=2 vor.

Humni

-----------------------------------------------------------------------------



Re^3: Themen inaktiver Spieler (Zook, 20. Okt 2013, 19:37:16):
~#! rn=Humni rt=1382285438 rg=gilden.kaempfer
~#! tid=1382279457
Dito.
Auch wenn ich mit x=1 gut leben koennte; ich mein, wer ein Jahr
nicht da war ... und er bekommt ja dann einfach nen neues Thema,
wenn er mag.

ZOok

-----------------------------------------------------------------------------



Re^4: Themen inaktiver Spieler (Chagall, 20. Okt 2013, 19:38:00):
~#! rn=Zook rt=1382290636 rg=gilden.kaempfer
~#! tid=1382279457
Der betroffene Spieler sollte aber definitiv informiert werden, dass sein
Thema neu vergeben worden ist und er sich ein neues holen soll. 

MC

-----------------------------------------------------------------------------



Re^5: Themen inaktiver Spieler (Zook, 20. Okt 2013, 19:39:48):
~#! rn=Chagall rt=1382290680 rg=gilden.kaempfer
~#! tid=1382279457
Waere ein guter Stil: "Du solltest einmal bei Brieseltrim
vorbseisehen. DRINGEND!"

Zook

-----------------------------------------------------------------------------



Re^6: Themen inaktiver Spieler (Chagall, 20. Okt 2013, 19:40:22):
~#! rn=Zook rt=1382290788 rg=gilden.kaempfer
~#! tid=1382279457
Dann kann er auch gleich einen Verweis kriegen, weil der Bericht nicht
rechtzeitig abgegeben wurde.

MC

-----------------------------------------------------------------------------



Re^7: Themen inaktiver Spieler (Croft, 20. Okt 2013, 22:56:33):
~#! rn=Chagall rt=1382290822 rg=gilden.kaempfer
~#! tid=1382279457
Also Inaktivitaet==Nicht eingeloggt sein. Find ich ok ;-)

Croft

-----------------------------------------------------------------------------



Re^8: Themen inaktiver Spieler (Saray, 21. Okt 2013, 10:48:56):
~#! rn=Croft rt=1382302593 rg=gilden.kaempfer
~#! tid=1382279457
Das klingt doch gut.
Inaktivitaet =1 Jahr.
Wenn dann ne Meldung kommt, sich doch bitte beim Chef zu melden fuer neue
themenvergabe, ist doch alles geklaert.

-----------------------------------------------------------------------------



Re^9: Themen inaktiver Spieler (Zaphob, 21. Okt 2013, 17:15:07):
~#! rn=Saray rt=1382345336 rg=gilden.kaempfer
~#! tid=1382279457
Einverstamden.  Hier ein Hinweis fuer Neulinge: die alten reports sind
durchaus informativ und bei Gelegenheit online nachzulesen. Es koennte dazu
Tests geben..

-----------------------------------------------------------------------------



Re: Themen inaktiver Spieler (Zesstra, 21. Okt 2013, 18:19:59):
~#! rn=Gabylon rt=1382279457 rg=gilden.kaempfer
~#! tid=1382279457
Ich finde das auch OK. Was mich betrifft, waeren auch 6 Monate Abwesenheit
ausreichend lang. Ich wuerde es ggf. auch soweit ausdehnen, dass nach 1 Jahr
mal angefragt wird, ob der Bericht noch kommt, auch wenn der Spieler in der
Zeit eingeloggt war... Und wer 2 jahre nach Erhalt des Themas nix hingekriegt
hat (egal ob eingeloggt oder nicht), sollte IMHO auch davon Abstand nehmen und
es anderen ueberlessen. Neue Themen kriegt man ja...

Zesstra

-----------------------------------------------------------------------------



Re^10: Themen inaktiver Spieler (Moonshine, 21. Okt 2013, 18:20:45):
~#! rn=Zaphob rt=1382368507 rg=gilden.kaempfer
~#! tid=1382279457
Um ggf. halbfertige Berichte nicht voellig sinnlos geschrieben zu haben, waere
ja auch  vielleicht die Moeglichkeit einzubauen, 1 Monat vor Ablauf der Frist
den Betroffenen eine eMail zu senden (ala Char-Loesch-Script).
Haette den schoenen Nebeneffekt, dass man vielleicht den ein oder anderen
wieder motiviert ...

Also eMail als eine Art "Warnung", vielleicht kommt ja der ein oder andere
wieder, ansonsten Thema nach 1 Monat freigeben.

Die Grenze von 1-2 Jahren scheint ein sinnvoller Wert fuer x zu sein.

-----------------------------------------------------------------------------



Re^11: Themen inaktiver Spieler (Ark, 21. Okt 2013, 19:57:07):
~#! rn=Moonshine rt=1382372445 rg=gilden.kaempfer
~#! tid=1382279457
Ja, auch wenn ich meine, dass > 6 Monate Abwesenheit, ohne dass wer um sie/ihn
weiss, mit einer an Sicherheit grenzender Wahrscheinlichkeit bedeutet, dass
mit einer Rueckkehr nicht mehr zu rechnen ist.
Gefuehlte Empirie, ich weiss, aber dennoch nicht ganz falsch. Und mal ganz
ehrlich, so ein Bericht ist meistens so schwer nicht. Ich bewerte persoenlich
a) Unterhaltungswert und b) praktischen Naehr-/Mehrwert. a) kriegt man auch
mit einem neuen Thema hin und b) it depends :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^12: Themen inaktiver Spieler (Humni, 21. Okt 2013, 20:19:28):
~#! rn=Ark rt=1382378227 rg=gilden.kaempfer
~#! tid=1382279457
b) wuerde ich auch bei meiner Bewertung ganz klar vom Thema abhaengig machen.
Wenn ich ein Gebiet beschreiben soll, erwarte ich einen gewissen Naehrwert,
aber das ist schon wieder schwierig mit der Abgrenzung zur KL. Wenn ich nur
ueber ein Spassthema schreibe, erwarte ich vor allem a).

Humni

-----------------------------------------------------------------------------



Re^13: Themen inaktiver Spieler (Gabylon, 22. Okt 2013, 23:40:26):
~#! rn=Humni rt=1382379568 rg=gilden.kaempfer
~#! tid=1382279457
Hi Trves,


nach allgemeiner Zustimmung wurden die Modalitaeten rund um den Bericht nun
wie folgt geaendert:

- Dem Spieler wird eine Frist von 21 Monaten ab Vergabe gesetzt. Diese Frist
  kann jederzeit mittels Befoerderungsnachfrage nachgeschaut werden.

- Nach 15 Monaten ab Vergabe erhaelt der Spieler Post, in welcher er darauf
  aufmerksam gemacht wird, dass er noch sechs Monate Zeit fuer seinen Bericht
  hat, bevor er ihm entzogen wird.

- Fairerweise werden alle Spieler, die nun in mehr oder weniger leichtem
  "Verzug" mit ihrer Abgabe sind, zunaechst per Post darauf aufmerksam
  gemacht, dass ihre Frist in 180 Tagen aublaeuft.
  Es werden dann sehr wahrscheinlich wieder viele interessante Themen frei.


gab

-----------------------------------------------------------------------------



Re^14: Themen inaktiver Spieler (Croft, 23. Okt 2013, 01:26:49):
~#! rn=Gabylon rt=1382478026 rg=gilden.kaempfer
~#! tid=1382279457
Oh, hat sich die Definition der Inaktivitaet doch gegenueber der hier im 
Thread deutlich geaendert.

Croft

-----------------------------------------------------------------------------



Re^15: Themen inaktiver Spieler (Zook, 23. Okt 2013, 08:48:28):
~#! rn=Croft rt=1382484409 rg=gilden.kaempfer
~#! tid=1382279457
In der Tat.
Zook

-----------------------------------------------------------------------------



Re^16: Themen inaktiver Spieler (Croft, 23. Okt 2013, 14:35:20):
~#! rn=Zook rt=1382510908 rg=gilden.kaempfer
~#! tid=1382279457
"Da Du Deinen Bericht bisher noch nicht erfolgreich abgeben konntest, moechte
ich Dich hiermit darauf aufmerksam machen, dass Dir o.g. Thema in exakt
180 Tagen, also im Laufe des 20.04.2014 ohne weitere Vorwarnung entzogen
wird -- auch wenn der Bericht noch zur Bewertung aushaengen sollte!"
Ist Letzteres so sinnvoll?

Croft

-----------------------------------------------------------------------------



Re^15: Themen inaktiver Spieler (Gabylon, 23. Okt 2013, 17:03:31):
~#! rn=Croft rt=1382484409 rg=gilden.kaempfer
~#! tid=1382279457
Ja, zunaechst fand ich auch, dass Inaktivitaet=abwesend eine gute
Gleichung ist; doch wer es weiss, notiert sich im Kalender, dass er
jedes Jahr 1x fuer 3 Minuten einloggen muss und schon blockiert er das
Thema auf Jahre.

gab

-----------------------------------------------------------------------------



Re^17: Themen inaktiver Spieler (Gabylon, 23. Okt 2013, 17:04:57):
~#! rn=Croft rt=1382531720 rg=gilden.kaempfer
~#! tid=1382279457
Auch hier: ich haenge kurz vor Fristablauf einen Blindtext ans Brett und
schon wuerde ich vor dem Themenentzug verschont.

gab

-----------------------------------------------------------------------------



Re^18: Themen inaktiver Spieler (Croft, 23. Okt 2013, 17:07:18):
~#! rn=Gabylon rt=1382540697 rg=gilden.kaempfer
~#! tid=1382279457
Und vollwertige Berichte, die kurz vor knapp aufgehaengt werden, sind
damit vergebene Liebesmueh.  Wieso dann nicht das Thema nach Ablauf
der Haengefrist kassieren und neu vergeben?

Croft

-----------------------------------------------------------------------------



Re^16: Themen inaktiver Spieler (Zook, 23. Okt 2013, 17:24:55):
~#! rn=Gabylon rt=1382540611 rg=gilden.kaempfer
~#! tid=1382279457
Das halte ich aber fuer wenig plausibel.

ZOok

-----------------------------------------------------------------------------



Re^19: Themen inaktiver Spieler (Zook, 23. Okt 2013, 17:29:05):
~#! rn=Croft rt=1382540838 rg=gilden.kaempfer
~#! tid=1382279457
Ich bin mir nicht sicher, ob eine Regelung so sinnvoll ist, die 
alle moeglichen "Manipulationsvarianten" ausschliesst. Ich denke,
wenn wer einfach nen Jahr nicht da war, dann kann man das Thema
neu vergeben, klingt doch gar nicht so kompliziert. 

Zook

-----------------------------------------------------------------------------



Re^18: Themen inaktiver Spieler (Gulahr, 23. Okt 2013, 17:34:22):
~#! rn=Gabylon rt=1382540697 rg=gilden.kaempfer
~#! tid=1382279457
Was waere denn daran so schlimm? Das wuerde ja schon bedeuten, dass derjenige
Interesse daran hat, das Thema zu behalten und man dementprechend auch noch
irgendwann mit einem Bericht rechnen kann. Ich wuerde den Leuten jetzt nicht
fest eine Zeit vorschreiben, einige schieben das halt gerne lange vor sich
her.
Und es loggt doch auch bestimmt keiner einmal im Jahr ein, um das Thema zu
behalten, obwohl er kein Interesse mehr am Spielen hat und genau um diese
Berichte geht's doch eher.

-----------------------------------------------------------------------------



Re^19: Themen inaktiver Spieler (Ark, 23. Okt 2013, 19:29:53):
~#! rn=Gulahr rt=1382542462 rg=gilden.kaempfer
~#! tid=1382279457
Btw. was ist mit neuen Themen? Werden die noch vorgeschlagen? Gibt es viele
angefangene Themen, die noch offen sind? M.W. nach sind es nicht so viele
aktive Level 22er, die grade Themen bearbeiten, oder? Ich stelle mal die These
auf, dass wir momentan ueber "Altlasten" (alte Berichte) reden, weniger ueber
neue. Insofern seh ich jetzt noch nicht den Run auf tolle Themen mit
anschliessender Blockade. Um mal ein wenig Stress aus der Diskussion zu nehmen
:-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^19: Themen inaktiver Spieler (Gabylon, 23. Okt 2013, 21:28:41):
~#! rn=Gulahr rt=1382542462 rg=gilden.kaempfer
~#! tid=1382279457
Mir ist es letztendlich nicht so wichtig, nach welchem Muster Themen wieder
freigegeben werden. Ich versuche bei solchen Sachen aber immer, moeglichen
Missbrauch von vornherein auszuschliessen. Dies habe ich in diesem Falle
dadurch versucht, indem jeder Anwaerter eine Frist von 21 Monaten gesetzt
bekommt. Meiner Ansicht nach reicht dies in der Regel voellig aus, um einen
Bericht zu schreiben, wenn man denn wirklich an einer Befoerderung
interessiert ist -- es soll ja nicht in eine Doktorarbeit ausarten.

Natuerlich kann man auch die einfachere Variante nehmen und sagen: wer laenger
als zB 18 Monate abwesend ist, kriegt seinen Bericht entzogen. Es entfiele die
Post (den Hinweis koennte man in der Befoerderungsnachfrage unterbringen),
einige in o.g. Variante noch zu klaerende Nebeneffekte wuerden wegfallen und
den Code koennte man einfacher halten.
Der grosse Nachteil den ich sehe, ist, dass hier jemand ein Thema -- aus
welchem Grund auch immer -- durch regelmaessiges Einloggen besetzt halten
koennte, obwohl ggf. jemand anders dieses Thema viel ehrgeiziger bearbeiten
koennte und wollte. Nachhaltiges Interesse des "Besetzers" am Thema kann
bestehen, muss aber nicht.
Mir ist es wirklich gleich, ich baue es gerne um. Vielleicht gibt es noch ein
paar andere Wortmeldungen dazu?


gab


p.s. Aktuell haben wir 60 ausstehende Berichte. Ich gehe davon aus, dass
     davon weniger als eine Handvoll momentan in Arbeit ist.

-----------------------------------------------------------------------------



Re^20: Themen inaktiver Spieler (Ark, 23. Okt 2013, 21:46:44):
~#! rn=Gabylon rt=1382556521 rg=gilden.kaempfer
~#! tid=1382279457
Es gibt noch einen Grund, vielleicht grundsaetzlich ueber eine Frist (egal ob
da, weg, aktiv, inaktiv ...) nachzudenken: ich hab mich in ein Thema
eingearbeitet, es gefaellt mir nach einer Weile immer weniger, bis ich es am
liebsten ignorieren wuerde. Aber aufsteigen mag ich trotzdem. Dann waere ich
froh, wenn ich das nach 12 Monaten wieder los waere. Zum Beispiel. Oder ist
das schon heute der Fall? Man koennte damit aber auch durch Inaktive besetzte
Themen mit "erschlagen".


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^21: Themen inaktiver Spieler (Gulahr, 23. Okt 2013, 22:20:09):
~#! rn=Ark rt=1382557604 rg=gilden.kaempfer
~#! tid=1382279457
Grundsaetzlich hast du zwar recht, es ist bloed, wenn jemand ein Thema hat,
welches ihm so gar nicht zusagt. Dann kommt vermutlich auch kein ordentlicher
Bericht dabei heraus, falls er denn mal einen abgibt. Aber ich wuerde das eher
getrennt voneinander betrachten. Ich bin da gegen eine einzige starre Frist,
in der man den Bericht fertigstellen muss, dafuer koennen einfach zu viele
Faktoren dazu fuehren, dass man dafuer laenger braucht.

Aber man koennte ja auch zusaetzlich zu einem automatischen Entzug des Themas
nach X Monaten Inaktivitaet auch eine optionale Moeglichkeit einbauen, die es
z.B. ab 12 Monate nach der Vergabe des Themas erlaubt, einmal zu wechseln und
ein neues zufaelliges Thema zu bekommen.

-----------------------------------------------------------------------------



Re^22: Themen inaktiver Spieler (Zesstra, 23. Okt 2013, 22:51:23):
~#! rn=Gulahr rt=1382559609 rg=gilden.kaempfer
~#! tid=1382279457
Wechsel des Themas war doch AFAIK jetzt schon moeglich, oder irre ich mich?
Also, ich wuerde das insgesamt pragmatisch sehen: ich finde eine
grundsaetzliche Frist ganz sinnvoll. Wenn jetzt jemand da wirklich einen
Bericht kurz vor Ende dann abgegeben hat, sehe ich jetzt nicht, warum man das
nicht mal kurz mit dem Gildenchef besprechen kann. Der muss dem Wunsch auf ne
kurze Verlaengerung ja nicht entsprechen, wenn da ein leeres Blatt haengt oder
das schonmal so gelaufen ist...
So oft, dass das nicht so regelbar waere, koennen diese Faelle ja gar nicht
vorkommen. (Ja, die beruehmten Einzelfaelle.)

Zesstra

-----------------------------------------------------------------------------



Re^23: Themen inaktiver Spieler (Gulahr, 23. Okt 2013, 23:07:19):
~#! rn=Zesstra rt=1382561483 rg=gilden.kaempfer
~#! tid=1382279457
Mir ist jetzt erstmal nicht bekannt, dass man das Thema wechseln kann, aber
das muss ja nix heissen ;) Der Sinn einer starren Frist erschliesst sich mir
halt nicht so ganz. Wenn jemand aktiv ist, warum soll der dafuer nicht laenger
Zeit haben? Ist mir doch voellig egal, ob er den Bericht nach 1 Woche oder 3
Jahren abgibt, Hauptsache, das coole Thema, was derjenige hatte, wird
bearbeitet. Und an Themen wird es jetzt auch nicht mangeln, wenn man die von
den Inaktiven zurueckholt. Wenn das derzeit 60 vergebene Themen sind, werden
doch bestimmt 50 wieder frei dadurch, wuerde ich mal vermuten. Selbst wenn es
deutlich weniger sind...soviele brauchen wir nu auch nicht.

-----------------------------------------------------------------------------



Re^24: Themen inaktiver Spieler (Humni, 23. Okt 2013, 23:11:18):
~#! rn=Gulahr rt=1382562439 rg=gilden.kaempfer
~#! tid=1382279457
Um der Diskussion mal ein wenig die Problematik zu nehmen: Derzeit habe ich 50
Leute mit Level 22 gefunden, und davon sind 7 im letzten Jahr aktiv gewesen.
Problem sind also die Inaktiven. Von daher waere fuer mich Inaktivitaet auch
eher das Mittel der Wahl.

Aber wenn die Diskussion in Richtung "Generelle Frist" laeuft, kann ich damit
erstmal auch leben. Nur sollten dann fuer die, die jetzt schon ein Thema
haben, und die aktiv sind, faire Uebergangsregeln gelten.

Humni

-----------------------------------------------------------------------------



Re^24: Themen inaktiver Spieler (Gabylon, 23. Okt 2013, 23:13:27):
~#! rn=Gulahr rt=1382562439 rg=gilden.kaempfer
~#! tid=1382279457
Nur so zwischendurch: man kann momentan nach 12 Monaten das Thema wechseln.
Ueber diese Zeiten (und alle anderen auch) kann man natuerlich diskutieren.

gab

-----------------------------------------------------------------------------



Re^25: Themen inaktiver Spieler (Gulahr, 23. Okt 2013, 23:14:38):
~#! rn=Gabylon rt=1382562807 rg=gilden.kaempfer
~#! tid=1382279457
Ah, gut zu wissen :)

-----------------------------------------------------------------------------



Re^26: Themen inaktiver Spieler (Humni, 23. Okt 2013, 23:22:44):
~#! rn=Gulahr rt=1382562878 rg=gilden.kaempfer
~#! tid=1382279457
und nur zur Info: Mein Skript ist wohl fehlerhaft, 50 Leute ist ein wenig zu
wenig. Aber ich glaube, die Relation und Groessenordnung stimmt in etwa.

Humni

-----------------------------------------------------------------------------



Re^24: Themen inaktiver Spieler (Ark, 23. Okt 2013, 23:25:50):
~#! rn=Gulahr rt=1382562439 rg=gilden.kaempfer
~#! tid=1382279457
Laenger Zeit? Vor dem Generalswerden? So einer fuehrt arme Nicht Trves im
Kampf? Hat man da mehr Zeit? Disziplin! Das ist alles, was man braucht! Alles
andere ist Mist!


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^25: Themen inaktiver Spieler (Gabylon, 24. Okt 2013, 00:01:03):
~#! rn=Humni rt=1382562678 rg=gilden.kaempfer
~#! tid=1382279457
Ich kann mich auch mit beidem arrangieren -- sinnvoll faende ich eine
generelle Frist allemal. Wenn man ein Thema hat, das einem grundsaetzlich
liegt, erhoeht das vielleicht nochmal den Anreiz, sich dahinterzuklemmen,
denn wer weiss, was das naechste Thema sein wird...?

Ich werfe einfach mal folgende Zeiten zur Diskussion in den Raum:

                            Alt        Neu

Berichtstausch            12 Mon.     9 Mon.

Berichtsentzug bei
Abwesenheit                 -        18 Mon.

genereller
Berichtsentzug              -        36 Mon.
(mit Post nach 30 Mon.)

Zeit fuer
Berichtsaushang           30 Tage    14 Tage


Spezielle Uebergangsregeln koennten dann sein:

Alle Spieler mit Level 22 bekommen ab sofort mind. 6 Mon. Zeit, um ihren
Bericht auszuhaengen. Den Spielern, die mit Stichtag 20.04.14 18 Mon. rueck-
wirkend nicht aktiv waren, sowie die, die zu diesem Tag mind. drei Jahre
rueckwirkend ihren Bericht haben (egal ob aktiv oder nicht), wird der Bericht
entzogen.

Feuer frei! :)


gab

-----------------------------------------------------------------------------



Re^26: Themen inaktiver Spieler (Zaphob, 24. Okt 2013, 14:48:34):
~#! rn=Gabylon rt=1382565663 rg=gilden.kaempfer
~#! tid=1382279457
Berichte zu entziehen, die schon aushaengen, finde ich bedenklich. Den Aushang
von 30 auf 14 Tage zusenkenfindeichunangebracht. Das Brett ist eh dauernd
leer, leider. Die sonstigen Fristen finde ich OK. Allgemeine Frist ist mir
egal. 

-----------------------------------------------------------------------------



Werwoelfe (Zaphob,  8. Nov 2013, 18:24:11):
Ein paar Werwoelfe haben mich um Ausbildung angebettelt. Sind diese "Personen"
ueberhaupt zum Kampf zu gebrauchen? Mir sind ja schon diese Katzenwesen aus
dem Dschungel irgendwie suspekt..

-----------------------------------------------------------------------------



Re^27: Themen inaktiver Spieler (Krellja, 16. Nov 2013, 21:01:40):
~#! rn=Zaphob rt=1382618914 rg=gilden.kaempfer
~#! tid=1382279457
Moin, moin,
um hier auch nach langer Zeit mal wieder was zu schreiben: 
Ich gehoere wohl zu denen, die Ihr erwischen wollt, mein Thema liegt schon
seit unzeiten auf Halde. 
Das war aber auch zu meinen wirklich aktiven Zeiten schon so, mein Problem
damals war einfach: Ich bin kein Held geschriebener Arbeiten. Halt ein echter
Trves :) 
Anders Gesagt, auch RL hat mich eine groessere Arbeit *etwas* aufgehalten. Ja,
an den sieben Jahren fuer die Diplomarbeit mag auch das MG massgeblichen
Anteil gehabt haben, aber trotzdem ...
Anders gesagt: Themenentzug aufgrund von nichteinloggen fuer mindestens 12
Monate finde ich ok. Themenentzug bei Spielen die sich zumndest ab und an
einloggen ist unnoetiger Druck.

So, mal sehen, wie das ganze hier mit telnet pur aussieht,
viele Gruesse 
Krellja

p.s. Ich waere meines Themas verlustig gegangen, hab nachdem ich die
Diplomarbeit dann irgendwann doch auch die Reihe bekommen habe und das Studium
durch hatte, ein paar Jahre nicht gespielt. Vor ein paar Jahren gab es dann
aber wieder eine laengere aktive Phase. Natuerlich ohne fertigen Bericht, s.o.
unter Diplomarbeit :)

-----------------------------------------------------------------------------



Fehler beim Einschaetzen entdeckt. (Tijo, 24. Nov 2013, 11:28:32):
Hi,
ist euch das auch schon aufgefallen? Ihr wolltet einen Werwolf einschaetzen -
und am Ende stand: Mondheuler gehoert einer vollkommen unbekannten Gilde an.
Das Gleiche bei Orks in Orkhausen die Uruk-Hai sind oder bei so komischen
Eiskriegern - ihr wisst schon: die Gilde bei Lasse Rein.
Warum ist das so? Ich mag es nicht sonderlich, wenn ich einem Gegner
gegenueberstehe und nicht weiss: welcher verdammten Gilde gehoert der an? Wie
hoch ist der in der Gilde? Was hat der auf dem Kasten?!
Denn wenn in der Beschreibung stuend: der und der ist noch ein suesser Welpe,
dann greif ich den vielleicht an. Eher weniger wenn da stuend: der und der ist
ein furchterregender Rudelfuehrer. Versteht ihr, was ich meine?
Falls ihr meinen Tipp fuer sinnvoll haltet, dann wuerd ich sagen, dass da mal
ein Magier gucken sollte, ob er da was machen kann.
LG Tijo - einfacher Soldat.

-----------------------------------------------------------------------------



Re: Fehler beim Einschaetzen entdeckt. (Ark, 24. Nov 2013, 11:36:48):
~#! rn=Tijo rt=1385288912 rg=gilden.kaempfer
~#! tid=1385288912
Die Forderung verstehe ich, den Hintergrund nicht :-)
Das ist doch eines Trves unwuerdig ... Gedankengut eines Klassenbullys auf dem
Pausenhof, immer auf die Kleinen (schaut der Lehrer hin und zieht mir die
Loeffel lang? Dann druff!), bloss keine unbekannten neuen Schueler hauen, es
sei denn, sie machen sich schon durch die Kleidung verdaechtig ;)
Aber da kommt mir eine Idee ... Einschaetzung faken, und bei Angriff Ablegen
der Schuelerkleidung und Zeigen der fiesen Muckis ... Touchdown!


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Re: Fehler beim Einschaetzen entdeckt. (Tijo, 24. Nov 2013, 14:13:49):
~#! rn=Ark rt=1385289408 rg=gilden.kaempfer
~#! tid=1385288912
Ha! Gut gesprochen. Ich habs aber so in Erinnerung, das die kleinen
Hosenscheisser MICH angegriffen haben. $ 2-Klssler gegen einen blinde
4-klssler. ist das etwa fair? und als ich dann einen erwischt hab und ihn zur
lehrerin schleppen wollt, is der so lange im kreis gerannt, bis ich gefallen
bin und dann haben sie nat|rlich wieder ganz viel mut gehabt und mich
getreten.
Is ja voll fair, ne?
LG Tijo

-----------------------------------------------------------------------------



Re: Re: Fehler beim Einschaetzen entdeckt. (Tijo, 24. Nov 2013, 14:19:41):
~#! rn=Ark rt=1385289408 rg=gilden.kaempfer
~#! tid=1385288912
Ach so, was das gedankengut eines Schulhofbullys angeht: Es hat nunmal nicht
jeder lust zum 54-mal abzukratzen.
LG Tijo

-----------------------------------------------------------------------------



Re^3: Fehler beim Einschaetzen entdeckt. (Ark, 24. Nov 2013, 21:56:19):
~#! rn=Tijo rt=1385298829 rg=gilden.kaempfer
~#! tid=1385288912
Damals hat man dafuer nicht den Lehrer bemuehen muessen :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^4: Fehler beim Einschaetzen entdeckt. (Zesstra, 24. Nov 2013, 21:57:40):
~#! rn=Ark rt=1385326579 rg=gilden.kaempfer
~#! tid=1385288912
Mal jetzt unabhaengig von den Details, grundsaetzlich faende ich es schon gut,
wenn die Kaempfer auch Uruk-hai und Werwoelfe kennen wuerden. In welchem
Detail sie die jetzt einschaetzen koennen, steht auf einem ganz anderen Blatt.

Zesstra

-----------------------------------------------------------------------------



Re^27: Themen inaktiver Spieler (Gabylon, 24. Nov 2013, 23:12:24):
~#! rn=Zaphob rt=1382618914 rg=gilden.kaempfer
~#! tid=1382279457
Hi Trves,


bevor das Thema ganz in Vergessenheit geraet, moechte ich es gerne noch
abschliessen. Es gelten nun die folgenden Zeiten rund um den Bericht:


                               Alt        Neu

Berichtstausch nach          12 Mon.     9 Mon.

Berichtsentzug bei durch-
gehender Abwesenheit nach      -        18 Mon.

genereller
Berichtsentzug nach            -        36 Mon.
(mit Post nach 30 Mon.)

Zeit fuer
Berichtsaushang               30 Tage   30 Tage


Sollten nach den 36 Monaten der Bericht noch zur Bewertung aushaengen, wird
das Thema dem Spieler nicht entzogen. Bei offensichtlichem Missbrauch dieser
Regelung muss dann der Gildenmagier entscheiden.


gab

-----------------------------------------------------------------------------



Waffengurt (Gabylon, 11. Apr 2015, 21:28:23):
Hi Trves,

die Waffengurtquest ist nun wieder aktiv. Gleichzeitig duerfen sich
diejenigen, die den Gurt schon hatten, bei Huzruck einen adaequaten
Ersatz abholen.

gab

-----------------------------------------------------------------------------



Das liebe Lernen (Gabylon,  8. Mai 2015, 21:33:03):
Hi Trves,


eine kleines Kaeferchen in Briesels Schreibtisch fuehrt seit einiger Zeit
dazu, dass man bei gewissen Monstern keinen Lernbonus erhaelt. Dies ist nun
behoben.

Gleichzeitig wurde ein Uralt-Kaeferchen in der hintersten Schublade gefunden,
der verhinderte, dass man bei sehr hohen UND gut gelungenen Techniken ein
klein wenig lernte, so wie frueher mal vorgesehen.

Beide Fehlerbehebungen fuehren nun dazu, dass ihr insgesamt spuerbar schneller
lernen solltet. Falls ihr das Gefuehl habt, dass dem immer noch nicht so ist,
sprecht mich bitte an.


gab

-----------------------------------------------------------------------------



Grossreinemachen (Gabylon,  8. Aug 2015, 00:07:29):
Hi Trves,

das Spellbook wurde von mir an einigen Stellen etwas praezisiert, an anderen
entruempelt und insgesamt ein klein wenig 'moderner' gemacht.
Fuer euch sollte sich im Ergebnis nichts aendern. Falls euch etwas wider
Erwarten seltsam im Kampf vorkommt, gebt mir bitte zuegig Bescheid.

Gruss,
gab

-----------------------------------------------------------------------------



arme Struv-Kneipe (Tijo,  4. Jan 2016, 11:25:52):
Hallo,

grosse betruebnis im Lande der sauffreude: aus irgendwelchen Gruenden ist der
Zwergelefant abgehauen und hat unsere Sauftopliste glatt mitgenommen.
*schnuefz*
Merkwuerdigerweise folgte ihm die Top-Idiotenliste und auch sonst alles, was
sich moeglicherweise mal so an Objekten in der Struv-Kneipe befand. was ist da
los?
Falls dies beabsichtigt ist, waere es ganz gut, wenn man die Gruende erfahren
koennte...

LG Tijo (Noe, ich fuehr jetzt nicht meinen Dienstgrad an. So eitel bin ich
nicht.)

-----------------------------------------------------------------------------



Re: arme Struv-Kneipe (Chagall,  4. Jan 2016, 14:25:47):
~#! rn=Tijo rt=1451903152 rg=gilden.kaempfer
~#! tid=1451903152
Der Zwergelefant macht sicherlich nur irgendwo Urlaub. Kann man ja durchaus
verstehen, schliesslich muss der ja staendig diese komischen Struvler und ihre
Gelage aushalten. Da den Toplisten langweilig ohne den Elefanten war, sind die
gleich mit in Urlaub gegangen.

MC

-----------------------------------------------------------------------------



Die Rumpelkammer (Gabylon,  9. Apr 2016, 02:02:45):
Hi Trves,

aus gegebenem Anlass wurde in der Rumpelkammer etwas aufgeraeumt.
Bei (neuen) Problemen bitte Bescheid geben.

gab

-----------------------------------------------------------------------------



Waffenschaerfen (Gabylon,  3. Aug 2016, 10:03:04):
Hi Trves,

die Meldung beim Ueberschaerfen hat sich etwas geaendert, sie entspricht
nun eher einer Warnung. Die Funktionalitaet ist unveraendert geblieben.

gab

-----------------------------------------------------------------------------



Fuer alte Neuspieler (oder neue Altspieler)... (Gabylon, 14. Apr 2017, 12:26:50):
Aus aktuellem Anlass:
Jeder, der vergessen haben sollte, wozu eine Technik erlernt wurde, kann sich
den dazugehoerigen excellenten (TM) Vortrag nochmals bei dem entsprechenden
Ausbilder anhoeren.
Dies ist schon laenger implementiert, ich wollte es nur nochmal in Erinnerung
rufen.

gab

-----------------------------------------------------------------------------



Berichtsbewerter gesucht (Joshua,  1. Jul 2017, 14:44:41):
Huhu,
Nyron hat fuer seinen Bericht nach nun 2 Wochen bereits einen Grossteil der
notwendigen Bewertungen erhalten. Aber es haben wohl auch alle mir bekannten
Kaempfer bewertet und es fehlen halt immer noch Bewertungen. Deshalb die
Bitte, wenn Ihr einen Gra'Takal oder hoeher habt oder kennt, der noch nicht
bewertet hat, dann bitte 1x Anschubsen. Waer zumindest schade, wenn es daran
scheitert ...

Danke und Gruesse von Joshua

-----------------------------------------------------------------------------



Re: Berichtsbewerter gesucht (Hight,  7. Jul 2017, 11:00:51):
~#! rn=Joshua rt=1498913081 rg=gilden.kaempfer
~#! tid=1498913081
done

-----------------------------------------------------------------------------



Re: Berichtsbewerter gesucht (Lev, 10. Jul 2017, 15:32:42):
~#! rn=Joshua rt=1498913081 rg=gilden.kaempfer
~#! tid=1498913081
Done.
Lev.

-----------------------------------------------------------------------------



Reparaturen (Notstrom,  4. Feb 2018, 22:58:40):
    Huhu Kaempfers,

ich werde mich die naechsten Wochen sicherlich erstmal in den Code reinlesen
muessen, werde aber hoffentlich nebenbei schonmal Bugs nachgehen koennen. Es
kann also durchaus sein, dass es mal knallt, wenn ich was nicht peile. Dann
bitte nicht sauer sein.

Wenn Ihr Bugs an Kaempferkram findet, bitte absetzen, mir per Mudmail senden
und/oder mich per tm ansprechen. Wenn Ihr Wuensche oder Anregungen habt,
dito, aber erstmal haben Bugs fuer mich Prioritaet.

Danke!
Notstrom.

-----------------------------------------------------------------------------



Motsognirs Gurt (Notstrom,  5. Feb 2018, 19:36:08):
... sollte jetzt ein klein wenig weniger buggen. Wenn jemand ausser DJTom
mutig ist, kann er/sie ihn auf erprobte Autoloadertruhenweise austauschen
und testen. Vorzugsweise mit entbehrlichen Waffen.

Danke,
Notstrom.

-----------------------------------------------------------------------------



Re: Motsognirs Gurt (Notstrom,  5. Feb 2018, 19:43:17):
~#! rn=Notstrom rt=1517855768 rg=gilden.kaempfer
~#! tid=1517855768
Oh, bitte den Waffengurt nicht gefuellt in die Autoloadertruhe reinlegen.
Niemand weiss, was in so einem Fall passiert.

Danke,
Notstrom.

-----------------------------------------------------------------------------



Re: Re: Motsognirs Gurt (Arathorn,  5. Feb 2018, 20:51:56):
~#! rn=Notstrom rt=1517856197 rg=gilden.kaempfer
~#! tid=1517855768
Entwarnung: Die Autoloadertruhe nimmt nur leere Guertel an. Solange was
drin ist, koennt ihr den Guertel nicht deponieren.

Arathorn.

-----------------------------------------------------------------------------



Re^3: Motsognirs Gurt (Zesstra,  5. Feb 2018, 21:48:52):
~#! rn=Arathorn rt=1517860316 rg=gilden.kaempfer
~#! tid=1517855768
Das war ja schlau von mir. ;-)

Zesstra

-----------------------------------------------------------------------------



Gegner mit Struvausbildung (Notstrom,  7. Feb 2018, 15:34:31):
Gegner mit Struvausbildung (von Magiern gern "Kaempfer-NPCs" genannt)
koennten demnaechst funktionieren. Bzw. so funktionieren, wie sie mal
erhofft waren.

Wenn sich Kaempfer-NPCs etwas mehr wehren als sonst: Super, lasst Euch
einfach vermoebeln. Wenn sich Kaempfer-NPCs viel mehr wehren als sonst:
Sagt mir bitte Bescheid. Wenn sich Kaempfer-NPCs gar nicht mehr wehren:
Sagt mir bitte Bescheid.

Danke,
Notstrom.

-----------------------------------------------------------------------------



Reparaturen II (Notstrom,  9. Feb 2018, 13:49:34):
Huhu Kaempfers,

ich mag gar nicht sagen, was ich gefunden habe. Belassen wirs dabei, dass
Gramdala euch auf bewaehrte Art einen neuen Kragen und die Autoloadertruhe
Euch auf ebenso bewaehrte Art ein neues Exemplar von Motsognirs Gurt
beschert. Das Spellbook hat auch von meinem Fund ... aeh, eher dessen
Bereinigung profitiert.

Falls irgendetwas funktioniert, sagt mir bitte wie ueblich Bescheid.

Schoenes Wochenende,
Notstrom.

-----------------------------------------------------------------------------



Re: Reparaturen II (Notstrom,  9. Feb 2018, 16:13:19):
~#! rn=Notstrom rt=1518180574 rg=gilden.kaempfer
~#! tid=1518180574
Gramdala hatte seltsame Vorstellungen davon, was "sauber" bedeutet. Euer
alter Kragen auch. Jetzt aber alles etwas weniger seltsam. Wenn Ihr Euch
einen neuen Kragen holt jedenfalls.

Besonderen Dank an Gulahr.

Bis bald,
Notstrom.

-----------------------------------------------------------------------------



Kaempfer-Spellbook (Notstrom, 14. Feb 2018, 15:47:51):
Huhu,

ich habe weitergemacht, die gruseligsten Codestellen im Kaempferspellbook
(also in der Implementierung Eurer Gildenfaehigkeiten) zu reparieren. Das
_sollte_ nun alles wieder genausogut fuer Euch funktionieren wie zuvor,
fuer das Mud insgesamt allerdings wesentlich besser (und damit auch fuer
Euch).

Falls neue Bugs bei Gildenfertigkeiten auftreten, sagt mir bitte Bescheid.
Falls alte Bugs bei Gildenfertigkeiten auftreten, sagt mir bitte Bescheid.
Falls Ihr Euch nicht sicher seid, ob ein Fehlverhalten als Bug einzustufen
ist, sagt mir bitte auch Bescheid.

Danke,
Notstrom.

-----------------------------------------------------------------------------



Kaempfer-Spellbook II (Notstrom, 15. Feb 2018, 10:53:59):
Huhu,

ich habe im Kaempfer-Spellbook einige ... Schnitzer repariert, die gar nicht
gingen. Zusaetzlich habe ich den nicht mehr ganz neuen, aber abermals
geaeusserten gildenbalanceerzmagierlichen Wunsch nach Wegfall der Lernsperren
im Spellbook umgesetzt.

Das heisst nicht, dass Ihr nun IMMER lernt, aber bestimmte Arten von Lern-
Immunitaet fallen kuenftig weg.

Falls Euch darueber hinaus andere Verhaltensaenderungen an Euren Fertigkeiten
oder am Lernverhalten auffallen, meldet Euch bitte.

Danke,
Notstrom.

-----------------------------------------------------------------------------



Ruckelfrei(er) (Notstrom, 15. Feb 2018, 13:20:51):
Huhu,

ich habe mir gerade einmal die Freiheit genommen, aus performancekritischem
Kampfcode direkt Schreibzugriffe auf die Serverplatte rauszunehmen. Ich hoffe
mal, dass es damit nun insgesamt alles etwas weniger ruckelt.

Notstrom.

-----------------------------------------------------------------------------



Re: Ruckelfrei(er) (Zesstra, 15. Feb 2018, 19:07:34):
~#! rn=Notstrom rt=1518697251 rg=gilden.kaempfer
~#! tid=1518697251
Da war immer noch was davon drin? *wein* Warum such ich ueberhaupt woanders
als in der Kaempfergilde...

Zesstra

-----------------------------------------------------------------------------



Reparaturen III (Notstrom, 15. Feb 2018, 23:32:35):
Huhu,

Gramdala hat wieder einen neuen Kragen und Eure Autloadertruhe wieder einen
neuen Waffengurt fuer Euch. Beide weisen Reparaturen auf, die die Erzmagier
gluecklicher machen, und glueckliche Erzmagier sind gut fuer uns alle.

Notstrom (gluecklich, wenn er grad nicht darauf guckt, was noch so zu
reparieren ist ...).

-----------------------------------------------------------------------------



Berichtsthemen von inaktiven Takal'Mor ... (Notstrom, 16. Feb 2018, 01:03:45):
... konnten aufgrund einer allgemein bekannten technischen Aenderung seit
sehr knapp einem Jahr nicht mehr freigegeben werden. Das sollte nun nach
einer entsprechenden Reparatur wieder funktionieren.

Vielen Dank an Arathorn fuers Draufzeigen.

Notstrom.

-----------------------------------------------------------------------------



Kragen und Kragenwaesche (Notstrom, 16. Feb 2018, 11:56:10):
Huhu,

Gramdala hat einen neuen Kragen fuer Euch. Sie und der Kragen sollten nun
eigentlich korrekt erkennen, wenn er schmutzig ist und Ihr einen neuen
bekommen sollt.

Danke an Gulahr.

Schoenes Wochenende,
Notstrom.

-----------------------------------------------------------------------------



Kellerarbeiten (Notstrom, 22. Feb 2018, 11:43:09):
Huhu,

gewisse Bereiche des Kellers unter dem Struv bedurften einer dringenden
Reparatur. Einige Dinge sind zwar noch defekt, deswegen werde ich da bei
Gelegenheit nochmal ranmuessen, aber zumindest ist der Grusel-Faktor
erstmal etwas gesenkt.

Falls dort Sachen defekter sind als bisher, sagt mir bitte wie ueblich
Bescheid.

Danke,
Notstrom.

-----------------------------------------------------------------------------



Dringende neue Aufgabe zu erledigen! (Notstrom, 24. Feb 2018, 01:55:40):
Moin Kaempfers!

Wie mir zu Ohren kam, benoetigt ein Kamerad mit Struvausbildung dringende
und diskrete Unterstuetzung. Information sollte am Bekanntmachungsbrett
aushaengen. Empfehle persoenliches Erscheinen unweit des Elfendorfes.
Belobigung nicht ausgeschlossen.

gez. Brieseltrim, Chef.

-----------------------------------------------------------------------------



Kaempfer-Spellbook III (Arathorn,  3. Mar 2018, 01:24:50):
~#! on=Notstrom ot=1520006408 og=magier.lpc
Huhu,

ich habe heute zwei Perlen gefunden, bei denen ich mich gewundert habe,
wie die ueberhaupt ihren Weg ins Spellbook gefunden haben, und warum
da noch kein draufschauender Magier roechelnd aufgezeigt hat. (Wers nicht
glaubt, kann Bugfix bzw. Zesstra fragen.)

Kurz gesagt: Die beiden Bugs betrafen das Lernen. Einer davon den Azubi-
Bonus. Das sollte nun wie vorgesehen funktionieren.

Notstrom.

-----------------------------------------------------------------------------



Kaempfer-Spellbook IV (Notstrom,  4. Mar 2018, 02:10:17):
Huhu,

ich habe gerade einen Gildenbalanceerzmagierwunsch umgesetzt, der es Euch
zukuenftig etwas leichter machen sollte, Eure Faehigkeiten zu verbessern.

Viel Spass beim Ueben,
Notstrom.

-----------------------------------------------------------------------------



Re: Kaempfer-Spellbook IV (Notstrom,  4. Mar 2018, 04:00:23):
~#! rn=Notstrom rt=1520125817 rg=gilden.kaempfer
~#! tid=1520125817
Huhu,

die erwaehnte Aenderung greift jetzt auch bei Waffenskills.

Viel Spass,
Notstrom.

-----------------------------------------------------------------------------



Genehmigungen fuers Klor'ndra (Notstrom,  4. Mar 2018, 20:37:13):
... sind ab sofort zumindest so modern, dass man das mit ihnen tun darf,
was man erwartet. Jedenfalls neu geholte Genehmigungen.

Hth,
Notstrom.

-----------------------------------------------------------------------------



Reparaturen IV (Notstrom,  5. Mar 2018, 15:24:50):
Huhu,

ich habe heute ziemlich weitgehende Cleanups ueber weite Teile des Gilden-
codes durchgefuehrt. Eigentlich sollte sich fuer Euch nichts geaendert
haben.

Falls Ihr doch etwas bemerkt, das sich anders verhaelt als gestern, dann
meldet Euch bitte.

Danke,
Notstrom.

-----------------------------------------------------------------------------



Noch mehr Lernen (Notstrom,  5. Mar 2018, 20:46:20):
Huhu,

ich habe erst mit Humni und dann mit dem Gildencode gesprochen. Azubis
kriegen nun ihren Lernbonus unabhaengig von ihrem Gildenlevel und dem ihres
Ausbilders. Ausserdem wirken sich zukuenftig Befoerderungssperren aufgrund
von Verweisen nicht mehr so stark aus, es gibt nun eine Obergrenze fuer
die Sperrzeit. Es steht Euch natuerlich frei, diese immer schoen am Limit
zu halten, da vertraue ich auf Eure Findigkeit.

Hth,
Notstrom.

-----------------------------------------------------------------------------



Die Berichtsliste ... (Notstrom,  6. Mar 2018, 01:43:32):
... in der Struvbibliothek stellt ihren Inhalt nun wieder korrekt dar.
Ganz vielen Dank an Arathorn fuer einen Abend gemeinsames Debuggen.

Notstrom.

-----------------------------------------------------------------------------



Yrdsteine und andere Objekte (Notstrom,  6. Mar 2018, 15:37:01):
Huhu,

ich habe heute mehrere Objekte der Kaempfergilde repariert, Aenderungen
sollten fuer Euch aber nur im Yrdstein feststellbar sein. Der Mechanismus,
wie leere Steine zerbroeseln, ging so nicht und wurde von mir umgestellt.
Das *kann* dazu fuehren, dass schwarze Steine auch mal ungefragt den Abgang
machen. Ausserdem war das Aufladen komplett defekt, die Kosten fuer den
hilfsbereiten Zauberer werden nun korrekt berechnet, und sinnfreie Auflade-
versuche sollten nun verhindert sein.

Das Ganze zieht aber erst bei frisch besorgten Steinen.

Viel Spass mit den Dingern,
Notstrom.

-----------------------------------------------------------------------------



Reparaturen V (Notstrom, 13. Mar 2018, 13:58:40):
Huhu,

weitere grossflaechige Cleanups erstrecken sich auch ueber diverse Kaempfer-
Items, u.a. Motsognirs Gurt und Euren Kragen. Beide koennt Ihr auf bewaehrte
Art erneuern.

Falls sich Dinge anders benehmen als bisher, meldet Euch bitte. Ansonsten
sollte eigentlich lediglich einiges performanter geworden sein.

Hth,
Notstrom.

-----------------------------------------------------------------------------



Re: Reparaturen V (Notstrom, 13. Mar 2018, 14:43:30):
~#! rn=Notstrom rt=1520945920 rg=gilden.kaempfer
~#! tid=1520945920
Huhu,

es hatte sich ein kleines, unbedeutendes Fehlerchen in den Kragen hinein-
geschlichen, das bei Dienstgraden ab General auftrat. Ist nun gefixt,
bitte nochmal neuen Kragen abholen.

Danke an Gulahr fuers schnelle Finden und Testen.

Notstrom.

-----------------------------------------------------------------------------



Kaempfer-Webseite (Alcina, 14. Mar 2018, 13:54:11):
Hallo zusammen,

aus bekannten Gruenden sind die Inhalte der Kaempfer-Webseite nicht mehr
zugaenglich. Das finde ich ziemlich schade, weil dort viele Informationen zu
finden waren. Ich wuerde gern diese Informationen wieder zusammentragen und
eine neue Webseite damit aufbauen wollen. Haette jemand Zeit und Lust, daran
mitzuwirken?

Viele Gruesse
Alcina

-----------------------------------------------------------------------------



Re: Kaempfer-Webseite (Guard, 14. Mar 2018, 16:05:57):
~#! rn=Alcina rt=1521032051 rg=gilden.kaempfer
~#! tid=1521032051
die von Gabylon geloeschten Daten sind natuerlich nicht verschwunden. Ich
stelle sie gern fleissigen Haenden zur Verfuegung, die sie fuer das MG weiter
pflegen moechten.
Die Webseite Trves.de wird zukuenftig die Gilde im Anderland
repraesentieren...

gruss

Guard

-----------------------------------------------------------------------------



Re: Kaempfer-Webseite (Zesstra, 15. Mar 2018, 21:12:42):
~#! rn=Alcina rt=1521032051 rg=gilden.kaempfer
~#! tid=1521032051
Ich finde die Idee gut, kann aber nicht wirklich was beisteuern. Ausser ggf.
vielleicht Webspace, aber den muesst ihr vermutlich nicht lang suchen. ;-)

Zesstra

-----------------------------------------------------------------------------



Dem Kragen an den Kragen ... (Notstrom, 16. Mar 2018, 10:40:03):
... gings in einem Patch, den Arathorn netterweise eingereicht hat. Fuer
Euch sollte sich nix geaendert haben, aber der Code ist wieder etwas sauberer
geworden.

Danke!
Notstrom.

-----------------------------------------------------------------------------



Re: Re: Kaempfer-Webseite (Alcina, 16. Mar 2018, 11:20:00):
~#! rn=Zesstra rt=1521144762 rg=gilden.kaempfer
~#! tid=1521032051
Ich hab jetzt die Domain trves.org registriert :-)

-----------------------------------------------------------------------------



Re: Dem Kragen an den Kragen ... (Notstrom, 16. Mar 2018, 11:48:02):
~#! rn=Notstrom rt=1521193203 rg=gilden.kaempfer
~#! tid=1521193203
Ich habe noch einigen weiteren Muell aufgeraeumt, diesmal "twer" betreffend.
Fuer Euch sollte sich eigentlich nichts geaendert haben. Falls doch, meldet
Euch (und es) mir bitte.

Danke,
Notstrom.

-----------------------------------------------------------------------------



Re^3: Kaempfer-Webseite (Miril, 16. Mar 2018, 21:55:16):
~#! rn=Alcina rt=1521195600 rg=gilden.kaempfer
~#! tid=1521032051
Cool! Weiter so, gibt bestimmt nen Orden von Brieseltrim :). Aber im Ernst,
find ich gut, dass sich jemand darum kuemmert, dass die Webseite wieder in
irgendeiner Form erscheint und zum MG gehoert.

Miril

-----------------------------------------------------------------------------



Re^4: Kaempfer-Webseite (Alcina, 16. Mar 2018, 22:07:58):
~#! rn=Miril rt=1521233716 rg=gilden.kaempfer
~#! tid=1521032051
Danke fuer die Blumen! Ich reiche einige davon sofort weiter an die Helfer im
Hintergrund, z. B. Guard, der mir die alten Inhalte zur Verfuegung gestellt
hat, und meine Korrektive Notstrom und Gulahr.

-----------------------------------------------------------------------------



Reparaturen VI (Notstrom, 20. Mar 2018, 11:05:46):
Huhu,

ich habe heute den Kragen grossflaechig repariert. Waehrenddessen sind auch
ein paar  Bugs aufgefallen, die ich gleich mal erschlagen habe. Die Fixes
beziehen sich allesamt auf das "twer"-Kommando.

Bitte sagt mir Bescheid, falls irgendwas nun nicht mehr so funktioniert wie
vorher.

Danke,
Notstrom.

-----------------------------------------------------------------------------



Re^3: Kaempfer-Webseite (Zesstra, 21. Mar 2018, 19:40:46):
~#! rn=Alcina rt=1521195600 rg=gilden.kaempfer
~#! tid=1521032051
Die neuen Gildenseiten unter trves.org sind nun von der MG-Homepage verlinkt.

Zesstra

-----------------------------------------------------------------------------



Re^4: Kaempfer-Webseite (Ark, 21. Mar 2018, 20:00:52):
~#! rn=Zesstra rt=1521657646 rg=gilden.kaempfer
~#! tid=1521032051
Nett ... werden die restlichen Berichte auch noch verlinkt/eingebaut? Und wie
kam man auf einen Norweger? :-D


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^5: Kaempfer-Webseite (Alcina, 21. Mar 2018, 20:02:09):
~#! rn=Ark rt=1521658852 rg=gilden.kaempfer
~#! tid=1521032051
Ja, werden sie. Ich arbeite die Stueck fuer Stueck ein. Der Norweger macht
fuer mein Empfinden schoene Designs :-) Ausserdem habe ich eine bisher
verschwiegene Affinitaet zum Norden :-))

-----------------------------------------------------------------------------



Hands up! (Notstrom, 24. Mar 2018, 13:37:11):
Huhu,

Arathorn, Bugfix und ich haben gestern und heute abgehackte, abgetrennte und
anderweitig entfernte eigene Haende repariert und modernisiert. Wenn daran
etwas nicht so funktioniert wie bisher, dann meldet Euch bitte bei einem von
uns.

Danke,
Notstrom.

-----------------------------------------------------------------------------



Re: Hands up! (Yxaqui, 27. Mar 2018, 09:39:37):
~#! rn=Notstrom rt=1521895031 rg=gilden.kaempfer
~#! tid=1521895031
Das funktioniert absolut ueberhaupt gar nicht!!
Wie bitte haut man sich mit einem Stab bei der Rueckendeckung (okay, verpatz
:) ) die Hand ab??? bei "guter" Technik... Also, das ist gaaaanz sicher total
kaputt und eine Verschwoerung der Zaubis!

Yxaqui, die natuerlich nicht sagt, wem das Missgeschick passiert ist

-----------------------------------------------------------------------------



Reparaturen VII (Notstrom,  3. Apr 2018, 15:57:36):
Huhu,

ich habe diverse Raeume der Kaempfergilde repariert. Falls dort nun etwas
nicht mehr klappt, was einmal ging, dann meldet Euch bitte.

Danke,
Notstrom.

-----------------------------------------------------------------------------



Re^5: Kaempfer-Webseite (Zook,  5. Apr 2018, 10:38:10):
~#! rn=Ark rt=1521658852 rg=gilden.kaempfer
~#! tid=1521032051
Das ist toll geworden!

Zook

-----------------------------------------------------------------------------



Reparaturen VIII (Notstrom,  5. Apr 2018, 13:34:43):
Huhu,

Arathorn hat sich einiger Unschoenheiten angenommen, ich habe seine Patches
soeben gemergt. Das betrifft diverse Stellen in der Gilde, ihren Raeumen,
NPCs und Objekten, auch Eurem Kragen. Wie ueblich steht Gramdala mit Buerste
und Waschpulver fuer Euch bereit.

Bis bald,
Notstrom.

-----------------------------------------------------------------------------



Re: Reparaturen VIII (Notstrom,  6. Apr 2018, 13:18:40):
~#! rn=Notstrom rt=1522928083 rg=gilden.kaempfer
~#! tid=1522928083
Huhu,

ich habe weitere Fixes gemergt und im Mud soeben neugeladen. Meldet Euch
bitte, wenn Dinge anders oder nicht mehr funktionieren, die schon einmal
funktioniert haben.

Danke!
Notstrom.

-----------------------------------------------------------------------------



Reparaturen IX (Notstrom, 16. Apr 2018, 19:21:28):
Huhu,

gestern hat Arathorn, heute ich ein paar Kleinigkeiten in Briesels Buero
repariert. Wo gehobelt wird, da fallen halt auch mal Spaene - danke an
die Bescheidsager. Wenn da wieder was krumm aussieht oder gar nicht
funktioniert, meldet Euch also ruhig.

Hth,
Notstrom.

-----------------------------------------------------------------------------



Re: Reparaturen IX (Chagall, 16. Apr 2018, 21:14:21):
~#! rn=Notstrom rt=1523899288 rg=gilden.kaempfer
~#! tid=1523899288
Ich glaube immer noch, das Brieselsenil ins Anderland desertieren wollte.
Deine ganzen Umbauarbeiten bei den Struvlern, der ganze Laerm der dabei
entsteht, den wollte er nicht mehr und hat sich froehlich vom Acker gemacht. 
Im Anderland wird er ja auch nicht mehr von Spielern belaestigt und hat seine
Ruhe.

MC

-----------------------------------------------------------------------------



Mein Kaempferbericht (Killa, 10. Mai 2018, 13:45:53):
Werte Trves,

mein Kaempferbericht haengt seit Dienstag, dem 8. Mai aus.
Ich waere euch ueberaus dankbar, wenn ihr ihn moeglichst zahlreich bewerten
koenntet.
Trommelt alle euch bekannten Trves zusammen,
ihr wisst, dass wir derzeit nicht so viele aktive davon haben.

Vielen Dank dafuer!

Killa

P.S.: Ich weiss, dass die Formatierung etwas ungluecklich geraten ist
teilweise.
Ich bitte, wohlwollend darueber hinwegzusehen,
weil ich ihn im Nachhinein nicht mehr editieren kann, 
ohne, dass er neu aufgehangen werden muss.
Bloede Technik...

-----------------------------------------------------------------------------



Re: Mein Kaempferbericht (Killa, 10. Mai 2018, 15:18:01):
~#! rn=Killa rt=1525952753 rg=gilden.kaempfer
~#! tid=1525952753
Hallo noch mal,

ich musste meinen Bericht erneut ufhaengen.
Dafuer sollte er jetzt schoen formatiert sein.
Ich hoffe, es macht nicht zu viele Umstaende 
fuer diejenigen, die ihn bereits bewertet haben,
das noch einmal zu tun.
Der Aufruf aus voranstehendem Artikel bleibt natuerlich gueltig ;).

Vielen Dank noch mal,

Killa

-----------------------------------------------------------------------------



Reparaturen X (Notstrom, 12. Mai 2018, 13:32:56):
Huhu,

Arathorn war heute morgen fleissig und hat Lzhy, dem Zwergelefanten und
Susi Sorglos eine kleine Fruehjahrskur verpasst. Falls bei denen was
nicht so funktioniert wie sonst, meldet Euch bitte bei einem von uns.

Danke!
Notstrom.

-----------------------------------------------------------------------------



Reparaturen XI (Notstrom, 19. Mai 2018, 18:31:13):
Huhu,

ich habe gerade diverse Fixes von Arathorn fuer das Struvpersonal eingebaut
(und selbst noch in einigen Faellen Hand angelegt). Ihr wisst ja, falls was
buggt, dann bitte bei einem von uns melden.

Danke,
Notstrom.

-----------------------------------------------------------------------------



ein herzliches Dankeschoen  (Killa,  5. Jun 2018, 19:19:32):
an alle, die meinen Bericht bewertet haben.
Ich hatte zwischenzeitlich durchaus Angst,
dass nicht genuegend Bewertungen zustande kaemen.
Immerhin sind aktive Kaempfer ja doch recht rar gesaet zur Zeit.

also, wie gesagt, vielen Dank dafuer
und auch fuer die anscheinend groesstenteils positiven Bewertungen,
wenn ich mir die Durchschnittsnote so anschaue :).

Killa

-----------------------------------------------------------------------------



Rundumschlag NPCs und Gilden-Master (Notstrom, 16. Jun 2018, 13:08:07):
Huhu,

Arathorn war in den letzten Wochen superfleissig und hat in insgesamt 100
(einhundert) Patches diverse Reparaturen an Gilden-NPCs und dem Kaempfer-
Master vorgenommen. Ich habe heute ueber einen guten Teil der Patches
druebergelesen (vier Augen sehen mehr als zwei), sie ins Git eingepflegt
und die entsprechenden Objekte im Mud neugeladen. Momentan sieht alles
supersauber aus. Der Code ist sehr viel schicker als zuvor (und damit
auch weit weniger fehleranfaellig), und diverse Bugs sollten behoben
sein.

Bitte meldet Euch bei Arathorn oder mir, falls etwas knallt oder sich noch
kaputter verhaelt als gewohnt.

Ein Riesen-Dankeschoen an Arathorn, nicht nur fuer die Patches, sondern
auch dafuer, wie strukturiert und angenehm (fuer mich als GM) er sie
aufbereitet hat.

Notstrom.

-----------------------------------------------------------------------------



Kampfperformance (Notstrom, 19. Jun 2018, 00:10:14):
Huhu,

endlich durfte ich. Der Kampfcode fuer Kaempfer ab Gildenlevel 24 ist nun
erheblich beschleunigt. Danke an Arathorn fuers Durchwinken.

Falls fuer Kaempfer mit Gildenlevel 24 nun was mit dem Verlernen komisch
aussieht, bitte melden. ;)

Notstrom.

-----------------------------------------------------------------------------



Re: Kampfperformance (Ark, 19. Jun 2018, 15:58:01):
~#! rn=Notstrom rt=1529359814 rg=gilden.kaempfer
~#! tid=1529359814
Sehr gut, die Kaempfer sind ab GL 24 erheblich beschleunigt :-)

Absichtlich (miss-?)verstehend


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Rundumschlag NPCs und Gilden-Master (Notstrom, 24. Jun 2018, 16:13:40):
~#! rn=Notstrom rt=1529147287 rg=gilden.kaempfer
~#! tid=1529147287
Huhu,

Arathorn hat einen weiteren Riesenstapel Patches eingereicht, die ich heute
mit ihm zusammen eingecheckt und neugeladen habe. Betrifft alles den Master,
also Gildeninterna in diversen Bereichen. Wenn Ihr feststellt, dass sich
Sachen, die frueher mal irgendwie funktioniert haben, ploetzlich zu ihrem
Nachteil veraendert haben, dann sagt uns bitte Bescheid.

Ein grosses Dankeschoen an Arathorn,
Notstrom.

-----------------------------------------------------------------------------



Re: Re: Rundumschlag NPCs und Gilden-Master (Notstrom, 24. Jun 2018, 16:54:41):
~#! rn=Notstrom rt=1529849620 rg=gilden.kaempfer
~#! tid=1529147287
Huhu,

auch diverse Gildenobjekte wurden repariert. Das Uebliche: Wenn was anders
nicht funktioniert als sonst, bitte melden.

Danke!
Notstrom.

-----------------------------------------------------------------------------



Spellbook (Notstrom,  1. Jul 2018, 11:08:40):
Huhu,

ich habe eine Reihe von Patches von Arathorn reviewt und ins Spellbook
eingepflegt. Der Code ist jetzt deutlich schicker. Falls etwas noch kaputter
ist als sonst, meldet Euch bitte bei Arathorn oder mir.

Dankeschoen!
Notstrom.

-----------------------------------------------------------------------------



Re: Spellbook (Notstrom,  7. Jul 2018, 11:05:29):
~#! rn=Notstrom rt=1530436120 rg=gilden.kaempfer
~#! tid=1530436120
Huhu,

ich habe heute eine weitere Reihe Patches von Arathorn reviewt und ins
Spellbook eingefuegt. Sieht alles supi aus, wenn was knallt, sagt bitte
zeitnah einem von uns Bescheid.

Danke!
Danke auch an Arathorn. :)

Schoenes Wochenende,
Notstrom.

-----------------------------------------------------------------------------



Re: Re: Spellbook (Notstrom,  8. Jul 2018, 18:26:20):
~#! rn=Notstrom rt=1530954329 rg=gilden.kaempfer
~#! tid=1530436120
Huhu,

die letzten Reparaturen haben einen Bug entschleiert, der moeglicherweise
schon laenger vorhanden war und lediglich bisher nicht ausloeste. Ich schaue
grad daran noch. Jedenfalls habe ich einen Fix appliziert, der das Problem
hoffentlich loest.

Danke an Bugfix fuer Sofortmassnahmen und an Yxaqui fuer melden udnd testen,
Notstrom.

-----------------------------------------------------------------------------



Reparaturen XII (Notstrom, 16. Jul 2018, 13:21:51):
... allerdings diesmal nur Kleinigkeiten. Das boeseste war ein Ueberseher
bei "Schmerz", der nun repariert ist.

Danke an Yxaqui,
Notstrom.

-----------------------------------------------------------------------------



Out of office (Notstrom, 27. Jul 2018, 11:29:18):
Huhu,

Briesel sollte jetzt nicht mehr grundlos ausserhalb seines Bueros abhaengen.
Falls dem doch so ist, meldet Euch bitte.

Danke,
Notstrom.

-----------------------------------------------------------------------------



Gilden-Aufwertung (Notstrom, 29. Jul 2018, 09:31:34):
Huhu,

Kaempfer sollten nun auf gildenbalanceerzmagierlichen Ratschluss hin
einschaetzen koennen, wenn ihr Kram beispielsweise aus Kaese ist.

Hth,
Notstrom.

-----------------------------------------------------------------------------



Re: Gilden-Aufwertung (Zaphob, 29. Jul 2018, 12:12:46):
~#! rn=Notstrom rt=1532849494 rg=gilden.kaempfer
~#! tid=1532849494
Das ist eine tolle Aufwertung. Danke an die Magier!

Ich wusste gar nicht, dass die Ausruestung aus so unterschiedlichen Dingen wie
z.B. Kaese bestehen kann. Das haben mir meine Ausbilder wohl verschwiegen.
Naja, Hauptsache es knallt ordentlich, oder?

-----------------------------------------------------------------------------



Re: Gilden-Aufwertung (Ark, 29. Jul 2018, 16:44:42):
~#! rn=Notstrom rt=1532849494 rg=gilden.kaempfer
~#! tid=1532849494
Klar, Kemfa konnten ja bisher Tragheilung und Ruestung nicht auseinanderhalten
:-D


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Re: Gilden-Aufwertung (Ark, 29. Jul 2018, 16:47:45):
~#! rn=Zaphob rt=1532859166 rg=gilden.kaempfer
~#! tid=1532849494
DT_FIRE gegen MAT_CHEESE? Ich weiss, wer gewinnt ... vor dem Tod kann der
Kemfa noch Kaese-Fondue schlemmen.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Befoerderung repariert (Notstrom, 31. Jul 2018, 15:46:39):
Huhu,

die letzten Reparaturen haben dafuer gesorgt, dass man nicht mehr befoerdert
werden konnte, wenn man alle Kriterien erfuellt hatte, aber sich noch Verweise
auf Eurer Karteikarte befanden. Dies sollte nun eigentlich behoben sein.
Klopft mal mit auf Holz.

Notstrom.

-----------------------------------------------------------------------------



Hinter ... (Notstrom, 14. Aug 2018, 19:53:52):
... vereidigt nun wieder ordnungsgemaess. Danke an Kalai, Arathorn und die
uebrigen Beteiligten.

Notstrom.

-----------------------------------------------------------------------------



Murd (Notstrom, 16. Aug 2018, 19:34:27):
... bildet nun wieder ordentlich aus. Danke an Arathorn und William.

Notstrom.

-----------------------------------------------------------------------------



Re: Murd (Notstrom,  1. Sep 2018, 23:52:37):
~#! rn=Notstrom rt=1534440867 rg=gilden.kaempfer
~#! tid=1534440867
Und nochmal wurde bei Murd repariert. Nun sollten auch die Uebungskaempfe
wieder einwandfrei klappen.

Bis bald,
Notstrom.

-----------------------------------------------------------------------------



Re: Re: Murd (Notstrom,  3. Sep 2018, 17:29:42):
~#! rn=Notstrom rt=1535838757 rg=gilden.kaempfer
~#! tid=1534440867
Ich meinte natuerlich Karak. Ja, Karak. Genau.

Notstrom.

-----------------------------------------------------------------------------



Mein Kaempferbericht (Zaphob,  2. Okt 2018, 22:46:59):
Werte Trves,

mein Kaempferbericht haengt seit Dienstag, dem 2. Oktober aus.
Ich waere euch ueberaus dankbar, wenn ihr ihn zahlreich bewertet.
Trommelt alle euch bekannten Trves zusammen, ihr wisst, dass wir 
derzeit nicht so viele aktive davon haben.

Vielen Dank dafuer!

Zaphob

P.S.: Ich weiss, dass diese Nachricht bereits vor kurzem ganz 
aehnlich hier in der Zeitung stand. Es stimmt, wir haben derzeit
tatsaechlich zwei Berichte zur Bewertung aushaengen!
Daher habe ich mich bei dessen Bekanntmachung bedient.
Ich bitte, wohlwollend darueber hinwegzusehen,
bis der Chef die Grenze entsprechend reduziert hat.
Mein Bericht ist aber komplett eigenstaendig. Viel Spass nun beim Lesen!

-----------------------------------------------------------------------------



Trophaeensammeln im Dschungel (Notstrom, 31. Okt 2018, 14:56:33):
... sollte nun eigentlich wieder funktionieren. Meldet Euch bitte, falls
es da noch hakt.

Danke auch an Bugfix,
Notstrom.

-----------------------------------------------------------------------------



Kaempfer-Webseite (Zaphob, 31. Dez 2018, 11:44:06):
Hallo zusammen,

nach Ruecksprache mit Alcina wird die Kaempfer-Webseite nun Teil der
MorgenGrauen-Webseite. Die bisherige Domain trves.org wird nicht mehr
weitergefuehrt. Die noch aeltere Domain trves.de zeigt ja seit einer Weile ins
Anderland, wie Guard schon im Maerz in dieser Rubrik berichtet hatte.

Jedenfalls duerft ihr euch die Kaempfer-Inhalte gerne mal wieder durchlesen
und ggf. Anmerkungen und Ideen hier loswerden. Insbesondere die Berichte sind
ja sicherlich auch fuer nicht-Kaempfer interessant.

Den Link findet man ueber die Gildenliste im Web, oder direkt hier: 

http://mg.mud.de/gilden/kaempfer/index.shtml

Gruesse,
Zap*

-----------------------------------------------------------------------------



Befoerderungserleichterung (Notstrom,  8. Aug 2019, 22:47:32):
Moin!

Auf gildenbalanceerzmagierlichen Ratschluss erhaelt nun der brave General
bei der Frage nach Befoerderung beim Kommandanten eine einigermassen
genaue Einschaetzung, wie weit er damit ist, harmlose NPCs zu ermorden
bzw. hartnaeckige Bluemchen zu pfluecken, im Idealfall natuerlich beides.

Ich nehme an, ein paar Patienten freuen sich nun - viel Spass damit. :)


Notstrom.

-----------------------------------------------------------------------------



Aufraeumarbeiten in der Bibliothek (Notstrom, 18. Aug 2019, 23:49:30):
Das Buch "Legendaere Waffen" erhielt eine Neuauflage. Wenn es da oder bei
der zugehoerigen Gildenquest Unstimmigkeiten gibt, meldet Euch bitte bei
mir.

Danke,
Notstrom.

-----------------------------------------------------------------------------



Motsognirs Waffengurt (Notstrom, 25. Aug 2019, 16:20:11):
Huhu zusammen,

da ich hier grad ziemlich Pickel krieg beim Debuggen des Waffengurtes:

Nutzt Ihr die Syntaxen, um Waffen an bestimmte Hakennummern zu haengen, sie
von bestimmten Hakennummern herunterzunehmen, und Hakenbelegungen zu
tauschen?

Ich frage, weil es den Code wesentlich vereinfachen wuerde, wenn dieses
Feature nicht benoetigt wuerde. Der Code meines Vorgaengers ist leider
qualitativ so schlecht, dass ich es begruessen wuerde, den Waffengurt wie
einen "normalen" Behaelter behandeln zu koennen. Die uebrigen Features des
Gurtes waeren davon natuerlich nicht betroffen.

Notstrom.

-----------------------------------------------------------------------------



Re: Motsognirs Waffengurt (Notstrom, 21. Sep 2019, 15:27:44):
~#! rn=Notstrom rt=1566742811 rg=gilden.kaempfer
~#! tid=1566742811
Huhu zusammen,

Danke fuer Euer Feedback. Ich habe heute wie angedeutet den Code von
Motsognirs Gurt grossflaechig entmistet (irgendwas um die 800-900 Zeilen
entsorgt und den restlichen Code ein wenig entamateurisiert). Das bedeutet
auch, dass sich ein paar Syntaxen geaendert haben. Die nun gueltigen Syntaxen
koennt Ihr wie gewohnt herausfinden, indem Ihr das gute Stueck idenfiziert,
oder jetzt auch ueber den Befehl "syntaxhilfe".

Ich habe keine Gurte ausgetauscht. Wenn Ihr diese Uptime noch nicht eingeloggt
wart, dann wacht Ihr direkt mit dem neuen Gurt auf. Wenn Ihr diese Uptime
bereits eingeloggt wart, koennt Ihr ihn (wenn Ihr mutig seid) wie gewohnt
mithilfe der rebootfesten Seherhaustruhe erneuern. Vielleicht probiert Ihr
zunaechst etwas mit entbehrlichen Waffen herum, es ist ja immer moeglich,
dass ich etwas uebersehen habe. Probleme, Wuensche und Fragen bitte wie immer
direkt an mich.

Ich hoffe, dass damit verschwundene Waffen nun der Vergangenheit angehoeren.


Schoenes Wochenende,
Notstrom.

-----------------------------------------------------------------------------



Schon wieder mehr Arbeit (Notstrom, 28. Sep 2019, 18:37:25):
Huhu Kaempfers,

wie einige von Euch vielleicht schon bemerkt haben, haengt am Schwarzen
Brett eine neue Gildenaufgabe fuer Seher. Viel Spass damit, metzelt zuhauf!

Schoenes Wochenende!
Notstrom.

-----------------------------------------------------------------------------



Kloiren ... (Notstrom, 16. Dez 2019, 16:53:02):
... versteht sich nun etwas verstaendlicher auszudruecken - und das in
seinem Alter! Danke an Zaphob fuers Draufzeigen. Ich habe bei Kloiren
gleich noch einige andere Dinge repariert, die ich einfach so nicht lassen
konnte. Bitte - wie ueblich - meldet Euch, wenn er Unsinn von sich gibt.

Hth,
Notstrom.

-----------------------------------------------------------------------------



Motsognirs Gurt (Notstrom, 16. Dez 2019, 18:42:03):
    Huhu!

Auf speziellen Wunsch eines Kaempfers habe ich die Moeglichkeit, Scroll zu
verringern neu in den Gurt implementiert. Ihr koennt Euch den neuen Gurt
auf bewaehrte Weise besorgen. Wenn Ihr diese Uptime noch nicht eingeloggt
hattet, erhaltet Ihr ihn ungefragt.

Danke fuers Melden!
Notstrom.

-----------------------------------------------------------------------------



Re: Kloiren ... (Bendeigid, 19. Dez 2019, 10:10:41):
~#! rn=Notstrom rt=1576511582 rg=gilden.kaempfer
~#! tid=1576511582
Vorweg: Dass Kloiren ein ZWERG ist weiss ja jeder. Die Schlussfolgerung, dass
der Unsinn von sich gibt ist damit immanent. Seit wann geben die Staubfresser
ueberhaupt Sinnvolles von sich?  Immerhin, wenn er verstaendlicher redet ist
das super! 

Z'par Servu,

Bendeigid

P.S.: DANKE Notstrom fuer's Kaeferjagen! Top!

-----------------------------------------------------------------------------



Teilnahme am Klorn'dra (Notstrom, 13. Jan 2020, 14:31:08):
Huhu,

nach Revision der Zentralen Dienstvorschrift, Kapitel 5, Paragraph 27,
Absatz 13 und Anhang LXIV der Verordnung zur Reisekostenberechnung von 
Nicht-Struvangehoerigen mit Transportmitteln des Struv wurden Kosten und
Gueltigkeitsdauer der Genehmigung zur Teilnahme am Klorn'dra neu
festgesetzt. Die Aenderung tritt mit sofortiger Wirkung in Kraft.

Zusaetzlich wurde aus versicherungstechnischen Gruenden die Mindeststufe
zur Teilnahme per willkuerlichem Dekret der Struvkommandantur heraufgesetzt.

Gez. unleserlich,
Brieseltrim, Kommandant.

-----------------------------------------------------------------------------



Smeagols Bericht (Smeagol, 22. Mar 2020, 11:06:20):
Hallo liebe Kaempfer 

nachdem ich ich diverse Berichtsthemen in den letzten Jahren verstreichen
lies, habe ich es endlich geschafft meinen Bericht ans Brett zu haengen.. ich
war nie ein guter Schreiber und werde es vermutlich auch nicht werden.

Mein heiliges Ich haette natuerlich am liebsten ueber Keulen des Morgengrauens
berichtet, wohingegen mein daemonisches Ich (huhu Vanir!) lieber ueber
Daemonen, die Chaosfestung oder Chaoskomponenten geschrieben haette. 

So ist mein Bericht genauso schizophren wie Smeagol (GOLLUM) geworden... 

ich hoffe, dass - auch wenn er vielleicht etwas anders ist - die Bewertungen
ausreichen, dass nach ca 20 Jahren auch der verrueckte Smeagol auch mal ein
Level aufsteigt :)

Herzlichen Dank vorab!

-----------------------------------------------------------------------------



Re: Smeagols Bericht (Zook, 22. Mar 2020, 14:35:14):
~#! rn=Smeagol rt=1584871580 rg=gilden.kaempfer
~#! tid=1584871580
Krass!

Zook

-----------------------------------------------------------------------------



Re: Re: Smeagols Bericht (Smeagol, 10. Apr 2020, 07:53:44):
~#! rn=Zook rt=1584884114 rg=gilden.kaempfer
~#! tid=1584871580
push .. es fehlen noch 3 Bewertungen .. BITTE !!!!

-----------------------------------------------------------------------------



Das Gelage in der Struvkneipe ... (Notstrom, 11. Apr 2020, 15:14:49):
... ist jetzt deutlich weniger defekt als vorher, ihr koennt Euch sogar
wieder an den Tisch setzen. Unter der Tischplatte hat ein groesserer
Umbau stattgefunden, so dass _eigentlich_ alles wie vorher funktionieren
koennte. Bitte meldet Euch, wenn ich da schiefliege.

Prost!
Notstrom [braucht jetzt erstmal nen Schnaps].

-----------------------------------------------------------------------------



Zauberausweichen (Notstrom, 15. Aug 2020, 17:51:40):
Der oben genannte Skill hat ein paar ... Bugfixes erhalten und sollte nun
so funktionieren, wie er offenbar gedacht war. Falls etwas offensichtlich
buggt, meldet Euch bitte bei mir.

Danke,
Notstrom.

-----------------------------------------------------------------------------



Modernisierungen (Notstrom, 30. Aug 2020, 16:30:56):
Huhu,

einige Items und NPCs haben eine kleinere Modernisierung erfahren. Wenn
sich demnaechst mit Gilden-NPCs oder -Items etwas anders verhaelt als
bisher, dann meldet Euch bitte bei mir.

Danke,
Notstrom.

-----------------------------------------------------------------------------



Bericht zu bewerten (Yxaqui, 20. Nov 2020, 19:38:14):
Hallo liebe Trves und Trvesinen,

ich moechte darum bitten, ab und zu Kloiren aufzusuchen. Das ist natuerlich
kein dezenter Hinweis darauf, dass dieser Knauserich den Sold auszahlen soll,
sondern darauf, dass dort ab und zu neue Berichte aushaengen, die es zu
bewerten gilt.
Meiner zum Beispiel :)))

Vielen Dank im Voraus,
Yxaqui, Kampfelefe mit Zeitproblemen. Und wenig Geduld.

-----------------------------------------------------------------------------



Lernen von Gildenfaehigkeiten (Notstrom, 23. Dez 2020, 00:25:12):
Huhu,

in Absprache mit dem EM Gildenbalance habe ich soeben den Lernknick von
Gildenfertigkeiten bei einem Skill > 90% entfernt. Die letzten Prozente
sollten sich also fuer Euch genauso gut bewaeltigen lassen wie das
restliche Lernen.

Frohe Weihnachten,
Notstrom.

-----------------------------------------------------------------------------



Lernerleichterung (Notstrom,  8. Jan 2021, 23:16:02):
... gibt es nun eine kleine bei Rueckendeckung. Preiset den Drachen!

Notstrom.

-----------------------------------------------------------------------------



Re: Lernerleichterung (Humni,  8. Jan 2021, 23:25:38):
~#! rn=Notstrom rt=1610144162 rg=gilden.kaempfer
~#! tid=1610144162
Preiset eher Notstrom, der das entdeckt und umbaut. ;-)

Humni genehmigt sowas nur

-----------------------------------------------------------------------------



Re: Re: Lernerleichterung (Djtom,  8. Jan 2021, 23:29:20):
~#! rn=Humni rt=1610144738 rg=gilden.kaempfer
~#! tid=1610144162
Preiset einfach beide. Der Kaempfer ist dankbar.

-----------------------------------------------------------------------------



Schoene Bescherung (Notstrom, 10. Jan 2021, 15:41:41):
    Hallo zusammen,

mein Vorgaenger hatte im Jahre des Herrn 2006 die Berechnung der Gilden-
Topliste geaendert und damals die Lage so eingeschaetzt, dass das
Gildenrating im Gildenobjekt nicht mehr benoetigt wird. Nun verhaelt es
sich aber so (wie jeder in "hilfe stufenpunkte" nachlesen kann), dass
das Gildenrating in die Stufenpunkte, die jeder Spieler erspielt,
einfliesst.

Ich habe also die Berechnung des Gildenratings repariert, Euer Gildenrating
korrespondiert damit mit dem der Topliste (wie moeglicherweise einmal
geplant), so dass Ihr auch bequem schauen koennt, ob Ihr Euch verbessert
habt.

Im Effekt tendiert die Korrektur des Gildenrating dazu, dass kleine Spieler
temporaer ein paar Stupse verlieren, groessere Spieler aber welche hinzu-
gewinnen. Das liegt daran, dass nun mehr als nur die Mehrheit der absoluten
Kaempfer-Fertigkeiten in das Gildenrating einfliesst. Wundert Euch also
nicht, wenn Ihr ploetzlich scheinbar grundlos erhoehen koennt oder wenn
"kosten kurz" ploetzlich einen niedrigeren Stand angibt als erwartet. Dies
sollte ein einmaliger Effekt sein.


Hth,
Notstrom.

-----------------------------------------------------------------------------



Neuer Kaempferkragen (Notstrom, 25. Jan 2021, 13:43:30):
    Hallo Kaempfers,

ich habe einige performancerelevante Reparaturen im Kaempferkragen
vorgenommen. Gramdala waere entzueckt, Euch einen neuen zu verschaffen.

Hth,
Notstrom.

-----------------------------------------------------------------------------



