Neue Rubrik in der MPA (Rochus, 25. Apr 1995, 17:39:54):
So, fuer alle Karateka und solche, die es werden wollen, gibt
es jetzt diese Rubrik...

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



fortschritt... (Thorin, 26. Apr 1995, 10:57:21):
Hab mal meinen Zweitie/Testie 45 Minuten nur kaempfen lassen...
Ergebnis:
Funakoshi sagt: ``Du kannst Choku-zuki: 18.7%.''
Funakoshi sagt: ``Du kannst Age-uke: 4.7%, Gedan-barai: 7.7%,
Soto-ude-uke: 7.5% und Uchi-ude-uke: 6.7%.''
Dabei waeren die 45 Minuten reine Kampfzeit, geheilt hab ich ihn und er hatte
immer drei Gegner...
Nen ich nicht gerade Fortschritt, aber wie Rochus schon sagte:
Karate braucht seine Zeit (die ich nicht habe...)

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



Licht fuer Karatekas (Roadrunner, 27. Apr 1995, 10:34:41):
Also vorweg - ich bin KEIN Karateka, verfolge aber interessiert die
Diskussion.
MAn kennt doch aus (zugegebenermassen schlechten) Karatefilmen diese nette
Faehigkeit mancher der Helden auch mit verbundenen Augen den Gegner zu
erkennen und zu treffen. Diese Faehigkeit muesste sich ja nicht nur auf Gegner
beschraenken, sondern koennte bei entsprechender Konzentration auch auf den
aktuellen Raum bezogen werden (sprich MP-Verlust). ----   Waere ja nur mal so
'ne Idee.

					Roadrunner

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



Re: Licht fuer Karatekas (Yantro, 27. Apr 1995, 10:37:42):
#! rn=Roadrunner rt=798971681

Also ich kenne das mehr aus sehr guten SF-Filmen wie StarWars...

            Yantro (machtvoll?)

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



Re: Re: Licht fuer Karatekas (Roadrunner, 27. Apr 1995, 10:56:02):
#! rn=Yantro rt=798971862

Hallo liebe sf-fans (bin auch einer),

Stimmt natuerlich - das hatte ich etwas vergessen - aber da gehts natuerlich
auch - ich dachte aber der bezug zu den Karatefilmen sei etwas angebrachter in
dieser Rubrik. Ich schaue die mir nicht regelmaessig an, aber habe letztens
das ding mit J.C.VanDamme gesehen - da war sowas drin - War eben frisch in
Erinnerung. - Daher.

					RoadRunner

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



Re^3: Licht fuer Karatekas (Beldin, 27. Apr 1995, 15:54:11):
#! rn=Roadrunner rt=798972962
Jaja die Faehigkeit gibts...
Wer sich dafuer interessiert, der kaufe sich Role-/Spacemaster und lese unter
dem entsprechenden Kapitel fuer "SLA" (was die Abk. heisst weiss ich selber
nicht so genau ;) nach :-)
Viele Leute nennen das auch blindfighting... *poehhh* waer ja viel zu
verstaenlich :>

Ciao...
Beldin

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



Re^4: Licht fuer Karatekas (Angus, 27. Apr 1995, 16:08:20):
#! rn=Beldin rt=798990851
Hi!
SLA heisst Special Location Awareness... Man fuehlt gewissermassen die Decke,
bevor man sich den Kopf stoesst ;)
- Angus - spielt selber kein RM, hat aber Freunde, die ihn staendig
ueberzeugen
wollen, dass das viel besser sei als AD&D ;)

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



SLA (Elric, 27. Apr 1995, 17:06:59):
SLA heisst Spatial Location Awareness.
Star Wars ist der totale Kitsch. Spaceballs ist spannender.
Und ansonsten ist die Idee mit dem "fuehlen" von Raum fuer Karateka meiner
Meinung nach witzig. Schafft halt nur fuer einen "Licht". koennte ja genauso
viel kosten wie der Lichtspruch, dann waere doch noch ein kleiner Nachteil
dabei. Mit der Farberkennung duerfte es auch etwas schwierig werden....
Ber das zu proggen... dagegen wuerden die Danaiden ihren Job wohl nicht
tauschen.

Genug der Klugscheiss (sz?) erei;
    Elric

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



Re: SLA (Guybrush, 27. Apr 1995, 19:30:10):
#! rn=Elric rt=798995219
Hm..ich knuddel mich immer so durch :)
hat auch was :)
Blubber..blubber..blubber ;
aeh :)

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



Re: SLA (Li, 28. Apr 1995, 08:25:40):
#! rn=Elric rt=798995219
Also ich moechte noch einmal meinen Senf zu dem Thema Licht fuer Karateka
dazugeben:
Also, dass Karateka die Sprueche "schaetz" und "identifiziere" bekommen, ist
ok (und in Arbeit Rochus?).
Aber Licht Spruch? Nein!
Was unterscheidet die Karateka dann noch von der abenteurergilde? gut die
einen Kaempfen mit Feuerbaellen, die anderen mit Karate. Aber sonst ist alles
gleich. Die Gilden waren doch so gedacht, Dass jede gilde UNTERSCHIEDLICHE
Dinge kann, so dass es interessant ist, wenn Leute aus verschiedenen Gilden
zusammenarbeiten, wie im "normalen" Rollenspiel halt.
Wenn denn dann die Moenchsgilde fertig ist, wollen dann auch alle anderen
Heilzauber, oder was sonst die Moenchsgilde ausmacht?
Dann haetten wir doch bei einer Gilde bleiben koennen, oder?

Li

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



Gildenunterschiede (Dwight, 28. Apr 1995, 10:16:57):
Holla
Nur mal ein paar gedanken meinerseits zur Karate- und anderer Gilden.
Ich denke auch, dass die Gilden verschiedene moeglichkeiten erlauben und
verhindern sollte.
Ein allgemeiner Lichtspruch fuer Karatekaempfer muss nicht sein, es koennte
ja evtl. ein Item gebn, nicht zu leicht zu besorgen, und nur fuer
Karatekaempfer zu benutzen
Ausserdem finde ich es schade, das man sich nichts mehr besorgen muss (waffen
Ruestung), es sollte doch ein paar sachen geben, die fuer einen Karateka
nuetzlich waeren (natuerlich keine super waffe oder Ruestung, man wird ja auch
so ein toller Kaempfer).
Zuekuenftige Gilden sollten noch mehr Spezialfaehigkeiten bekommen, damit
sich die Gilden wirklich unterscheiden, ein problem ist meiner Ansicht nach
nur, dass die Abenteuergilde schon eine Supergilde ist; Zaubern, gut kaempfen,
was will man mehr?
Vielleicht koennte man ja mit den Stats rumspielen, bei Eintritt in eine
bestimmte Gilde werden einem dazu passend z.B. ein paar Kraftpunkte abgezogen,
und bei der Int. aufgeschlagen (spezielle zaubergilde) oder so...
Man koennte doch auch Items nur fuer bestimmte Gilden benutzbar machen, und
auch Quests darauf abstimmen, das diese nur durch zusammenspiel verschiedener
Gilden zu loesen sind.

Ich warte jedenfalls gespannt auf neue Gilden.

Tschue

Dwight 'Doc' Gooden
     (seit 2 Wochen immer noch farbloser Guertel)

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



Re: Gildenunterschiede (Thorin, 28. Apr 1995, 10:42:29):
#! rn=Dwight rt=799057017
Tja, irgendwie bist du wohl in der falschen Gilde, Dwight. Denn es geht
ja gerade bei den Karatekas darum, DASS man keine Ausruestung zusammen-
suchen muss. Das sollte auch so bleiben, denke ich, denn sie sind ja so schon
sehr stark...
Die Abenteurergilde wuerde ich nicht unbedingt als stark einschaetzen,
nachdem, was ich bisher mit an infos und sources der Gilden angeschaut
hab, die noch kommen (wann bloss, stand nicht dabei), gibt es spaeter
bessere Gilden. Jede Gilde spezialisiert sich halt auf ein Gebiet, und so
wie Du Dich anhoerst, waere wahrscheinlich eine Art Kaempfergilde
am besten fuer Dich.
So bleibt Dir dasselbe wie manch anderen: Warten auf noch mehr Gilden :)
Just commenting, Thorin

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



Karate (Thorin, 28. Apr 1995, 10:51:55):
Also alles was recht ist...
Werdegang von Houdini in der Karategilde:
Ich hab Houdini mal Privatmonster geschaffen, und er hat seit gestern frueh
nur die ganze Zeit diese bekaempft, um sich hochzumetzeln. Lies sich ganz
gut ueber Windows ja machen ... Aber jetzt (gerade 5.Kyu bekommen) ist genug,
denn nach ich erhielt folgendes :
frage funakoshi nach anforderungen:
Funakoshi sagt:
``Folgendes musst Du noch ueben:
   Angriff:
  Age-teisho-uchi, Fumikiri-geri, Fumikomi-geri, Gyaku-mawashi-geri,
  Gyaku-mawashi-shitsui-geri, Heiko-zuki, Kagi-zuki, Kentsui-hasami-uchi,
  Mae-empi-uchi, Mae-geri-keage, Mae-geri-kekomi, Mae-shitsui-geri,
  Mawashi-geri, Mawashi-shitsui-geri, Mawashi-zuki, Mikazuki-geri,
  Otoshi-kentsui-uchi, Otoshi-shuto-uchi, Soto-shuto-uchi, Uchi-shuto-uchi,
  Ura-zuki, Ushiro-empi-uchi, Yoko-empi-uchi, Yoko-geri-kekomi.
   Abwehr:
  Age-teisho-uke, Gaiwan-nagashi-uke, Kake-shuto-uke, Ken-juji-uke,
  Mawashi-empi-uke, Mawashi-teisho-uke, Morote-sukui-uke,
  Otoshi-teisho-uke, Otoshi-ude-uke, Soto-sukui-uke, Tate-shuto-uke,
  Te-osae-uke, Uchi-shuto-uke, Uchi-sukui-uke.
  ''
Und dabei besass ich schon folgendes:
Funakoshi sagt: ``Du kannst Age-zuki: 49.6%, Choku-zuki: 90.3%,
Fumikiri-geri: 18.6%, Fumikomi-geri: 24.3%, Kagi-zuki: 29.1%, Kizami-zuki:
75.8%, Mae-empi-uchi: 17.0%, Mae-geri-kekomi: 25.4%, Mae-shitsui-geri:
26.0%, Mawashi-zuki: 32.8%, Otoshi-kentsui-uchi: 29.5%, Otoshi-shuto-uchi:
25.3%, Otoshi-uraken-uchi: 59.5%, Soto-kentsui-uchi: 33.5%,
Soto-shuto-uchi: 18.1%, Soto-uraken-uchi: 65.3%, Tate-zuki: 75.1%,
Uchi-kentsui-uchi: 26.6%, Uchi-shuto-uchi: 22.0%, Ura-zuki: 24.3% und
Ushiro-empi-uchi: 21.3%.''
Funakoshi sagt: ``Du kannst Age-teisho-uke: 22.3%, Age-uke: 79.2%,
Gaiwan-gedan-uke: 33.1%, Gaiwan-nagashi-uke: 42.7%, Gedan-barai: 96.4%,
Haiwan-nagashi-uke: 49.9%, Heishu-uke: 79.6%, Kakuto-uke: 37.0%,
Ken-juji-uke: 20.7%, Maeude-deai-osae-uke: 29.0%, Naiwan-nagashi-uke:
54.4%, Otoshi-ude-uke: 28.0%, Shuto-juji-uke: 25.0%, Shuto-uke: 90.4%,
Soto-shuto-uke: 90.4%, Soto-sukui-uke: 21.5%, Soto-ude-uke: 96.7%,
Te-nagashi-uke: 29.2%, Uchi-shuto-uke: 20.8% und Uchi-ude-uke: 88.1%.''
>

Irgendwann drehe auch ich durch ... Wenn ich mich auf den 10. Dan steigern
will, muss ich wohl 4-5 mal umblaettern, um meine neuen Anforderungen zu
lesen, oder wie ?
Ich halte die Karateka fuer keine schlechte Gilde, weil man ja auch keine
Ausruestung braucht, aber man kann nur jeden warnen: ueberlegt euch den
Schritt gut... Denn Houdini hat ca 30 Stunden NON-STOP gefightet, um auf
den jetztigen Status zu kommen. Daraus folgere ich, dass Rochus, als er
sagte,
das man in einem Monat sich nach oben auf dan 10 spielen kann, wahrscheinlich
einen reinen Monat Spielzeit meinte... Gott bewahre, wenn es stimmt ...
Naja, wollte nur meine Test-Ergebnisse mal kundtun (ich hoffe, es wird nicht
allzusehr als Kritik
gewertet, auch wenn eine leichte dahintersteckt...) Vielleicht sollte man
auch nochmal die Lernzeiten ueberdenken ...
Viel Spass weiterhin den Karateka, Thorin & Ex-Karateka-Houdini...

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



Re: Karate (Rochus, 28. Apr 1995, 11:52:38):
#! rn=Thorin rt=799059115
1. 5. Kyu an nur einem Tag ist ziemlich schnell.
2. 10. Dan gibt es nicht - fuer Spieler ist der 3. erreichbar, fuer
   Seher der 8. und fuer Magier und Funakoshi der 9.
3. Man muss nicht sehr hoch aufsteigen um Karate gut anwenden zu koennen
4. Spaeter kommen nur noch sehr wenige Techniken hinzu.
   Man muss dann nur noch die vorhandenen Techniken besser koennen.
   Hoehere Grade unterscheiden sich von den niedrigeren hauptsaechlich
   in der Treffsicherheit und der Wahrscheinlichkeit von besonders
   gut gelungenen Angriffen, sowie der Wahrscheinlichkeit des
   Ausweichens bei nicht abwehrbaren Angriffen.
5. Da Du Magier bist, solltest Du erst /gilden/karate.c lesen
   bevor Du Geruechte und Vermutungen verbreitest.

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



Re: Re: Karate (Grimmborn, 28. Apr 1995, 18:13:28):
#! rn=Rochus rt=799062758
Tja, genau das hab ich gemacht, Rochus, das lesen von /gilden/karate.c. Und
was soll ich sagen, was ich amAnfang als Kommentar gefunden habe?

Durch die Optimierung wurde es leider etwas unuebersichtlich :(

Dem ist eigentlich nichts hinzuzufuegen.
Ohh, ausser:
*** More: q,u,U,d,D,/<regexp>,<line> [1870=EOF] ***
Und, dass ich natuerlich realistisch betrachtet nicht mal annaehernd genug
verstehe um die Gilde auch nur ansatzweise wuerdigen zu koennen... ;-)

Grimmborn der Atheist

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



Re: Re: SLA (Wur, 29. Apr 1995, 05:15:29):
#! rn=Li rt=799050340
ja genau!
die karateka brauchen ja sonst auch keine ruestung, da ist doch genug platz
fuer schwere fackeln und so...
Wur - der lieber nicht damit anfaengt

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



abwehr/angriff (Thorin, 29. Apr 1995, 11:46:38):
Nur als Idee: Wie waers mit einem 'angriff ohne xxx und xxx' ?
Ab Kyu 5 notwendig, denke ich, auf jeden Fall erwuenscht ;=)

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



Re: Re: Karate (Nixihou,  2. Mai 1995, 16:38:50):
#! rn=Rochus rt=799062758
also einen tag fuer den 5. kyu ist laecherlich!
ich hab nixi (als anfaenger) in die gilde geschickt.
inzwischen ist er 18. stufe aber immer noch 10. kyu.
so ganz stimmen kann das nicht.

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



Identifiziere (Rochus,  4. Mai 1995, 19:48:17):
So, jetzt koennen sich Karateka vor Quests, fuer die man identifiziere
benoetigt, mit magischen Schriftrollen eindecken die diese faehigkeit
haben... natuerlich nicht umsonst...

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



Re: Identifiziere (Baron,  5. Mai 1995, 00:21:52):
#! rn=Rochus rt=799609697
Hmm, woher sollen die Spieler denn im Voraus wissen fuer welche Quest sie
diese SChriftrollen benoetigen Ketos?
Red Baron (*gruebelnd*

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



Re: Re: Identifiziere (Yantro,  5. Mai 1995, 08:44:15):
#! rn=Baron rt=799626112

Wenn du eine neue quest machst, dann nimmst du auch immer so viele fackeln
mit, wie in der loesung stehen oder aber gar keine, denn es darf ja nicht
sein, dass in einer quest dunkele Raeume sind, wenn das vorher nicht
angekuendigt ist....

ts ts ts .... ich fass es nicht, Baron!

                             Yantro:)

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



Re: Identifiziere (Leusel,  5. Mai 1995, 09:12:16):
Aeh, irre ich mich, oder sollte in Fernwest nicht unheimlich viel
mit P_INFO laufen? Das waere dann natuerlich nicht gerade sinnvoll,
wenn Karateka da ihr ganzes Geld in die Schriftrollen stecken muessen,
obwohl sie doch gerade in der Gegend (meine ich zumindest) sich doch
recht gut auskennen muessten.

Ich mein ja nur ...

   Leusel (Hey, das war mein erster Artikel !)

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



Re: Re: Identifiziere (Boing,  5. Mai 1995, 10:11:43):
#! rn=Leusel rt=799657936
Es gibt doch immer noch die Moeglichkeit der Zusammenarbeit:
teile beliebigem abenteurer mit:  Kannst Du mir mal was identifizieren?

  Boing

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



Re^3: Identifiziere (Grimmborn,  5. Mai 1995, 15:23:27):
#! rn=Boing rt=799661503

Falsch, der Befehl geht so:
teile <persoenlichem zweitie> mit Komm her, identifizieren. Und keine
Ausreden!

Grimmborn der Atheist

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



zauberei-mal wieder (Felagund,  5. Mai 1995, 16:05:01):
Was mir als karateka natuerlich immens fehlt ist der schnell spruch..wirds
den auch auf rolle geben oder wird der in zukunft auf andere anwendbar sein um
die kooperation zu foerdern??
*grins*.....Fela

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



Re: zauberei-mal wieder (Rochus,  5. Mai 1995, 17:16:41):
#! rn=Felagund rt=799682701
Identifiziere auf einer Schriftrolle genuegt -
aber ich kann mir sehr gut vorstellen dass es in einigen Gilden auch einen
auf andere anwendbaren schnell-spruch gibt -
das laesst sich naemlich mit wenig Aufwand programmieren
(eine Zeile Aenderung des ueblichen schnell-Spruches :)

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



Re: Re: zauberei-mal wieder (Orodreth,  5. Mai 1995, 17:28:56):
#! rn=Rochus rt=799687001
>(eine Zeile Aenderung des ueblichen schnell-Spruches :)
-genau das war gemeint ;))      Fela

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



Re^3: Identifiziere (Silvana,  7. Mai 1995, 09:43:32):
#! rn=Boing rt=799661503
Da hast Du ja im Prinzip recht, Boing, doch was ist mit Gegenstaenden, die
man nicht ablegen kann oder Gegenden wo sonst keiner hinkommt? Wenn ich
mir meine Files so ansehe, kommt das recht oft vor...
Silvana - fragt sich, ob sie weiterhin alles moegliche mit P_INFO spicken
          soll und empfiehlt den Karatekas in ihren Gegenden einen ganzen
          Sack voller Spruchrollen.

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



Uebung (Homini,  7. Mai 1995, 15:32:09):
Funakoshi sagt: ``Du kannst Choku-zuki: 2.2%.''
> gruesse
Du gruesst.
> uebe Choku-zuki
Du uebst unter fachkundiger Anleitung einen Choku-zuki.
Du machst gewaltige Fortschritte.
> uebe Choku-zuki
Du uebst unter fachkundiger Anleitung einen Choku-zuki.
Du machst gewaltige Fortschritte.
> uebe Choku-zuki
Du uebst unter fachkundiger Anleitung einen Choku-zuki.
Du machst gewaltige Fortschritte.
> uebe Choku-zuki
Du uebst unter fachkundiger Anleitung einen Choku-zuki.
Du machst grosse Fortschritte.
> [Abenteuer:Silberstern] prima
uebe Choku-zuki
Du uebst unter fachkundiger Anleitung einen Choku-zuki.
Du machst grosse Fortschritte.
> uebe Choku-zuki
Du uebst unter fachkundiger Anleitung einen Choku-zuki.
Du verbesserst Dich etwas.
> uebe Choku-zuki
Du uebst unter fachkundiger Anleitung einen Choku-zuki.
Du verbesserst Dich ein wenig.
> frage funakoshi nach status
Funakoshi sagt: ``Du kannst Choku-zuki: 2.3%.''

Wo bitte sind die gewaltigen Fortschritte? Dritte Stelle hinterm Komma?

Homini
q
*

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



Re^3: Identifiziere (Guybrush,  7. Mai 1995, 20:03:56):
#! rn=Yantro rt=799656255
hae?
.....gruebelnd, Guybrush.

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



Re: Uebung (Rochus,  8. Mai 1995, 10:13:52):
#! rn=Homini rt=799853529
Nein, nicht dritte Stelle hinterm Komma sondern zweite Stelle - dritte
Stelle waeren minimale Fortschritte :-)

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



Arena (Rochus, 10. Mai 1995, 21:37:34):
Uebungskaempfe in der Arena gegen Mitspieler sollten jetzt WESENTLICH
effektiver sein als normale Kaempfe... bei entsprechendem Risiko,
versteht sich :-)
Die Verbesserung haengt aber davon ab, wie wenig man gesoffen hat -
sich zu zweit bei offenen Toren dort hinstellen und staendig heilen
bringt also nicht viel...

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



Re: Arena (Rochus, 10. Mai 1995, 21:52:10):
#! rn=Rochus rt=800134654
Ach ja, es koennte sein, dass man die Verteidigung erst schneller lernt,
wenn man ne neue Shell hat (also nach dem Erscheinen dieses
Artikels einmal mit ende raus war).

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



Re: Re: Arena (Grimmborn, 11. Mai 1995, 13:57:08):
#! rn=Rochus rt=800135530

Och, ein crash tuts auch. Soll ich mal? ;-)

Grimmborn der Atheist

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



Stufen (Anakin, 12. Mai 1995, 11:38:09):
Hiho,

Hmmm, die Karateka erhoehen ihre Spielerlevel aber immer noch in
der AbenteurerGilde. Also irgendwie passt das nicht.

Anakin()

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



Re: Stufen (Wargon, 12. Mai 1995, 11:56:13):
#! rn=Anakin rt=800271489
Die sind ja auch selbst schuld ;)
Das Erhoehen geht natuerlich in JEDER Gilde!
  Wargon

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



Karateka-Titel (Tasha, 13. Mai 1995, 23:46:27):
Hi!

Trotz allem rumgemaule (sogar meinem eigenem) finde ich die Karate-Gilde
eine klasse Sache. NUr eines fehlt mir:
Das schoenste an einer neuen Stufe ist doch, dass man mit seinem neuen Titel
angeben kann. Und siehe da, ich habe endlich meinen weissen Guertel und
kein Schwein bemerkts. Ist es nicht vielleicht moeglich, Karatekas ein
passendes Presay zu verpassen, dass bekanntgibt, dass der PC nicht nur
ein SPIELER-Level sondern auch ein besonderes GILDEN-Level erreeicht hat?

Tasha, die genauso eitel ist wie es jetzt den Anschein erweckt.

P.S.: Alle in diesem Artikel drinseienden Rechtschreibfehler sind
      Copyrightgeschuetzt. Also nicht nachmachen.

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



Re: Karateka-Titel (Fraggle, 16. Mai 1995, 09:32:43):
#! rn=Tasha rt=800401587
:Und siehe da, ich habe endlich meinen weissen Guertel und
: ...
Muss man den sich bei Karate auch verdienen? Ich dachte, ohne Guertel rutscht
einem die Hose runter :)

OK, ab damit nach schmarrn....

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



Zwischenstatus ? (Morgoth, 18. Mai 1995, 10:07:32):
Hi,
erstmal moechte ich mich fuer mein 6 Monate langes fehlen entschuldigen, aber
mein
Chef war doch etwas sauer auf mich.
Nun die eigentlich frage:
uebe soto-ude-uke
uebe uchi-ude-uke
uebe tate-zuki
Gibt es einen Befehl, mit dem man seine Techniken abfragen kann
nach dem motto :
Du kannst age-zuki, tate-zuki, gedan-barai.....
natuerlich NICHT mit %-anzeige?
Hm...das wars erstmal...ciao
Morgoth

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



Ach ja...noch was (Morgoth, 18. Mai 1995, 10:27:55):
uebe tate-zuki
das hatte ich ja ganz vergessen...
koenntet ihr (magier) vielleicht mal bekanntgeben um vieviel (in %) man sich
erhoeht, wenn die meldungen fortschritte, gewaltige fortschritte, minimal
usw.
kommen ???
Morgoth

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



skripte (Reinelde,  3. Jun 1995, 20:20:26):
hi muddies,

so langsam werden die skriptspieler echt nervend. wenn ich in der gilde
stehe und un ein spieler innerhalb von 2 sekunden 4 mal rein und raus rennt
und nach status anforderungen und genauen anforderungen schreibt dann
muellt der a.... mir und allen anderen den schirm voll. und das NERVT!!!
also wenn ihr schon automatisch hier rumrennen wollt. schreibt wenigstens
skripten die solchen schwachfug vermeiden.

reinelde - sauer und genervt

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



Re: skripte (Asmodis,  6. Jun 1995, 16:37:12):
#! rn=Reinelde rt=802203626
Wenn jemand da 4x rein und rausrennt innerhalb kuerzester Zeit, liegt es wohl
an seinen Programmierkuensten, sprich, das Skript ist Sch....
Also sag nix generell gegen 'Skriptsppieler', da sind nur diese 'Spezies',
die unserem Ruf schaden.

             Ciao, Asmodis(Trigger-Spieler und Gelegenheits-'Scripter')

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



Re: Re: skripte (Reinelde,  6. Jun 1995, 19:41:50):
#! rn=Asmodis rt=802449432
hi asmodis,

vor dem naechsten reply bitte den ganzen artikel lesen

reinelde

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



vorschlag und Scripts (Morgoth, 19. Jun 1995, 11:28:24):
Hi,
also folgendes :
Um vernuenftig Karate zu lernen gibts ja nu genug moeglichkeiten, aber
vorraussetzung ist doch wohl hohe MP's um effektiv zu sein. Das problem ist,
"Anfaenger" wiisen das nicht und finden es ganz toll der Karate-Gilde
beizutreten. So ist es naemlich Bienchen ergangen. Dummerweise hat sie nur 58
Mp's. Um die Pruefung fuer den naechsten Kyu zu erlangen muss sie einiges
ueben. Um ueben zu koennen muss sie mehr MP's haben. Um mehr MP's zu bekommen
muss sie durchs MG ziehen. Um zu ueberleben muss sie teilweise gut bis sehr
gut kaempfen koennen( und um an einige ZT's zu kommen). Das kann sie aber
nicht, weil sie Karate nicht effektiv genug ueben kann, weil.......usw..
Bitte setzt doch dort eine Warnung oder eine Abfrage rein, ob MP > 100 oder
so!!

zu den scripts....hm es gibt ja wohl zwei (oder mehr) arten von scripts. Ich
gebe zu (flame me) dass ich beide arten benutze. Die erste ist ein einfaches
idlen im Karate-Dojo um mittels eines Triggers eine Technik zu ueben.
Diese Methode ist sehr 'idle-zeit' intensiv und bringt in hoeheren kyu's(sp?)
nicht mehr so viel.
Die zweite Methode ist halt per 'script' irgendwelche monster zu killen, zu
tane tanken usw...
Dabei kann es eben vorkommen, dass man sich mal verlaeuft, oder anderen etwas
'klaut'. das liegt eben an den 'bloeden' scipts die zu allgemein sind. mein
script(bzw. das abgeaenderte von yeti) nimmt nur die sachen der monster, die
ich auch wirklich kille.
warum ich scripts benutze???
Weil ich leider nicht die moeglichkeit habe abends 'live' zu spielen. und
tagsueber....naja, ich sach nur laaaaaaaaaaaag...
ich hab mich mal getraut son dummen dunkelelf anzugreifen....aber nur mit
sackhaaresbreite bin ich da entkommen......
also ich schaeme mich nicht scripts zu benutzen, wenn ich irgendwem mal was
klaue soll er mir ne mail schreiben und er bekommt die sachen zurueck(nein ich
werde jetzt kein verteiler, ich ueberpruefe alles)

bis denne......

Morgoth

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



Karatebuch (Ryne, 20. Jun 1995, 18:42:12):
Hi!

Ich habe in meinem Haus jetzt auch ein kleines Karatebuch liegen, in dem die
verschiedenen Techniken nach bestimmten Kriterien sortiert sind - wer
Interesse
hat, kann es im Schlafzimmer meines Ballparks finden, es liegt auf dem
nachttisch (womit mal wieder Ryne VL-RL ein Stueckchen mehr angeglichen worden
ist ;-).

Viel Spass damit !

Ryne

P.S.: wer Verbesserungsvorschlaege hat, her damit, ich nehm die gerne auf -
gleiches gilt fuer Erweiterungsvorschlaege !

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



Lerntempo (Rochus, 22. Jun 1995, 21:25:38):
Ich habe jetzt 2 Dinge getan:
1. Das Lerntempo ist jetzt anfangs, wenn man eine Technik noch nicht
so gut kann, VIEL hoeher als frueher.
2. Ich habe Sperrfristen zwischen die einzelnen Stufen gesetzt,
wie im richtigen Karate auch. Dabei entspricht eine Woche
RL-Sperrfrist einer Stunde Spielzeit, d.h.
  6 Stunden bis zum 9. Kyu (im richtigen Karate sind es 6 Wochen)
 12 Stunden zwischen den Kyus (RL 3 Monate)
 52 Stunden zwischen Braungurt und Schwarzgurt (RL 1 Jahr)
104 Stunden zwischen den Dans (RL 2 Jahre)

Ich hoffe das wird die Skripts etwas unattraktiver machen,
zumindest was Karate betrifft :-)

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



PS: Sperrfristen (Rochus, 22. Jun 1995, 21:30:54):
Wer zum Zeitpunkt als ich den letzten Artikel geschrieben habe schon in der
Karate-Gilde war, hat Glueck gehabt:
Die Sperrfristen sind erst nach der naechsten Erhoehung aktiv :-)

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



sperrzeitanzeige (Khidar, 23. Jun 1995, 10:45:48):
Kann man bitte die noch verbleibende Sperrzeit bei 'pruefe' angezeigt
bekommen?

Khidar, xmal in die Gilde rennend.

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



PPS: Sperrfristen (Rochus, 23. Jun 1995, 11:54:22):
Neuerdings stimmen die angegebenen Abstaende sogar,
ich hatte gestern Stunden leider mit Tagen verwechselt :-)

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



Angriff (Slash, 23. Jun 1995, 19:48:10):
Als erstes mal vielen DAnk fuer das Buch. Liegt bei mir witzigerweise an
derselben RL-Stelle.
1. findest du 104 Tage nicht ein wenig hart??	
2. wie waere es mit einer moeglichkeit fuer angriff mit ausser xxx fuer
Du greifts jetzt mit allem ausser xxx an. So kann man seine 100&-technen
draussen lassen, da uebt man soundso nichts mehr.

3. Eine rolle mit der man die groesse und damit die erwartete Trefferflaeche
der npc's identifizieren kann.

Slash

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



Frage Funakoshi nach Status (Slash, 25. Jun 1995, 18:39:17):
Koennte man bitte zwischen Angriffstechniken und abwehrtechniken eine
Lehrzeile einfuegen, wenn man fonakoshi nach dem status fraegt? Waere
uebersichtlicher, finde ich.
Danke, slash


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



Tabelle (Asmodis, 26. Jun 1995, 17:57:53):

Hmm, koennte man nicht die Anforderungen und Status optional tabellarisch
ausgeben lassen? Waere vielleicht etwas uebersichtlicher !
Vielleicht auch alle Techniken nach dem Grad geordnet, ab dem man
sie lernen kann/muss. Waere nett

                        Ciao, Asmodis

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



Re: Tabelle (Toss, 26. Jun 1995, 18:29:28):
#! rn=Asmodis rt=804182273
Oha....

lies mal meinen Artikel ein paar Nummern tiefer... diese Liste gibts bereits
seit einigen Tagen in rynes Haus ...

Ryne

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



Re: Re: Tabelle (Asmodis, 26. Jun 1995, 18:37:13):
#! rn=Toss rt=804184168
Hab aber keine Lust, in deinem Haus rumzusuchen :)

                  Ciao, Asmodis

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



Re^3: Tabelle (Toss, 26. Jun 1995, 18:51:38):
#! rn=Asmodis rt=804184633
*grins*

Muss ich da etwa noch eine wegbeschreibung beilegen ?

Ryne

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



Re: PPS: Sperrfristen (Adama, 27. Jun 1995, 14:13:53):
#! rn=Rochus rt=803901262
aehm jetzt bin ich aber ganz verwirrt. 3 online-monate bis zum schwarzgurt
kann ja wohl nicht dein ernst sein. also doch stunden?
sags doch bitte nochmal genau.

ciao,
adama

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



lerne (Slash, 30. Jun 1995, 19:30:04):
Hi,
wie waere es mit einem Befehl lerne alles in der Gilde, damit man alle
erlernbaren Techniken nicht einzeln eintippen muss.
P.S. Was ist aus der leerzeile zwische funakoshi sagt und funakoshi sagt bei
frag funakoshi nach status zwecks besserer trennung von abwehr und angriff
geworden?
Slash

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



??? (Slash,  3. Jul 1995, 16:20:17):
Aeh, liest auch mal jemand diese rubrik?? Was haltet Ihr denn von meinen
Vorschlaegen?
Slash

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



Re: Dojo (Jerrico,  5. Jul 1995, 13:31:33):
#! rn=Slash rt=804933964
hi
ich finde besonders fuer neulinge in der gilde ist es ganz nuetzlich zu
sehen, was man alles fragen
kann.
ich hab zumindest kein detail gefunden, das mir eine
genauere auskunft ueber alle moeglichen befehle
in der giilde gab.

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



Gleichgewicht (Garfield,  6. Jul 1995, 15:46:43):
[Verlegt von allgemeines, Craig,  3. Jul 1995, 11:38:34]:

Seit der Eroeffnung des Karate-Dojos hat sich einiges veraendert im Mud; wer
haette das nicht bemerkt.
Grundsaetzlich ist das gut so, denn mehr Vielfalt bedeutet mehr
Lebensqualitaet.
Dennoch: Ich mache mir Sorgen um die Chancengleichheit von Abenteurern und
Karateka. Denn die Letzteren entwickeln doch eine erstaunliche Kampfkraft.
Nun, das ist schon in Ordnung, denn schliesslich trainieren die Kollegen ja
sehr viel.
Nur: Ich habe den Eindruck, dass die Abenteurer nicht Schritt halten koennen
und auf lange Sicht deutlich in Nachteil geraten werden.
Das betrifft vor allem die Spieler der unteren Stufen.
Wie komme ich darauf? Mein Schluesselerlebnis:
Vor kurzem in der Orkhoehle: 2 Spieler (Level 3 bzw. 6) machen mal eben 2
starke Orks platt - mit Hilfe von Karate-Techniken. Zweifellos eine starke
Leistung. Es scheint so zu sein, dass man bereits auf niedrigem Level sehr
effektive Techniken erlernen kann. Schoen und gut.
Und wie sieht es mit den Abenteurern dieser Stufe aus? Die koennen mal gerade
den Lichtspruch. Die erste im Kampf wirksame Spezialtechnik erhalten sie erst
ab Level 12: Den magischen Pfeil.
Ab Level 15 (Feuerball) mag das Kraefteverhaeltnis in Ordnung sein, aber bis
dahin sehe ich eine deutliche Kluft.
Diese koennte etwa dadurch ueberbrueckt werden, dass die Abenteurer schon
frueher ihre Zaubersprueche erlernen koennen.

Was haltet ihr davon?

fragt
CRAIG


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



Re: Gleichgewicht (Garfield,  6. Jul 1995, 15:47:39):
#! rn=Craig rt=804764314
[Verlegt von allgemeines, Adama,  3. Jul 1995, 12:02:20]:
hi, dazu muss ich was sagen weil ich dieses 'Schluesselerlebnis' mit meinem
zweitie aus-
geloest hab.
bis jetzt waren wirs es wohl gewohnt die erfahrung eines spielers an dem
ABENTEURER-gilde-
level zu messen. tjo, da muss man sich halt jetzt umgewoehnen
die zwei vermeintlichen anfaenger waren ein braun- und ein blau-gurt der
karate-gilde mit guten und mittleren stats. allerdings mit _sehr_ wenig ap's
wie ich gern zugebe :-)
jedenfalls keine unerfahrenen spieler. wer meint, dass diese kampfkraft
leicht und schnell
erworben ist, den lade ich gern zum probetraining ein. frust ist da sicher
vorprogrammiert,
vor allem bei anfaengern mit niedrigen stats.
mein tipp: kuckt euch die _leute_ halt an und nicht nur ihren namen.
oder, als anregung fuer die karate-gilde: man koennte den gilde-level direkt
im namen sicht-
bar machen.

adama


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



Re: Gleichgewicht (Garfield,  6. Jul 1995, 15:48:10):
#! rn=Craig rt=804764314
[Verlegt von allgemeines, Jaf,  3. Jul 1995, 16:20:08]:

Stimmt, dass die Anfaenger in der Karategilde erstaunliche Leistungen
faehig sind. Fyt war neulich mit Khidar in der Arena, und da hat der
s
u
doch tatsaechlich in ca. 20 Minuten den Awase-zuki von 0 auf ueber
30 Prozenbt gebracht... Frueher hat sowas mal acht Stunden gedauert...
Ich will jetzt weiss Jof nicht anfangen zu noergeln, dass das lernen
zu schnell geht, dann wuerde Rochus das Lerntempo womoeglich wieder
zuruecksetzen und damit den alten Frust wiederbeleben... Aber Level 3
und Orks ist wohl zu gut. Wie waere es also, wenn man den Aufstieg
in der Karategilde (die Kampfkraft betreffend) genauso wie in der
Abenteuerergilde vom Spielerlevel abhaengig machen wuerde...
Eine Regelung wie:  Man kann eine Technik nur bis maximal
20% + 4% pro Spielerlevel beherrschen halte ich durchaus fuer
angemessen... andernfalls sehe ich den Tag kommen, an dem
blutige Anfaenger ohne eine einzige Quest die Schreckensspitze
ausraeumen...

Jaf.


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



Re: Re: Gleichgewicht (Garfield,  6. Jul 1995, 15:48:12):
#! rn=Jaf rt=804781208
[Verlegt von allgemeines, Cuchullin,  3. Jul 1995, 16:34:08]:


Klar, wenn ich den Was-weiss-ich-wie-schwarzen Guertel haette, fiele mir das
Mosern auch ziemlich leicht, vor allem wenn ich glauben wuerde, dass es die
anderen leichter haben als ich.

Halte Dir mal nur kurz vor Augen, wieviel Prozent Deiner Leistung via TF
erzeugt wurde...


Cuch.


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



Re^3: Gleichgewicht (Garfield,  6. Jul 1995, 15:48:12):
#! rn=Cuchullin rt=804782048
[Verlegt von allgemeines, Jaf,  3. Jul 1995, 16:40:31]:

Meinst Du jetzt Fyt oder wen, Hund :) ?

Ja, wuerde mal sagen, ca. 100 %... aber das Lerntempo wollte
ich ja ausdruecklich *NICHT* zur Diskussion stellen, sondern nur
eine Abhaengigkeit Kampfkraft/Level, die es auch bei der
Abenteuerergilde gibt, reinbringen... und das hat mit TF
eigentlich nix zu tun, oder?

Jaf. JAF, nicht FYT....*argl*&


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



Re^4: Gleichgewicht (Garfield,  6. Jul 1995, 15:48:19):
#! rn=Jaf rt=804782431
[Verlegt von allgemeines, Cuchullin,  3. Jul 1995, 16:46:34]:


a) Ich wusste nicht, dass Du SO schizo bist.

b) Das Verhaeltnis zum Level kommt ab dem 1. Dan, wo eine Erhoehung einen
bestimmten Level erfordert. Zumindest war das mal so.

c) Ich finds ganz gut so. Allerhoechstens ne direkte Abhaengigkeit von den
APs koennte ich verstehen.

Cuch.


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



Re: Re: Gleichgewicht (Garfield,  6. Jul 1995, 15:48:19):
#! rn=Adama rt=804765740
[Verlegt von allgemeines, Boing,  3. Jul 1995, 17:00:08]:
Ich denke auch, dass die Karategilde mal einen eigenen Satz Titel
verdient haette.
  Boing


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



Re^3: Gleichgewicht (Garfield,  6. Jul 1995, 15:48:21):
#! rn=Boing rt=804783608
[Verlegt von allgemeines, Dancer,  3. Jul 1995, 22:18:28]:
Zustimmung, Boing.... wie uebrigens jede andere zukuenftige Gilde auch...

Dancer



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



Re: Re: Gleichgewicht (Garfield,  6. Jul 1995, 15:48:24):
#! rn=Jaf rt=804781208
[Verlegt von allgemeines, Adama,  4. Jul 1995, 09:17:05]:
hm jaf, also 'frueher' hat man fuer einen schlag in der arena mit Khidar-
stats auch keine 8 stunden fuer 30% gebraucht.
was ich aber gar nicht versteh: die karategilde _hat_ doch level! die
heissen halt guertel und man sieht sie nicht sofort, aber was solls.
ich versteh nicht, wieso es eine anbindung an die level einer anderen
gilde geben soll. ich hoffe auch, dass das bei den kommenden gilden nicht
so sein wird.
tjo, und was den 'blutigen anfaenger' angeht, der die ssp aufraeumt: wenn
er dazu volle stats braucht und 30 oder mehr online-tage trainieren muss -
warum nicht?
solange er nicht seher oder magier werden kann, ohne die quests zu kennen,
ist mir das egal.

adama


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



Re^3: Gleichgewicht (Garfield,  6. Jul 1995, 15:48:38):
#! rn=Adama rt=804842225
[Verlegt von allgemeines, Ulo,  4. Jul 1995, 09:22:36]:
hi!

Bei der Abenteurergilde war es so, dass man hohe Kampfkraft (die kam wohl
zu einem bedeutenden Teil vom Feuerball) erst ab Level 17 kriegte, d.h.
nach soundsovielen Quests. Bei der Karategilde kann man sich hochtrainieren
und hohe Kampfkraft erlangen, ohne Quest loesen zu muessen. Wenn also
gewisse Abenteurerlevel fuer die Karateguertel verlangt werden, ist das nicht
sooo
abwegig.

Ulo.


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



Re^4: Gleichgewicht (Garfield,  6. Jul 1995, 15:48:59):
#! rn=Ulo rt=804842556
[Verlegt von allgemeines, Boing,  4. Jul 1995, 10:39:51]:
Man kann damit aber die Karategilde als Alternative fuer die Leute
ansehen, die nicht so gerne Quests loesen. Und um Magier/Seher zu werden
muessen sie die Quests dann trotzdem loesen.
  Boing


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



Re^5: Gleichgewicht (Zuerileu,  6. Jul 1995, 22:04:54):
#! rn=Garfield rt=805038539
Sali zaeme,
Nunja sicher Boing, ich loeste ja nicht gerne Quest muss aber erlich sagen
das iuch mich in einer Fantasiewelt nur mit Zauberspruechen wohl fuehle. Man
muss sich doch auch in seiner Gilde identifizieren. Und ich wuerde einer
ueberhollung der Abenteurergilde echt zustimmen. Oder wenigstens die
Questpflicht abschaffen da die der Grund aller uebel sind das Abenteurer im
Nachteil sind!.

Zuerileu (Der sich auf die Zauberer-Gilde freud =:)

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



Re^6: Gleichgewicht (Boing,  7. Jul 1995, 09:36:03):
#! rn=Zuerileu rt=805061094
Zum 100. mal: Die Questpflicht fuer Magier/Seher bleibt!
  Boing

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



Uebungskaempfe in der Arena (Rochus,  7. Jul 1995, 15:54:32):
Ich habe die Moeglichkeit, gegen Mitspieler zu ueben
vorlaeufig ausgebaut, d.h. Kaempfe gegen Mitspieler
bringen jetzt nicht mehr Uebung als gegen Monster.
Vielleicht habe ich mal die Zeit, einen speziellen Uebungsraum
zu schreiben...
Jetzt, wo es anfangs schneller geht, sollte die Uebung aber auch
kein so grosses Problem mehr sein.

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



Vorerst kein Ueben in der Arena! (Durian,  7. Jul 1995, 16:03:23):
Hallo Karateka!

Um (haette ich schon laengst tun sollen!) ein weiteres Blockieren der
Arena zu vermeiden (zumal Kaempfe der Spieler untereinander jetzt eh nicht
mehr viel bringen), habe ich die Arena fuer Karateka, was Duelle
angeht, bis auf Weiteres verschlossen.
Die Gladiatorquest ist natuerlich auch weiterhin fuer Karateka moeglich!

- Durian

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



Re: Vorerst kein Ueben in der Arena! (Asmodis,  7. Jul 1995, 17:36:30):
#! rn=Durian rt=805125803
Aeh, irgendwie haettet ihr euch da absprechen sollen, Rochus hat doch
gerade den Arenabonus ausgebaut, wozu also Duelle sperren ??
Also ich finde, dass ist jetzt eine Diskriminierung von Karatekas !!!

                  Ciao, Asmodis

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



Re: Vorerst kein Ueben in der Arena! (Asmodis,  7. Jul 1995, 17:41:43):
#! rn=Durian rt=805125803
Ich finde diese ganze Diskussion sowieso laecherlich! Wenn jemand die
Arenaquest loesen will, dann soll er den Mund aufmachen und Bescheid
sagen und wenn sich dann der karateka weigert, kann er immer noch einen
Magier zu Hilfe rufen! Also, wo soll da das Problem sein !!
Das einzige Problem ist vielleicht diese bloede Zeitsperre, die verhindert,
dass der Questloeser gleich da reinkann !!

                  Ciao, Asmodis

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



ueben und anders was karatekas so machen (Reinelde,  8. Jul 1995, 02:02:56):
hi karatekas(Innen?),

die derzeitige entwicklung finde ich durchaus unbefriedigend und das gleich
aus mehreren gruenden:

a) die kartategilde bot die moeglichkeit des trainingsduells, die scheint
   ja nun weg zu sein. damit wird es schwer bestimmte angriffe / abwehren
   zu ueben, weil
b) nach wie vor nicht mal ein bruchteil der monster auf die karatekas
   angepasst scheint, und somit die wahl von techniken mehr willkuerlich als
   gegnerangepasst ist. ein drache, der micht ueberwiegend im bein und
   guertelbereich angreift wirkt irgendwie laecherlich.
c) die einseitige benachteiligung bestimmter gilde ungerechtfertigt ist
   bloss weil es fuer abenteurer nicht so interessant ist in der arena zu
   ueben. ist das kein grund die arena fuer karatekas zu sperren.
   allerdings sollten karatekas fuer quester die arena auch mal raeumen.
   und wer die quest machen will soll halt mal anfragen (wie man in den
   wald ruft ... )
d) was die kampfkraft von karatekas in niederen 'stufen' angeht, so
   gelten hier die artikel von vielen anderen und auch von boing.
   der rang eines karatekas misst sich am guertel und nicht an den
   stufen der abenteurergilde. und wenn man als karateka seher / magier
   werden will muss man halt auch qeusten (bestimmte level sind ja auch
   in der karategilde nur fuer seher erreichbar)
e) was karatezweitis angeht, so bin ich auch eine, aber
  wenn ich karate ueber bleibt mein ersti i.d.R. allein zu haus (was weiss
  ich was der dann macht). warum soll ich als einzeln eingeloggter spieler
   dann nicht die selben revhte haben wie alle anderen?

reinelde - mit 2 waehrungseiniheiten

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



Re: ueben und anders was karatekas so machen (Tomaso,  8. Jul 1995, 02:54:04):
#! rn=Reinelde rt=805161776
Ich kann reinelde nur zustimmen.
1.) ist es kaum moeglich, monster zu finden, die einen im Jedanbereich
angreifen, von daher ist training in der
Arena unbedingt notwendig (Ist ja auch im wahren Leben so, dass man nicht
unbedingt an monstern trainiert, wenn man noch nicht perfekt ist.
2.) Diese Zweitiehetzerei ist nicht einzusehen (ja, ich bin auch einer).
Ein Zweitie macht schliesslich nichts anderes als ein anderer Spieler auch
und wenn ich mich entschliesse
mal was anderes auszuprobieren und dafuer meinen zweitie zu nehmen, was ist
dagegen einzuwenden.
was das Argument mit dem gemeinsamen erledigen der Monster angeht, so finde
ich sollte dies jedem ueberlassen bleiben,
wie er das handhabt. Und die angesprocheneArchiequest ist ja wohl als
Argument ein Witz.
Eine quest fuer die man 3 Spieler brauch, die ca. 20 Std. gemeinsam Zeit
haben muessen, das findet man ungefaehr so haeufig
wie eine Nadel im Heuhaufen, Da brauch man sich nicht zu wundern, wenn Leute
da mit Zweities durchgehen.
Also liebe Magier, bleibt doch mal auf dem Teppich. Wenn ihr das
Zusammenspiel der Spieler foerdern wollt, o.K.
Dann aber vernuenftig, mit monstern oder queten, die man in ein-bis 2 Stunden
schaffen kann aber kein Archieunfug.


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



Abenteurer habens ja SOOOO einfach (Tasha,  8. Jul 1995, 03:01:03):
Hi!

Zu dieser ganzen Karate-Diskussion will ich jetzt auch mal mienen Senf
ablassen. Abenteurer habens doch VIIIEEEELLL einfacher als Karateka. Wenn es
schon ein Level 1!!! Spieler schafft, auf Platz 2 der Spielerliste zu stehen,
dann muessen die Abenteurer doch riesige Vorteile gegenueber der Karategilde
haben...

so, IRONIE OFF und jetzt mal ernsthaft:

Das einzige, was die LEute hier gestoert zu haben scheint ist, dass Spieler
mit niedrigem ABENTEURERlevel gute Karatekas sind. Dabei ist es doch fuer
jeden, der mal Karate ausprobiert hat klar, dass, wenn man im Karate was
werden will, man erst mal gar keine Zeit hat, viele quests zu loesen da Karate
bekanntlich eine ziemlich ZEitaufwendige Sache ist. Deshalb waere es
vielleicht sinnvoll, die investierte Arbeitskraft durch ein Presay (hab ich
vor Jahrtausenden schonmal vorgeschlagen) kenntlich zu machen. Ausserdem
sollten sich die Abenteuere, dei sich darueber beklagen, dass sie die
Zaubersprueche erst ab Level 12 lernen koennen mal klar machen, dass sie die
dann sofort mit hoher (50%? mehr?) wahrscheinlichkeit anwenden koennen. Wenn
ich meine Karatetechniken von anfang an mit 50% koennte wuerde ich gerne die
etlichen muenzen, die ich fuers ueben vertankt habe den Goettern opfern und
die Arena nie mehr betreten.

Fazit: Karatekas muessen im Gegensatz zu Abenteurern ihre Faehigkeiten durch
Uebung erlernen. Also gebt ihnen auch eine vernuenftige Moeglichkeit zu ueben.

Tasha Yar


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



Re: Abenteurer habens ja SOOOO einfach (Asmodis,  8. Jul 1995, 05:17:43):
#! rn=Tasha rt=805165263
Nichts ist ein Zweitie und hat ohne seinen Erstie die Quests sicher nicht
geschafft!
Ist er ueberhaupt ein Karateka? Naja, das waere zu klaeren !
Ausserdem, wer sagt denn, dass Spieler mit niedrigem Level gute Karatekas
sind? das kommt auf die Stats an, die sie haben und ich habe noch keinen
Anfaenger-Erstie gesehen, der auf Anhieb soviele ZTs findet (auch mit
Zt-Liste haben viele Schwierigkeiten).
Diese tollen Karate-Low-Level-Spieler (KLLP) sind also in erster Linie
Zweities, also fallen sie eh aus der Wertung :)
Die anderen KLLPs kaempfen sicher nicht besser als ihre Kollegen
in der Abenteurergilde !!!

              Ciao, Asmodis

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



Re: ueben und anders was karatekas so machen (Morgoth,  8. Jul 1995, 08:48:54):
#! rn=Reinelde rt=805161776
Hi,
ich hab da noch ein vorschlag. erstmal finde ich den artikel ganz gut, weil
wahr. ich hab auchn zweitie, aber den benutz ich nur als rumpelkammer. bis
jetzt hab ich noch keinen gebraucht, um mich irgendwo rauszuholen. entweder
sterb ich ehrlich, oder idle bis ich voll bin. nun zum vorschlag :
wenn ein quester ankommt und es sind gerade ein paar bruce lee's am
werk.....einfach rausschmeissen. das geht doch oder ? move -> ssssst und
wech....und der spieler kann die gladiatoren metzeln....
koennt ihr den artikel auch nach entwicklung kopieren...
Morgoth...

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



Re: Re: Abenteurer habens ja SOOOO einfach (Dwight,  8. Jul 1995, 09:50:50):
#! rn=Asmodis rt=805173463
Holla
Mich haelts nun auch nicht mehr, also hier mein Senf:

Zur Diskussion ueber die Superanfaenger:
Wenn ich mir ueberlege, wielange selbst die intensivsten script- und
Arenaspieler grbraucht haben, um einen einigermassen guten Grad zu erreichen,
koennen wir das Thema abhaken, jedenfalls solange Leute innerhalb von 5 Tagen
Seher werden (und nicht nur Zweities)
Ausserdem gibt es ja auch Spieler, die etwas anderes machen, als nur zu
trainieren... (bin von Anfang an dabei, und hab nur den 4. Kyu :-))]].
Also, Abenteurer, nur keinen Neid, ist nicht angebracht.

Man sollte also w3irklich darueber nachdenken, die Grade anders, (haerter) an
die AP's zu koppeln.
(ich bin ja mal gespannt, wie das lernen in den anderen neuen Gilden geht,
wenn die schneller einen abenteurer-Seher ueberfluegeln, werd ich sauer :) )


Nun zu den Jodantechniken...
In RL mag es ja richtig sein, viele verschiedene Abwehrtechniken fuer den
Kopf zu beherrschen, aber wenn ich hier so selten dort angegriffen werde, ist
das schon etwas nervig.
Es ist doch nicht passend, wenn ich vor jeder Pruefung die ganzen
Jodantechniken noch ueben muss, weil die so selten benutzt werden, jedenfalls
bin ich fuer die letzten Prozente auch schon ein paar mal in der Arena
gewesen, aber das faellt jetzt ja flach.
Es waere also echt nett, da etwas dran zu aendern, gibt ja verschiedene
Moeglichkeiten...(Anforderrungen aendern, Groesse der Monster oder Spieler
aendern, usw.)
Ich denke, wenn die Koerperbereiche ausgeglichener waeren, wuerde sich auch
die Arena-Diskussion eruebrigen, zumindest aber unwichtiger werden.
(Kann sein, dass das bei Menschen und Zwergen besser ist, keine Ahnung, die
Naturveraechter und Steinlutscher interessieren mich nicht so sehr ;-) )


Ansonsten: goennt Euren Mitspielern den Spass, jeder erwartet sich nun mal
was Anderes vom Morgengrauen, soll doch jeder machen, was er will...
(Solange er keinem zu sehr auf die Nerven geht)

Tschue
            Dwight

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



Re^3: Abenteurer habens ja SOOOO einfach (Dwight,  8. Jul 1995, 09:58:43):
#! rn=Dwight rt=805189850
Hupps!!!
Da ist mir wohl die Logik floeten gegangen (bei dem Kampf mit dem Muell, den
mein Modem produziert).
Ich wollte sagen, dass die Anforderungen fuer die Karategrade ruhig angehoben
werden koennten, da durch die Sperrfristen ja Zeit zum Questen bleibt.
Ausserdem sollte es mit den neuen Gilden konform gehen, kann man dort
aufsteigen ohne Questen, sollte man es bei Karate auch.
(nur werden dann immer weniger Leute Questen...)

Tschue
        Dwight (ist noch nicht ganz wach)

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



jodan-diskussion (Khidar,  9. Jul 1995, 17:43:02):
Dass die Arena zugemacht wurde, stellt ein grosses problem fuer die
jodan-abwehren dar, ich hab eben mal die diskussion mitgeloggt.
Karate:Frosch Reinelde] kennt eigentlich inzwischen wer geeignete monster
[Karate:Frosch Reinelde] fuer jodan abwehren?
[Karate:Boing] was ist ueberhaupt jodan?
[Karate:Frosch Dwight] mitten auffe nase
[Karate:Frosch Reinelde] das sind hohe angriffe im kopfbereich
[Karate:Boing] und warum kann man keine monster auf die nase hauen?
[Karate:Frosch Reinelde] auch dinos und drachen greifen da nicht an :(
[Karate:Verwirrung] Kann man ja, aber die hauen wo anders hin zurueck
[Karate:Frosch Reinelde] die monster hauen mir nicht auf die nase
[Karate:Boing] wo hauen die denn hin?
[Karate:Frosch Reinelde] im schlimmsten fall auf die fuesse
[Karate:Boing] unabhaengig von dewr groesse?
[Karate:Frosch Reinelde] die meisten auf dem bauch. auch wenn ich frosch bin
[Karate:Adama] die wollen dein huebschel naeschen halt nicht verbiegen :-)
[Karate:Verwirrung] Adama an.
[Karate:Verwirrung] da fehlt ein grinst
[Karate:Frosch Reinelde] und das ist einproblem, dass im moment alle haben
[Karate:Khidar] elfen besonders schlimm.
[Karate:Boing] egal wie gross das vieh ist, es haut immer auf den bauch?
[Karate:Frosch Reinelde] na ja manchmal auch nach oben, aber egal was ich
[Karate:Frosch Reinelde] angreife
[Karate:Verwirrung] oder tiefer :)
[Karate:Nature] stimmt
[Karate:Khidar] ich hab in 20 h bei monstern 2%beim age-teisho-uke gemacht...
[Karate:Khidar] das ist vielzuwenig, gedanabwehren hab ich in der zeit auf
40%
[Karate:Frosch Reinelde] es ist wurscht was zurueck haut die meisten angriffe
[Karate:Frosch Reinelde] gehen in die mitte
[Karate:Boing] dann sagt das halt rochus ... ich hab in der ssp die ganze
[Karate:Boing] groessenpalette drin, wenn die alle auf den bauch oder tiefer
[Karate:Boing] hauen dann ist da halt ein bug in der gilde
[Karate:Frosch Dwight] wird denn ueberhaupt die groesse an einen frosch
[Karate:Frosch Dwight] angepasst, wenn man einer wird?
[Karate:Nature lacht sich noch ueber die brontos kaputt, die im gedan-bereich
[Karate:Boing] glaube nicht
[Karate:Frosch Reinelde] na ja die ssp ist ja nur ein kleiner teil des mg
[Karate:Frosch Dwight] schade, waer nicht schlecht...
[Karate:Boing] doch, dwight ist 20 cm gross :)
[Karate:Khidar] der schneeriese haut gelegentlich auf den kopf... aber
[Karate:Khidar] vielzuwenig
[Karate:Frosch Dwight] ehrlich?
[Karate:Boing] reinelde, war ja nur ein beispiel
[Karate:Frosch Reinelde] ist klar. aber die trolle am eingang treffen mich
[Karate:Frosch Reinelde] halt auch immer am bauch oder tiefer
[Karate:Boing] der schneeriese ist im schnitt 3.50m gross ...
[Karate:Khidar] warum koennen die schneebaelle z.b. nicht oben rumfliegen, in
[Karate:Khidar] ner hoehe von 2 metern? die sind 10 cm gross und fliegen eben
[Karate:Khidar] in ner hoehe von 1.90 bis 2.20 rum
[Karate:Boing] die schneebaelle fliegen zufaellig in einer hoehe zwischen 0
[Karate:Boing] und 2 metern rum ...
[Karate:Khidar] dann wuerden die immer im jodan angreifen
[Karate:Khidar] warum nicht zwischen 1.80 und 2.50? waere fuer karateka echt
[Karate:Khidar] praktisch.
[Karate:Frosch Reinelde] das jodan problem war halt einer der gruende warum
[Karate:Frosch Reinelde] so viele karateka in der arena rumgehangen haben.
[Karate:Adama] jo!
[Karate:Boing] das hilft doch nix, wenn nicht mal die riesen auf den kopf
[Karate:Boing] hauen mit ner groesse von mehr als 3 metern
[Karate:Khidar] man braeuchte eben einige (flug-)monster, die fast nur im
[Karate:Khidar] jodan angreifen
[Karate:Frosch Reinelde] im kampf gegen andere karateka funktioniert das hohe
[Karate:Frosch Reinelde] treffen unf getroffenm werden naemlich
[Karate:Adama] groesse und angriffs-hoehe haben wohl nicht viel miteinander
[Karate:Adama] zu tun
[Karate:Khidar] haut er doch, aber eben nur mit ner wahrscheinlichkeit von
[Karate:Khidar] 20%, er kann ja auch mit den beinen angreifen
[Karate:Boing] das funktioniert aber nur weil der angreifer mit einem
[Karate:Boing] kopf-angriff angreift, oder?
[Karate:Frosch Reinelde] ja
[Karate:Boing] siehste, und das kann ein monster halt nicht angeben
[Karate:Boing] das heisst die gilde muss das auswuerfeln
[Karate:Frosch Reinelde] und das ist das problem. sie wurfelt zu wenig
[Karate:Boing] und wenn ein 3 meter monster staendig auf bauchhoehe angreift,
[Karate:Boing] dann muesst ihr euch halt mal an rochus wenden
[Karate:Khidar] warum nicht? wenn das (flug-)monster eben zwischen 1.80 und
[Karate:Khidar] 2.50 hoehe sich aufhaelt bleibt ihm nix anderes uebrig als im
[Karate:Khidar] jodan anzugreifen
[Karate:Frosch Reinelde] aeh ich weiss nicht wie viele mails die anderen
[Karate:Frosch Reinelde] geschrieben haben und es stand ja auch in der mpa.
[Karate:Frosch Reinelde] aber alles was passiert war die arena zu sperren und
[Karate:Frosch Reinelde] das ueben untereinander zu erschweren
[Karate:Boing] so wie man sich das vorstellt ist es aber nicht implementiert
wirf bumerang
wirf bumerang
zuecke schwert
[Karate:Boing] ... ich hab nur einen wert um die groesse anzugeben
[Karate:Adama] da hat boing abe recht. die mags koennen ja auch nicht mehr
[Karate:Adama] machen, als ihren monstern sinnvolle groessen zu geben
[Karate:Adama] der rest ist karate-sache
[Karate:Khidar] irgendwann klopp ich mich mit nem viertie in ner kneipe, wenn
[Karate:Khidar] ich die schlaege nicht mehr anders zusammenkrieg, da kann ich
[Karate:Khidar] den angriffsschlag vom gegner einstellen
[Karate:Boing] wobei z.b. bei den schneebaellen die 'groesse' zwischen 0 und
[Karate:Boing] 200 cm variiert, was in dem fall die flughoehe ausdruecken
soll
[Karate:Frosch Reinelde] dann wird boing aber boese khidar
[Karate:Khidar] und das ist auch nicht zu aendern mit der groesse? sowas wie
[Karate:Khidar] ne minimale untere hoehe des monsters waer notwendig, waer
das
[Karate:Khidar] denn viel arbeit?
[Karate:Frosch Reinelde] der punkt ist wir konnten den jodan kram in der
[Karate:Frosch Reinelde] arena ausgleichen und duerfen das jetzt nicht mehr.
[Karate:Frosch Reinelde] solange wir keine passenden monster haben (oder die
[Karate:Frosch Reinelde] gilde angepasst wird) haben wir eben ein riesen
[Karate:Frosch Reinelde] problem
[Karate:Boing] nein, man muesste JEDES monster im mud anpassen ...
[Karate:Khidar] das waer doch einfach ne propertie mehr, und wenn die fehlt,
[Karate:Khidar] ist die untere hoehe eben 0
[Karate:Boing] aber die prop wird in 95% aller monster fehlen ...
[Karate:Boing] und dann aendert sich nichts
[Karate:Khidar] macht doch nix, solange ein paar da sind, die die haben
[Karate:Boing] ich denke rochus muss seine formel ueberdenken
[Karate:Adama] das scheint mir auch effektiver, als alle monster zu aendren
[Karate:Boing] ich bin jetzt mal ne weile weg ...
[Karate:Adama] wenn ers macht ...
[Karate:Khidar] so ne untere hoehe waer eben wirklich praktischer, da z.b.
[Karate:Khidar] elstern im allgemeinen auch nicht von unten angreifen
[Karate:Khidar] duerften, sondern rumfliegen (nimmt man an)
[Karate:Frosch Reinelde] nimm erst mal gar nix an :(
[Karate:Khidar] leider
[Karate:Frosch Reinelde winkt boing]
[Karate:Adama] naja elstern krallen auch pakete, die ich nicht mehr tragen
[Karate:Adama] kann :-)
[Karate:Frosch Reinelde] nature strikes back
[Karate:Khidar] ja, aber so ne untere hoehe waer meiner ansicht nach nicht so
[Karate:Khidar] das prob... wenn amanfang einige (5-8?) monster geaendert
[Karate:Khidar] wuerden, reichte das ja erstmal
[Karate:Nature] wieso strike ich back ?
[Karate:Frosch Reinelde] stimmt khidar ein paar nette jodan monster ausser
[Karate:Frosch Reinelde] dem eistitanen / giganten ware schon mal ausreuchen.
[Karate:Frosch Reinelde] obwohls da auch stau gubt
[Karate:Adama] wir sollten ein kleines gebiet abmachen und die mags bitten,
[Karate:Adama] dort auf die angriffs-meldung nicht zu reagieren. die sehen ja
[Karate:Adama] den raum wo's hrekommt
[Karate:Khidar] und mit GENUEGEND hoher vorsicht kaempfen, PK ist PK... am
[Karate:Khidar] besten archiekneipe... oder friedhof :)
[Karate:Frosch Reinelde] das problem ist, dass es halt verboten ist :(
[Karate:Adama] klar, dann muessen wir hoellisch aufpassen sonst gibts
[Karate:Adama] mega-stunk
[Karate:Khidar] mir egal, ich hab alle zt und mein haus ist gross genug, also
[Karate:Khidar] ein pk am viertie wuerde mich nicht stoeren
[Karate:Adama] naja, vielleicht kann man eine regelung wie 'verboten aber
[Karate:Adama] geduldet..' erreichen. waer ja nicht das erstemal
[Karate:Frosch Reinelde] boing sagte eben 'verboten' dadurch fing die
[Karate:Frosch Reinelde] diskussion an
[Karate:Khidar] gabs auch schonmal, am anfang wurde schonmal in der
[Karate:Khidar] archiekneipe duelliert, habs bei fyt gesehen
[Karate:Khidar] wie gesagt, im mom gehts noch, ich hab genug mit allem zu
[Karate:Khidar] tun, wenn das nicht mehr ist, interessiert mich das nicht
[Karate:Frosch Reinelde] es geht wenn man wartet bis kein magier mehr ueber R
[Karate:Frosch Reinelde] da ist. die bekommen die angriffsmeldung nicht. aber
[Karate:Frosch Reinelde] das ist keine echte loesung
[Karate:Khidar] sie koennen doch kommen wenn sie wollen.
[Karate:Frosch Reinelde] dummerweise wollen sie wohl im moment nicht
[Karate:Khidar] dann muessen sie schon folge einschalten und frieden als
[Karate:Khidar] trigger haben
[Karate:Frosch Reinelde] ich halte unkontrollierte schlaegereien nicht fuer
[Karate:Frosch Reinelde] sinnvoll
Das wars, in der Arena konnte man wenigstens Angriff auf Jodan-only
einstellen.

Bye, Khidar.

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



Re^7: Gleichgewicht (Zuerileu, 10. Jul 1995, 00:44:41):
#! rn=Boing rt=805102563
Sali,
Du kannst es auch noch 101x sagen und ich bin immernoch nicht dafuer und
setzte mich fuer dieses UNRECHT !!! ein ....

Tschau Zuerileu (laesst sich von Goettern nicht mundtod machen!)

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



Re^8: Gleichgewicht (Adama, 10. Jul 1995, 10:17:06):
#! rn=Zuerileu rt=805329881
hi,
also ich will keine seher und mag's die sich nicht in quests auskennen.
auch wenn ich nicht grad der grosse quest-held bin, wie die leute
wissen, die mch kennen.
lasst es so, wie's is

adama

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



Re^9: Gleichgewicht (Mystix, 10. Jul 1995, 11:07:18):
#! rn=Adama rt=805364226
Ich finde es sehr witzig, wie hier die einzelnen Leute die Ungerechtigkeit
der verschiedenen Gilden beklagen - Die Karatekas schaffen die Quests nicht,
die ein Abenteurer in einem Bruchteil der Zeit schafft - die Abenteurer
fuehlen sich durch die Low Level Karatekas die schon soooo stark sind voll-
kommen benachteiligt. Jeder kann sich hier sein Gilde aussuchen und ggf.
sogar nachtraeglich wieder wechseln. Es mag sein, dass ein 3. Kyu nicht
ausreicht, aber immerhin kannst Du ja noch mehr als 9 Stufen aufsteigen-
und da liegt meines Erachtens der unglaubliche Vorteil der Karatekas: So
ein Karateka des 3-7 Dans ist eine wahre Kampfmaschine und muss halt im
Vorfeld einige Nachteile in Kauf nehmen. Daher mein Aufruf: Abenteurer-
respektiert die Karatekas - sie haben den schwereren Weg gewaehlt und
Karatekas: Hoert doch auf zu jammern - die Diskussion bringt doch nichts.
SENF OFF.

Mystix (wartet mal wieder auf die Flames)

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



Re: Re: ueben und anders was karatekas so machen (Durian, 10. Jul 1995, 12:56:20):
#! rn=Tomaso rt=805164844
Hi!

Zu 1)

Dui meintest, Training in der Arena ist notwendig. Dies ist DEFINITV nicht
notwendig, weil die Arena KEIN Uebungsbereich fuer Karateka ist! Und um
aus Asmodis zurueck zu kommen:
Solange Karateka eben gerade NICHT fuer Questler die Arena raeumen, weiss
ich keine andere Loesung. Und die Zeitspanne zwischen Duellen habe ich
ebenfalls aus genau diesem Grund eingefuehrt, dass die Arena nicht permanent
fuer unnoetige Duelle belegt wird.

Ich weiss auch, dies ist ein unbefriedigender Zustand. Aber Euch bleibt im
Moment nichts anderes uebrig als abzuwarten. Es gibt verschiedene Ideen
das Problem zu loesen. Nur koennt Ihr kaum erwarten, dass das Problem inner-
halb von zwei Minuten bereinigt ist. Einen Bereich einzurichten, in dem
sich Spieler ungestraft pruegeln koennen ist eben gerade nicht trivial!

Also, cool down und abwarten!

- Durian

P.S.: Sobald eine Loesung gefunden ist, wird die Arena selbstverstaendlich
auch wieder fuer Karateka geoeffnet!

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



Re: Re: ueben und anders was karatekas so machen (Durian, 10. Jul 1995, 12:58:06):
#! rn=Morgoth rt=805186134
Duelle einfach zu beenden wenn jemand die Gladiatoren herausfordern will
ist keine gute Loesung und kommt nicht in Frage!

- Durian

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



werte (Handi, 10. Jul 1995, 15:28:06):
kann Kann mir irgendjemand sagen welchen Einfluss die attribute
geschicklichkeit und staerke auf den trefferschaden bei den schlaegen ,den
abgefangenen schaden ber der abwehr sowie auf die Warscheinlichkeit einer
gelungen ausgefuehrten technik haben

handi

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



Re^8: Gleichgewicht (Tryfan, 10. Jul 1995, 16:48:40):
#! rn=Zuerileu rt=805329881
Hi,
 also ich will nicht nocheinmal die Argumente auffuehren, warum es eine 
Questpflicht im MG gibt. Das hat Boing schon zigmal erklaert. Ich will nur mal
meinen Standpunkt klarmachen. Ich bin Questverfechter und Questliebhaber.

 Ich finde die Questanforderungen fuer Erhoehung der Stufe und Seher/Magier-
werdung sind zu gering. 
 Ich bin dafuer, dass Seher, wenn sie Magier werden wollen, die aktuellen 
AP-Prozente haben sollten, und nicht die, die beim Seherwerden oder erstem
Einloggen fuer sie aktuell waren!

 Als ich mein Quest schreib, war MG noch als Quest-Mud geplant.
Unter dieser Voraussetzung bin ich Magier geworden und habe mein Quest ge-
schrieben. Deshalb sage ich hier klipp und klar. 
 Werden die Ap-Anforderungen zur Magierwerdung nocheinmal wesentlich herunt-
ergefahren, wird es kein Duncton mehr im MG geben.

 Ich schreibe das hier, damit alle bescheid wissen. Es ist meine persoehnliche
Meinung, ueber die nicht diskutiert werden muss. Also erspart mir Replies,
die die Diskussion neu entfachen. (und solche, wie: haeng Duncton doch gleich
ab, dann ersparts du uns ein laesstiges Quest.) Ich werde auf Replies nicht 
antworten. Wendet Euch direkt an mich.

  Tryfan

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



schaetz (Rochus, 10. Jul 1995, 21:45:08):
Karateka ab dem 9. Kyu koennen schonmal mit "schaetz" ihre Gegner
einschaetzen... allerdings ist die Information bei diesem Grad noch
SEHR ungenau.
Die Schaetzung gibt aehnliche Auskunft wie die Schaetzung
in der Abenteurergilde, nur wird nicht verglichen und die Groesse
des Gegners kommt hinzu.
PS: ETWAS konzentration muss schon da sein, sonst wird die
Schaetzung auch bei hohen Graden ungenau :-)

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



Re: schaetz (Rochus, 10. Jul 1995, 21:47:07):
#! rn=Rochus rt=805405508
PPS: Man kann den Gegner nach der naechsten Erhoehung einschaetzen
oder wenn man Funakoshi einmal nach "schaetz" gefragt hat.
PPPS: Einen "Licht"_Spruch wird es fuer Karateka niemals geben -
schaetzen geht noch ohne Magie (und verlangt nur wenig Konzentration=MP).

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



Klarstellung (Nichts, 10. Jul 1995, 23:28:07):

Klarstellung:

Nichts ist ein Zweitie.
Nichts hat so viel Quests wie moeglich alleine geloest - laengst nicht alle.
Nichts hat einiges an ZTs gefressen - siehe zwei Zeilen hoeher.
Nichts koennte schon seit geraumer Zeit Seher sein. Darf aber nicht *grins* .

Nichts und Niemand hat sich bisher uebermaessig daran gestoert.


Nichts (ist unmoeglich)

PS: Nichts ist mir eingefallen, als ich nach den Gruenden fuer diesen Artikel
gesucht habe. Aber es soll ja Beschwerden gegeben haben.

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



etwas spaet, aber dennoch (Toss, 11. Jul 1995, 01:34:12):
Hi!

war paar tage nicht da, deshalb erst jetzt meine 13 cruzeiros zu dem thema
ueben / Arena:
1. Wenn manche spieler hier probleme haben, abwehren fuer bestimmte bereiche
zu ueben (bei elfen/menschen halt Jodan), so haengt das nur mit ihrer groesse
zusammen; einige Monster, insbesondere die in der ssp (durch grimmborn) wurden
meines wissens bereits mit groessen versehen, und man kann insofern mal alle
monster abklappern, und sich die passenden suchen, die auf bestimmte gegenden
kloppen. Wenn elfen weniger auf den Kopf kriegen, so mag das zwar nervig sein,
aber ihr seid damit kein einzelfall; ich
ich als zwerg kriege reichlich auf den kopf, aber weniger in die - aeh - ja,
halt in den gedan-bereich ;) - und dafuer gibt es mehr abwehren als fuer jodan
- insofern haette ich mehr grund, mich zu beschweren - auch ich kenne die
probs, solche abwehren zu ueben, habe mir aber die richtigen monster gesucht.
Und damit kommt auch das 2.:
Es gibt ueberhaupt keinen grund, sich ueber die schliessung der arena zu
aergern; im moment ist es aergerlich, dass diese geschlossen und somit ein
schnelles ueben nicht moeglich ist, aber im kampf mit monstern geht es
genauso, und nicht SO erheblich langsamer - insofern sehe ich die probleme
nicht, die hier viele zu haben scheinen.

Ryne

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



IDEEEEEE (Morgoth, 11. Jul 1995, 08:24:35):
Hi,
da sich ja soviele hier beschwert haben, dass karatekas so gut gegenueber den
'normalen' gilden spielern sind, hab ich nen vorschlag(wer haette das gedacht)
Wenn ich im Dojo bin und Liste mache kommt die Liste aus der Abenteuer-Gilde.
WARUM? Ich bin karateka und kein 'Abenteurer' mehr. Wie waers, wenn die
'Level'-angaben in karate-grade umgewandelt werden. Also obergladiator nciht
mehr als stufe 18 sonder 4. kyu (oder so). Anfaenger sollten die moeglichkeit
haben am anfang zwischen den gilden zu waehlen, so wie sie die rassen waehlen
koennen.
vielleicht mit einem 'trans' fuer anfaenger zwischen den gilden, bis sie sich
entschieden haben.....
NA? gut oder nich?????
Morgoth uebt fuer den 2. kyu

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



Schaetz-Erweiterung (Morgoth, 11. Jul 1995, 11:55:06):
Dieser Vorschlagt betrifft nur das schaetzen anderer Karateka.
Teile das <ist besser> doch auf....in:
Hat mehr Angriffstechniken, hat mehr abwehrtechniken, ist in den
angriffstechniken um echniken
um einiges besser und in den abwehrtechniken viel besser.
wobei du hier den durchschnitt der techniken nimmst....
ist das schwer? muesste doch eigentlich zu schaffen sein....
Morgoth

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



Re: Re: etwas spaet, aber dennoch (Cuchullin, 11. Jul 1995, 16:38:47):
#! rn=Yendi rt=805462916


Aeh.. das Re ist wiedermal nicht auf das bezogen, was oben drinsteht ;)

Die Zahl hinter einem Abenteuer gibt _nicht_ den Level an, ab dem es loesbar
sein soll, sondern der Durchschnittswert aller Attribute. Du kannst noch so
toll Level 19 sein.... wenn Du Notung nicht zuecken kannst, brauchst halt
trotzdem mehr Geschick.

denkt
- cuch -


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



Re: was soll's (Jof, 12. Jul 1995, 11:33:28):
#! rn=Slash rt=805456582

 Es sind ja nicht die Abenteurer, die auf die Karatekas schimpfen; es
handelt
sich um ein grunsaetzliches Problem. Eine Gilde, die deutlich staerker als
die Abenteurer-Gilde ist, ist schlicht ZU stark. Auch ohne diese Gilde sind
schon Probleme fuers Gleichgewicht feststellbar. Kurzes Beispiel:

 Noch vor nicht allzu langer Zeit stellte es fuer eine Gruppe von 8 Spielern
mittlerer bis hoher Staerke eine echte Herausforderung dar, man konnte sogar
mit Verlusten rechnen. Heute kann ein einzelner Seher ohne Risiko die ganze
Hoehle aufraeumen. Auch die Zwergenwaechter und der Koenig stellten mal eine
echte Herausforderung dar.

 Wenn nun zudem noch ZU starke Gilden ins Spiel kommen, ist ein extremer
Ruestungswettlauf (bessere Moeglichkeiten fuer die Spieler -> staerkere Mon-
ster -> bessere Kampftechniken -> staerkere Monster -> ...) kaum abzuwenden.
So eine Ruestungsspirale waer fuer alle Seiten unschoen. Darum versuchen wir,
die Gilden 'im Rahmen' zu halten.

 Jof

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



Re: Re: was soll's (Anakin, 12. Jul 1995, 11:58:42):
#! rn=Jof rt=805541608
Hmm, ja z.B. es gibt ja immer bessere und tollere Waffen oder
Items im MG um die Seher bei Stange zu halten, sonst wird es
langweilig. Mir ging das so als ich mein letztes Level
erreicht habe. Man steigt halt nur durch metzeln auf, und
da sind halt gute, neue und wahnsinnig tolle Waffen gefragt.
Sonst geht da keiner hin. (gibt es in Tamaris solche Sachen?)
Oder halt neue Quests. Aber die lassen ja immer ein wenig
auf sich warten. Da sind Gebiete mit neuen Items schneller
dran. Ja und deswegen kann heutzutage ein Seher (zumindest
ein Abenteurer) die SSP locker alleine aufraeumen.
Naja zumindest geht es mit so.

Anakin (Metzelkopp)

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



Re^3: was soll's (Flagg, 12. Jul 1995, 13:49:15):
#! rn=Anakin rt=805543122
Denkt eigentlich keiner mehr an die "normalen" Spieler..?
Alles dreht sich hier nur um Seher...
Find ich nicht gut
	**
inhalt gilden.karate
ups, kleiner Fehler (schaem)
	Flagg

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



Re^4: was soll's (Anakin, 12. Jul 1995, 13:50:54):
#! rn=Flagg rt=805549755
Irgendwann wird jeder Seher, d.h. irgendwann hast du kein
konkretes Ziel mehr. Als Spieler will man doch Seher werden. Doch
was machen wenn du Seher bist und nen gutes Level hast und
alle Quests ??

Anakin.

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



Re^5: was soll's (Flagg, 12. Jul 1995, 13:57:14):
#! rn=Anakin rt=805549854
Das dauert erstens bei mir noch und zweitens ist es nicht unbedingt mein
"ZIEL" Seher zu werden...
Mir machen die anderen Sachen wie Quests usw. auch spass.
Ausserdem hab ich nichts gegen SEher gesagt, sondern das die niedrig-stufigen
Spieler zu kurz bei dieser Diskussion kommen
	Flagg

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



Re^6: was soll's (Anakin, 12. Jul 1995, 14:08:51):
#! rn=Flagg rt=805550234
Naja also ich bin von mir ausgegangen. Ich wollte unbedingt Seher werden.

Anakin.

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



Re^7: was soll's (Caradhras, 12. Jul 1995, 14:19:16):
#! rn=Anakin rt=805550931
Flagg hat schon recht, ich wollte auch nicht Seher werden.

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



Re: Re: was soll's (Asmodis, 12. Jul 1995, 16:20:44):
#! rn=Jof rt=805541608
Dass die Spieler immer staerker werden ist wohl nicht Schuld der
Karategilde sondern liegt an den ZT-Listen und den Questloesungen.
Also ich fand als Karateanfaenger nie, dass ich da besonders stark waere,
obwohl ich schon alle ZTs zu diesem Zeitpunkt hatte.

             Ciao, Asmodis(Hat seine Zts noch ohne Liste gefunden)

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



Re^3: was soll's (Asmodis, 12. Jul 1995, 16:22:29):
#! rn=Anakin rt=805543122
Stimmt, Bumerang, roetlicher Ring, Flammenkugeln, Saeurebaelle oder
sonstiger magischer Kram waren frueher undenkbar oder zu aufwendig z
beschaffen !!

                 Ciao, Asmodis(einer der dienstaeltesten Seher)

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



Re: Re: was soll's (Nixihou, 12. Jul 1995, 19:25:27):
#! rn=Jof rt=805541608

also ich denke das es einer grundsaetzlichen entscheidung bedarf.
duerfen gilden staerker als die abenteurgilde sein oder nicht?

ich finde, das die abenteurgilde weiterhin fuer das mud und alle questen und
monster das mass aller Dinge seien sollte!! (aber...)
ABER, wenn ich in die karake-gilde eintrete um BESSER kaempfen zu koennen
so nehme ich eine ganze meng muehe auf mich und erst ab einem bestimmten
karate-gilden-grad bin ich dann wieder so gut, wie ich vorher als abenteuer
war.
ich finde es ueberhaupt nicht schlimm, das es ueber diesm, noch andere
karate-
gilden-Stufen gibt, die es mir dann ermoeglichen eben wesentlich besser als
ein
abenteur-SEHER zu sein. Eingendlich ist das nur der "gerechte" lohn fuer die
wirklich viele arbeit, die es braucht, bis man sich zu diesen Extra high
leveln
hochgearbeitet hat.

ich finde auch nicht das nun alle magier ihre monster an diese neuen
"supertolle" gildenstufen anpassen sollten. denn diejenigen die diese Stufen
erreicht haben haben es sich erstens verdient, dass es leichter ist durchs
mud zu gehen und zweitens wird es eh nicht sehr viele davon geben.
(und mal ehrlich, welchen spass macht es noch wenn jedes monster beim ersten
schlag tot umfaellt?)
Diese wenigen "mudsuperseher" die es dann durch die gilden geben wird werden
sich, denke ich, eh andere betaetigungsfelder suchen als fuer sie
uninterssante
monster zu metzeln und / oder anfaenger zu nerven.
sie werden wohl eher den anfaegnern helfen. und wie immer die ersten bei
neuen
questen sein.
nur wenn sich die magier auf dieses "wettruesten" einlassen dann hat der
einfache abenteurer keine chance mehr, denn der muss sich erstmal durch die
ganzen verstaerkten monster kaempfen (ohne die guten gildenskills) um zts zu
sammeln und die questen zu loesen. und irgenwann, wenn er seher ist ist er
auch so weit, dass er daran denken kann in einer gilde hoehere stufen zu
erreichen.

SENF off ...
nixi

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



Re: Re: was soll's (Nixihou, 12. Jul 1995, 19:32:19):
#! rn=Jof rt=805541608
ups noch was vergessen!

ausserdem denke ich nicht das die alten herrausforderungen desswegen leichter
zu bewaeltigen sind, weil die spieler so viel staerker geworden sind, sonder
weil die schwaechen der monster bekannt sind und die kamptaktik besser
geworden ist.
wenn man als abenteuer-seher den trick beim goblinhexer kennt ist er genauso
leicht wie er es fuer karateka (vor der aenderung) war.
das hat was mit informationen ueber das mud zu tuen und nicht damit,
das die spieler alle staerker geworden sind.
(ok immer mehr spieler haben fast alle zts gefunden, aber das mud ist nun mal
nicht nur fuer diese spieler, sondern auch und gerade fuer die anfaenger
geschrieben. ist doch so oder?)

SENF off (finally)
nixi

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



Re^3: was soll's (Caradhras, 13. Jul 1995, 02:38:09):
#! rn=Nixihou rt=805570339
Wieso nur Abenteuer-Seher beim Hexer? Reicht doch schon ein normaler
Spieler mit Feuerbaellen.

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



*lach* (Lechuck, 13. Jul 1995, 08:40:50):
Ich glaub ich mach mir in die Hose....
das ist einfach zu lustig....
So als Besitzer eines gruenen Guertels (5.Kyu) stell ich mich so unschuldig
in den Dschungel und hau ein bisschen auf den Panther und den Sambharhirsch
ein, will ja noch was lernen. Naja, lauf ich halt 5mal in die Archie-Kneipe
und sauf mich wieder voll. Dann schick ich mal unseren drittie hin (Anfaenger,
stats:13,20,17.20) der haut mal drauf..mom..zaehlen..8 Kampfrunden..sind die
beiden doch glatt tot (keine Ruestung, keine Waffe)..vielleicht sollte Rochus
mal die Option setzen, dass man einfach mit der flachen Hand Ohrfeigen fuer
die Monster verteilen kann, die scheinen doch wirksamer zu sein, als die
schoenen Karateschlaege, wie immer sie auch heissen moegen...

Guybrush, sich immer noch kringelnd :))))

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



Re^3: was soll's (Yantro, 13. Jul 1995, 09:56:31):
#! rn=Slash rt=805544594

Der Sinn der Karategilde war aber nicht, dass man dann BESSER kaempfen kann
als die abenteurer, sondern GENAUSO gut, nur mit dem unterschied, dass der
karateka das OHNE ausruestung machen kann.

Allgemein gesagt MUESSEN alle gilden in etwa gleich stark sein, denn wenn
eine staerker ist, dann kannste alle anderes zu machen!

Yantro

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



Re^4: was soll's (Morgoth, 13. Jul 1995, 10:01:04):
#! rn=Yantro rt=805622191
Hi
das du die andren zumachen kannst glaub ich nciht....
es wird immer leute gebn, die karate oder zaubern nicht ab koennen...
das mit dem gleich stark ist schoen und gut, dann muss aber auch der AUFWAND
angepasst werden...und der ist zur zeit bei den abenteurern(gilde) im
SUPERSONDERANGEBOT
ich kann ja mal nen logfile posten....kampf karateka(3. kyu) und
abenteurer(schlaffie)....dann kannst du ja mal nen argument suchen
aeh gegen nen goblin wird gekaemfpt...

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



Re^5: was soll's (Lechuck, 13. Jul 1995, 10:11:05):
#! rn=Morgoth rt=805622464
Hm.....
Erstmal nachtraeglich zu meinem letzten Artikel: *Ironie
in*........<text>........*Ironie off* (naja bis aufs lachen  das war echt und
kam von Herzen :) )

aber...

lassen wir Rochus doch die Zeit, die noetigen Anpassungen zu machen. Es wird
NICHT so bleiben wie es im Moment ist. Vorher waren die Karatekas staerker als
Abenteurer mit gleichen Stats, weil es einen Bug gab. Die Karatekas jetzt auf
einen etwa gleich starken level zu setze, kann ja etwas dauern (ich weiss wie
lange ich immer an so programmen rumklamuester und die sind sehr viel eifacher
und kleiner ... :) ).
Also erst mal abwarten und mit dem gegenwaertigen Stand leben..geht auch ne
Zeit lang.
Wie sagt schon unser Kaieser...schaun mer mal

Guybrush

P.S.: gegen konstruktive Kritik hat Rochus sicher nix, (und ein kleines Lob
ab und zu fuer seine wirklich gute Gilde waer auch nicht fehl am Platze).

P.P.S: legt ihm doch ne Flasche Cola in ein Paeckchen und schickt sie ihm
(auch im RL) ;)

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



Re: *lach* (Bobo, 13. Jul 1995, 13:19:23):
#! rn=Lechuck rt=805617650
Ja, ich weiss nicht, Guy,
jetzt verraetst Du meine ganzen Tricks. Obwohl ich wahrscheinlich miesere
stats als Dein Drittie habe (mal sehen), finde ich das laestige Besorgen von
anachronistischen Symbolen patriachalisch gepraegter Form der Konfliktloesung
als herabwuerdigende Prozedur zur Demonstration des
Abhaengigkeitsverhaeltnisses mittels Rekapitulation fruehkindlicher Reiz-
Reaktions-Schemata:
Der Ziegenbock greift Dich mit gesenkten Hoernern an.
'?' for help; Hit Enter to continue..
Der Ziegenbock trifft Dich sehr hart.
Die Angst ist staerker als Du...

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



Re: Re: *lach* (Bobo, 13. Jul 1995, 13:33:47):
#! rn=Bobo rt=805634363
So, weiter im Text, bei den Reizen war ich haengengeblieben, die Reaktion
sah damals (in der postnatalen Phase) in etwa so aus:
Oeffne Truhe, nimm Kittel aus Truhe, unt kittel, wuerg, trage kittel,
ihr wisst ja, wenn man Glueck hatte, war da noch die stumpfe Holzaxt, die
Waldemar seit Jahren draussen im Regen liegenlaesst (weil sie eh stumpf ist)
- die Erinnerung an diese Zeiten wird im uebrigen dadurch heraufbeschworen,
dass viele der heute in sehr anmassendem Tonfall geaeusserten Vorwuerfe
schon damals auftauchten, da gab's Heulen und Zaehneknirschen um jeden
dreckbeschmierten Elfenpanzer, der einem reboot zum Opfer gefallen war, aber
das nur nebenbei, mich wundert, wieviel Geduld manche Mags noch aufbringen -
ja, also genau aus diesem Abhaengigkeitsverhaeltnis kann sich ansatzweise
emanzipieren, wer sich wie Du auf simple Ueberredungskuenste verlaesst und
in einem klaerenden Gespraech mit den Monstern eine mehr oder weniger
guetliche Einigung anstrebt. Aber nicht weitersagen...
Gesundheit und Wohlergehen,
twBs.

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



Karatebuch (Toss, 13. Jul 1995, 15:18:08):
Hi!

Fuer diejenigen, die mein Karatebuch mal in optisch schoenerer Form lesen
wollen, oder nicht andauernd in mein haus laufen, um es zu lesen, hat Mupfel
den Text des Buchs in TeX eingezogen, und im /open auf dem ftp-server des MG
abgelegts. Wer Lust hat, kann es sich dort laden.

Vielen Dank, Mupfel !!

Ryne

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



Re^5: was soll's (Quillian, 13. Jul 1995, 19:27:13):
#! rn=Anakin rt=805549854
Wieso will jeder Spieler Seher werden???
Also ich bin seit etwa einem Jahr angehender Seher (19) und
nichts draengt mich dazu Seher oder gar Magier zu werden ...

Quillian

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



Re^6: was soll's (Asmodis, 13. Jul 1995, 21:10:44):
#! rn=Quillian rt=805656433
Ja, ich weiss auch nicht warum einige Leute mich dauernd fragen,
warum ich einen meiner Zweities (Kenner wissen, wen ich meine)
nicht zum Seher mache! WOZU? SPieler sein ist doch auch schoen :)

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



und wieder so viel zu lesen .... (Ryne, 14. Jul 1995, 12:13:11):
Heya!

also, nochmal was zu Yantro:

>Der Sinn der Karategilde war aber nicht, dass man dann BESSER kaempfen kann
>als die abenteurer, sondern GENAUSO gut, nur mit dem unterschied, dass der
>karateka das OHNE ausruestung machen kann.

>Allgemein gesagt MUESSEN alle gilden in etwa gleich stark sein, denn wenn
>eine staerker ist, dann kannste alle anderes zu machen!

Nein, sehe ich nicht so. Dagegen spricht schon das Argument, dass Morgoth
auch schon brachte: es wird immer Leute geben, die aus eher sentimentalen
Gruenden in  einer bestimmten Gilde sind, und dort auch bleiben werden.

Ich sehe in Yantros Argumentation aber einen weiteren Fehler; die Sichtweise
der Differenzierung zwischen Karate/anderen Gilden als: man braucht dort
keine Ausruestung, halte ich fuer etwas zu oberflaechlich. Die Gilden
unterscheiden sich naemlich vielfaeltiger, und alle Aspekte die sich in die
Gildenfaehigkeiten wiederspiegeln, sollten beachtet werden. Ich will mal -
ohne Anspruch auf Vollstaendigkeit - versuchen diese zu nennen.

1. Karateka brauchen keine Ausruestung, das ist richtig. Aber als Vorteil
sehe ich das nicht, denn so hat das metzeln von Monstern ja noch weniger
Sinn, weil ich sie nichtmal ausschlachten kann. Ich hatte schon frueher als
Spieler kein Problem mit den recht haeufigen reboots, weil man dann
wenigstens wieder 'sinnvoll' metzeln (was fuer ein Widerspruch in sich ;))
konnte. Und ausserdem sind die Karateka ohne Ausruestung ja auch schlechter
geschuetzt, und muessen sich den Ruestungsschutz quasi durch die
Abwehrschlaege und damit durch Mps erkaufen, was auch nicht unbedingt
Vorteilhaft ist. Und ausserdem koennen Karateka nur wenig Ausruestung haben,
weil sie ja nur wenig gewicht mit sich tragen duerfen, damit die Schlaege
nicht automatisch misslingen.

2. Karateka muessen ueben bis sie alle Farben des Regenbogens im Gesicht
stehen haben. Wenn tatsaechlich fuer einen Karateka im 1. Dan (das ist meines
Ermessens ungefaehr die Stufe, auf dem die Masse der Karateka verharren wird,
weil von da ab der Aufstiegsprozess noch deutlich an Schwere zu nimmt) nur
der eine Unterschied des Ausruestungs-nicht-Benoetigen im Vordergrund steht,
dann werden diese nochmal alle Farben des Regenbogens im Gesicht tragen,
naemlich aus Wut, und das meines Ermessens berechtigt, denn der betriebene
Aufwand waere zu gross.

3. Karateka haben betraechtliche Faehigkeiten im Kampf, zumindest gehe ich
davon aus, wenn Rochus die Gilde nochmal etwas (ETWAS, aber dazu spaeter) in
der Kampfkraft anpasst. Allerdings haben sie diese Faehigkeiten nur solange
sie Mps haben; und jeder Karateka weiss, dass er selbst gegen schwache
Monster unheimlich schnell in einem Kampf 100 MP verbraet. Also 5
Feuerbaelle. Und diese von einem Abenteurer eingesetzt, bringen ebenfalls
sehr viel Schaden. Der hohe MP-Verbrauch der Karateka wird in dieser ganzen
Diskussion oft vergessen. Karateka haben naemlich ihre betraechtlichen
Faehigkeiten nur solange, wie sie mind. 25% ihrer Mps haben. Danach koennen
sie zwar noch passabel kaempfen, allerdings nicht so gut wie manche das hier
scheinbar vermuten, weil viele Schlaege misslingen und keinen Schaden machen,
wenn die Mps weg sind.

4. Allerdings ergibt sich hieraus grundsaetzlich schon ein Vorteil der
Karateka: Wenn man naemlich keine Mps mehr hat, werden einfachere Schlaege
gewaehlt, und man trifft noch immer recht haeufig 'hart' oder auch 'sehr
hart'. Dies ist allerdings stark stufenabhaengig (Stichwort
Erfolgswarscheinlichkeit von Schlaegen in den einzelnen Stufen). Ich bin im
4. Dan da mit meinen Moeglichkeiten schon recht zufrieden, weiss aber nicht,
wie es da unteren Levels geht.

5. Ein weiterer Nachteil der Karateka ist ihre Unfaehigkeit, Eis- oder
Feuermonstern mit den entsprechenden magischen Faehigkeiten zu entgegnen. Wer
sich mal durch die SSP hetzt, wird schnell sehen, wie wichtig doch so ein
Feuerball ist. Oder war. denn ohne Feuer wirds schon erheblich haerter als
frueher. Auch dies sollte mit in die Ueberlegungen einbezogen werden.

6. und NUN wirds interessant: Dieses Mud verfuegt naemlich gluecklicherweise
um ein Gildenkampfkraft-Ausgleichs-Tool ;)). Gibts im Seherladen zu kaufen,
manche kriegens auch fuers loesen der Wolpi-Quest. Das ist zumindest meine
Erkenntnis aus der Metzelei gestern nacht: Mit Bumerang kann auch ein
Karateka die oben beschriebenen Nachteile bei Eismonstern z.B. ausgleichen.
Somit kann man auch mal einen Eistitan umnieten. Dann kommt der Schaden halt
groesstenteils von den Bumis, und nicht aus den Karatefaehigkeiten, aber es
geht.
Und andererseits zaehlt dies auch fuer die Abenteurer; denn sie koennen ihren
Nachteil, den sie bei anderen Monstern haben, die Karateka schneller als
Abenteurer toeten, ebenfalls durch Bumerangeinsatz nivellieren. Und Bumis
werden ja von fast allen Sehern benutzt. Insofern wird der Unterschied hier
schon recht deutlich ausgeglichen, und zwar zu beiden Seiten.

7. Hab ich oben schonmal angekuendigt: Kampfkraft - also, meine Erfahrung
gestern war, dass man mittlerweile als Karateka schon ganz gut metzeln kann,
ich hatte das Gefuehl, es ging einen Tick besser als als Abenteurer, ich habs
mit meinem Zweiti verglichen, der als Abenteurer mit fast allen Zts,
allerdings nicht kompletter Ausruestung sich beim metzeln schwerer tat als
ich. Nun bin ichallerdings schon recht hoch in der Gilde, und vermute, dass
die Stufen so im Bereich 1. Dan im moment gleichstark sind wie Abenteurer.
Das sollte aus den o.a. Gruenden noch ETWAS angepasst werden. Karate sollte
etwas staerker werden, aber nur etwas etwas etwas, sonst (so zumindest mein
Gefuehl) wirds zu stark.

Fazit fuer mich: Hier spielen mehr Faktoren in den Gildenvergleich ein, als
nur das von Yantro genannte 'Ausruestung- nicht brauchen'. Im Gegenteil,
gerade jenes Argument duerfte fuer die meisten im Hintergrund stehen. Wer die
Karategilde kritisiert sollte auf jeden Fall versuchen, auch die anderen
Argumente in seine Ueberlegungen einzubeziehen. Insgesamt finde ich aber,
dass wir hier schon eine mittlerweile gute, in das Staerkeverhaeltnis des
Muds passende Gilde bekommen haben.


Mal wieder lang - tut mir leid, aber ich konnte das nimmer kuerzer schreiben
;))

Ryne

P.S. Oha, noch was wichtiges: Meine allgemeine Haltung zum Thema Gilden: Ich
glaube, dass die neuen Gilden mit neuen Faehigkeiten in Zukunft immer einen
erheblich hoeheren Aufwand fuer die Spieler mit sich bringen werden, als der
der in der Abenteurergilde noetig ist, um aufzusteigen und seine Sprueche zu
100% zu beherrschen. Insofern glaube ich, dass wir in Zukunft die Abenteurer
als 'Einsteigergilde' haben werden, in der man sehr schnell seine Sprueche
erlernt, andererseits jedoch auch nicht die Kampfkraft anderer Gilden
erhaelt. Und diese Kampfkraft der ANDEREN Gilden sollte es sein, die
ausgeglichen ist; die Abenteurer sollten wegen ihres geringen Aufwandes etwas
zurueckstecken. Somit kann man die Karategilde wohl auch als Versuch sehen,
die Kampfkraft der neuen Gilden zu normieren. Wenn es nicht zu einer weiteren
deutlichen Erhoehung der Kampfkraft durch neue Gilden kommt, duerfte das
Kraefteverhaeltnis im MG durchaus ausgeglichen sein und bleiben.

Danke fuer die Aufmerksamkeit!!


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



Re: und wieder so viel zu lesen .... (Adama, 14. Jul 1995, 13:02:27):
#! rn=Ryne rt=805716791
schon wieder ein artikel von ryne, dem ich voll zustimmen muss.
so langsam wird mir das unheimlich ...   :-)

adama

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



Re: und wieder so viel zu lesen .... (Asmodis, 14. Jul 1995, 15:38:59):
#! rn=Ryne rt=805716791
Also ich finde auch, dass die Abenteurergilde nicht staerker als die
anderen Gilden sein soll. Ich tendiere aber eher dahin, den
Abenteurern den Feuerball-Spruch abzunehmen, oder wenigstens
das lernen stark zu erschweren, weil man sonst die anderen Gilden
staerker machen muesste und dann wuerde wieder an der Ruestungsspirale
gedreht (staerkere Spieler->staerkere Monster->mehr Knatsch und Tote)

Das finden vielleicht einige LLPs oder auch einige faule Seher :)
etwas ungerecht, aber die Abenteurergilde sollte nur eine
Einstiegsgilde sein, wie Ryne schon sagte, da sie zu zentral
liegt und eigentlich jeder Newbie sie als erste Gilde entdeckt.
Ausserdem stimmt das 'Preis-Leistungs-Verhaeltnis' nicht,
wenn andere Gildenmitglieder wochen- und monatelang ueben
muessen (ich gehe davon aus, dass das in anderen Gilden nicht anders
sein wird als in der Karategilde), und die Abenteurer innerhalb
kuerzester Zeit anstaendig metzeln koennen.

       Ciao, Asmodis

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



Re: Re: und wieder so viel zu lesen .... (Warlord, 14. Jul 1995, 21:04:12):
#! rn=Asmodis rt=805729139

Ich moechte dazu auch was sagen, obwohl ich kein Karateka bin und auch nie
sein werde. Ich stimme Ryne zu, moechte aber Asmodis wiedersprechen.
Meiner Meinung nach sollte man mal abwarten, was sonst noch fuer Gilden
kommen (noch mal der Aufruf, ob die Magier nicht mal ne Gildenliste
veroeffentlichen koennten)
Da es so aussieht, dass man bei allen zukuenftigen Gilden sehr viel ueben
muss, sollte die Abenteuergilde weiterhin als Einsteigergilde bleiben.
Weiterhin duerfen die anderen Gilden ruhig staerker sein (alles mit mass) als
die Abenteuergilde, denn man muss auch mehr fuer seine Staerke leisten. Ich
bin sogar der Meinug, anders als Asmodis, dass man Pfeil, Feuerball, etc. vom
Level her runtersetzen sollte, damit es Anfaenger einfacher haben, aber auf
jeden Fall nicht abschaffen.
In Zukunft wird sich das Problem der Staerke sowieso relativieren, weil man
durch Scriptspielen sich nicht mehr so einfach verbessern kann. Die meisten
sehr guten Karatekas haben das ja wohl gemacht.
Ausserdem moechte ich mal sagen, dass man an dem Beispiel Caradhras wohl
sieht, zu was ein "Abenteurer" alles faehig ist.

Fazit: Abenteurer sollten etwas schwaecher sein, als andere Gildenangehoerige
im Vergleichbaren Level, aber nicht durch Abschaffen des Feuerball-Spruches zu
stark benachteiligt werden..

Ich persoenlich warte auf andere Gilden, um mich dann fuer eine zu
entscheiden. Karateka gefaellt mir halt nicht.

	Warlord

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



Re^3: und wieder so viel zu lesen .... (Anakin, 14. Jul 1995, 22:41:34):
#! rn=Warlord rt=805748652
Hmm Wozu ist ein "Abenteurer" faehig? Und ich wuerd nicht einsehen, dass
der Feuerball abgewertet wird. Ich hab schliesslich den trainert sein
letzten Oktober.

Anakin.

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



Gildeneintritt (Catweazle, 18. Jul 1995, 11:22:54):
Hi!
Seh ich das richtig, das man als Neuling sofort in der Abenteurergilde ist?
Hm, wenn ja, dann finde ich das etwas ungleucklich. Man sollte auch in die
Abenteurergilde zunaechst einmal 'eintreten'!
YTC

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



Re: Gildeneintritt (Wargon, 18. Jul 1995, 12:13:40):
#! rn=Catweazle rt=806059374
Da die Abenteurergilde die Defaultgilde ist (ist man in keiner, ist man
automatisch Abenteurer), hat das durchaus seine Berechtigung so!
  Wargon

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



Re: Re: Gildeneintritt (Catweazle, 18. Jul 1995, 12:16:15):
#! rn=Wargon rt=806062420
Berechtigung ist schon ok. Aber es muss doch nicht so sein, oder?
Ne defaultgilde find ich nicht gut, manwird ja quasi gezwungen in die
Gilde zu gehen :)
Wenn man schon feuerbaelle haben will, dann soll man dafuer gefaelligst
auch in die 'feuerball'-gilde EINtreten!
YTC

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



Re: Gildeneintritt (Boing, 18. Jul 1995, 12:35:16):
#! rn=Catweazle rt=806059374
Ich finde es korrekt, Anfaenger sollten etwas haben, woran sie sich
halten koennen. Die Gilde wechseln koennen sie dann immer noch.
  Boing

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



Re: Gildeneintritt (Yendi, 18. Jul 1995, 14:10:09):
#! rn=Catweazle rt=806059374

Ich stimme zu und pflichte bei!

Wer neu ins MG kommt, wird erst einmal "<spieler>, der einfache Buerger des
Morgengrauens" und kann sich zu einem beliebigen Zeitpunkt fuer eine der
Gilden entschliessen.
Allerdings sollte in "hilfe gilden" darauf hingewiesen werden, dass man mit
EP in der Karategilde herzlich wenig anfangen kann und einem diese vorerst nur
bei den Abenteurern etwas nuetzen.

Noch etwas: Laut Gildenhilfeseite ist das Dojo immer noch "vorlaeufig neben
Miril's Turm"...


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



Funakoshi (Rochus, 19. Jul 1995, 20:03:10):
Ich habe Funakoshi etwas staerker gemacht - wenn der aktuell existierende
weg ist und die veraenderte Version kommt wird es unangenehm
fuer die Angreifer... die Staerke nimmt jetzt naemlich mit schwindenden
Lebenspunkten zu... Mit anderen Worten: Er bringt seinen Angreifern
jetzt die hohe Kunst des Kamikaze bei :-)

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



Re: Funakoshi (Slash, 19. Jul 1995, 20:10:16):
#! rn=Rochus rt=806176990
Als begeisterter Karateka und noch begeisterterer funakoshi-killer stelle ich
mir eine frage:
Kann man als karateka funakoshi noch toeten? In der Geschichte des Karates
war das ja uebrigens nichts neues.
Daher sind einige techniken verlorengegangen, weil der meister immer etwas
fuer sich behalten hat.

Slash, von funktionen hab ich keine ahnung

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



Re: Re: Funakoshi (Rochus, 19. Jul 1995, 20:39:25):
#! rn=Slash rt=806177416
Also, MIR ist es mit recht normalen Werten noch gelungen ihn zu toeten,
ich musste mich aber recht oft selbst heilen.
Es wird jedenfalls zunehmend riskanter, je weiter Funakoshis LP abnehmen.
Mit 0 LP wuerde er so kraeftig zuschlagen, dass man mindestens
200 LP braucht um den Schlag noch zu ueberleben...
Mit anderen Worten: Als Nicht-Magier wuerde ich es nicht versuchen :-)

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



Re^3: Funakoshi (Jerrico, 19. Jul 1995, 22:04:41):
#! rn=Rochus rt=806179165
Bei 0 LP wird er auch nicht mehr alzu heftig zuschlagen, oda ?

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



Re^4: Funakoshi (Ulo, 19. Jul 1995, 22:09:07):
#! rn=Jerrico rt=806184281
Gibt es jetzt demnachst die Dan-Karateka Expeditionen zu Funakoshi, wie
bei den Sehern zur Hydra ?

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



Re^5: Funakoshi (Slash, 19. Jul 1995, 23:24:51):
#! rn=Ulo rt=806184547
mhh.. hab ich das richtig verstanden? man muesste mit mehreren auf funakoshi
los, und wenn er am ende ist ihm keine chance mehr geben zuzuschlagen, indem
man ihm z.b. 20 saeurebaelle draufknallt? oder geht das nicht, weil er immer
zuschlaegt?
slash, von akmpfformeln keine ahnung

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



Kamikaze (Grimmborn, 20. Jul 1995, 14:47:14):
Der Sensei bringt einem Kamikaze bei, d.h. man selber lernt diese Kunst auch?
Wow, da lohnt sich das Risiko ja wirklich...

Grimmborn der Atheist und Amateur-Karateka

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



Re: Re: was soll's (Snuggle, 24. Jul 1995, 10:55:29):
#! rn=Jof rt=805541608
Aehm Jof,
ich kenne Etwas, aber was bitte ist Es?

nicht ganz ernst, aber doch um Aufklaerung heischend
Snuggle

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



Re^3: was soll's (Acrimon, 24. Jul 1995, 21:33:33):
#! rn=Snuggle rt=806576129
Ein boeser Clown?

auch nicht ganz ernst,
Acrimon

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



Danke Rochus (Gabi, 25. Jul 1995, 07:29:31):
hi!
ich wollte mich nur mal schnell bedanken fuer die tolle neue funktion, mit
der man jetzt die angriffe/abwehren einzeln an- und abschalten kann! das
erleichtert mir jetzt einiges, wo es jetzt moeglich ist, zum ueben meine
einzige 100%-abwehr auszuschalten (jaja, es ist erst eine, ich arbeite noch
dran...)
insgesamt gefaellt mir die gilde jetzt so gut, dass meine erstie ganz
neidisch ist und wahrscheinlich auch demnaechst mal versucht, ob sie nen
weissen guertel ergattern kann (*kicher*)...
also, vielen dank fuer deine geduld und muehe! :-)
gabi (jaja, fuer den namen trete ich meiner erstie auch mal mit nem
gelungenen ushiro-mawashi-geri in den hiza-shita-bereich...)

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



Anforderungen. (Yeti, 25. Jul 1995, 21:04:13):
Liebe Karategemeinde !!

Zunaechst einmal ein Dank an Rochus fuer die neuen Funktionen: +, -, ohne
Die helfen wirklich dem gestressten Karataka weiter.
Nun noch zwei Ideen/Vorschlaege/Kritiken oder wie auch immer.:
  1. waere es nicht moeglich, die Angaben Funakoshis bezueglich der noch zu
uebenden Techniken nach Angriff und Abwehr zu trennen, so wie bei der
Statusangabe ??
 2. koennte man(n) nicht mal eine Personenwaage ins Dojo stellen, um das
Gesamtgewicht zu ermitteln und zum Beispiel herauszufinden, ob ein amulett
schwerer als ein ring ist.
  1b. alternativ waere "angriff/abwehr mit noch zu uebenden (techniken)"
sinnvoll

Naja, schreibt mal was dazu.

Yeti (netztot).

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



Re: Anforderungen. (Jerrico, 25. Jul 1995, 21:09:16):
#! rn=Yeti rt=806699053
zu 1 gibts schon 'frag sensei nach genauen anforderungen' oder war es 'frag
sensei nach anforderungen'
zu 2 waere ne tolle sache

mach weiter so rochus



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



Re: Anforderungen. (Yeti, 25. Jul 1995, 21:16:16):
#! rn=Yeti rt=806699053
zu 1. ups, waren nur anforderungen, sorry, nix fuer ungut

Yeti (netztot).

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



Re: Re: Anforderungen. (Reinelde, 25. Jul 1995, 22:00:00):
#! rn=Jerrico rt=806699356
2 gibts doch auch schon und nennt sich zwergenschmied, oder irre ich mich da?


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



finger (Jerrico, 26. Jul 1995, 00:49:42):
Koennte man die Zugehoerigkeit zu einer Gilde noch ins finger mitaufnehmen ?

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



Re: Anforderungen. (Jaf, 26. Jul 1995, 01:08:17):
#! rn=Yeti rt=806699053

Hm, erstmal das allgemein faellige Lob fuer Rochus *grins* :)
Nee, is ernst gemeint, es hat sich wirklich vieles zum Guten
veraendert, und Yetis Verbesserungsvorschlaege halte ich fuer
aeusserst sinnvoll. Genau fuer solche Sachen hab ich naemlich
noch'n paar Makros: Angriff mit allen nicht-100%-techniken,
Abwehr genauso, Anzeige der Techniken nach verschiedenen
Kriterien, Angriff mit 'zu uebenden'. Waere nett, wenn auch
nicht-TF-Benutzer ne Chance haetten, sowas zu benutzen...

Ahja... und noch mal ein aelterer Vorschlag von jemand anders:
ein 'more' und eine Leerzeile zwischen Angriff und Abwehr bei
'frage sensei nach status'.

Fyt.

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



aeh... (Jerrico, 26. Jul 1995, 01:12:59):
Aeh... :)
alsOO, waere es moeglich, dass man wie dass beim RL-Training, gleich welcher
Art, ueblich ist, hunger und durst bekommt :)
Ein grossteil meiner 5 tage 16 stunden ... hab ich mit warten auf den hunger
und durst verbracht :)

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



Re: Anforderungen. (Boing, 26. Jul 1995, 10:45:22):
#! rn=Yeti rt=806699053
Zu (1) kann ich nichts sagen, aber (2) ist seit Urzeiten beim Zwergen-
schmied moeglich.
  Boing

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



Re: Re: Anforderungen. (Yeti, 26. Jul 1995, 16:00:04):
#! rn=Boing rt=806748322
geht ja tatsaechlich *schaem, in mich geh*
Yeti, oft netztot

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



neulich im Elfendorf... (Yeti, 27. Jul 1995, 16:18:20):
> schau
Dies ist der Schankraum der Gaststaette der Elfensiedlung. Es ist ein
5m mal 10m grosser Raum, dessen Rueckwand von einer Theke eingenommen
wird. Vier sehr stabil aussehende, runde Tische stehen hier rum. Um
jeden Tisch stehen sechs Hocker. Insgesamt sieht hier alles etwas ein-
facher aus, aber keineswegs unkultiviert.
Auf jedem Tisch liegt eine Menuekarte, die Du mit 'menue' lesen kannst.
Es gibt einen sichtbaren Ausgang: sueden.
Uial.
Der Gastwirt.
Die Top-Liste, Top-Spielerliste, Top-Seherliste und Top-Zweitiliste.
> unt gastwirt
Der Wirt ist ein ca. 2.05m grosser Elf der ein wenig duerr wirkt. Aber
das ist auch kein Wunder bei der Arbeit, die er hier hat.
Er ist absolut fit.
Er traegt bei sich:
Ein elfisches Langschwert (gezueckt).
Ein Elfenpanzer (angezogen).
Ein grosser Schild (angezogen).
133 Muenzen.
> schaetz gastwirt
Du hast jetzt 210 Lebenspunkte und 240 Magiepunkte.
Der Wirt ist ungefaehr 192 cm gross.
Der Wirt ist recht zaeh.
Des Wirts Waffe ist sehr gut.
Des Wirts Ruestung haelt auch starken Angriffen stand.

Hmm wie gross isser denn nun ?? :))

Yeti (netztot).

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



Karatefroesche (Asmodis, 29. Sep 1995, 23:22:45):
Da jetzt immer mehr Karatefroesche auftauchen, wie
waere es, wenn man das mal etwas reformiert ??
Entweder wird man eben nicht mehr zum Frosch, wenn man
das Maerchen-Quest hat, oder man bleibt eben normalgross.
Ausserdem ist es doch unrealistisch, dass man seine
Faehigkeiten (Staerke, Geschicklichkeit, ...) behaelt,
wenn man nur noch 1/6 bis 1/10 seiner Koerpergrosse hat,
in der Hinsicht koennte man auch die Stats entsprechend
anpassen. Andernfalls koennte man ja die Karategilde fuer
Frosche verbieten in der Hinsicht, dass man nicht erhoehen
kann, und dass Funakoshi Froeschen keine Auskunft gibt.
Naja, nur so als Vorschlaege, es geht ja nicht an, dass
so kleine Tiere Riesen erlegen :)

           Ciao, Asmodis

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



Re: Karatefroesche (Baron, 29. Sep 1995, 23:34:06):
#! rn=Asmodis rt=812413365
Die Zombies werden ab demnaechst ihre Groesse automatisch den Froeschen
anpassen. Vielleicht kuessen sie aber auch demnaechst die Froesche und diese
werden auch zu Zombies :)? Wer weiss!
Baron - ('Zombies treffen auch Froesche in den Gedanbereich :)

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



Re: Re: Karatefroesche (Asmodis, 29. Sep 1995, 23:37:00):
#! rn=Baron rt=812414046
Find ich gut!!
Endlich mal ein passender Gegner fuer die Froesche :)

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



Re: Karatefroesche (Wargon,  2. Okt 1995, 15:17:41):
#! rn=Asmodis rt=812413365
Hm, es ist uebrigens nicht nur bei Karatefroeschen eher unrealistisch... ;)
Wenn ich mir mal bildhaft vorstelle, wie ein nicht mal einen halben Meter
grosser Frosch mit Mithrilruestung, Blutsaugerschwert und diversen anderen
Ausruestungsgegenstaenden durch die Gegend huepft (oder besser: scheppert)
sollte man vielleicht zumindest die msgin und msgout von Froeschen aendern, a
la "Ein Haufen Ausruestung huepft herein/nach Norden." ;)
  Just my .0002,
    Wargon

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



Re: Karatefroesche (Li,  4. Okt 1995, 08:34:03):
#! rn=Asmodis rt=812413365
Vor allen dingen, da sich als Froesche gegen Karatemonster riesige Vorteile
haben (auf Gund ihrer "Groesse" schlecht zu treffen)

Li (der das Problem von Barons Dojo des Schreckens kennt)

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



Re: Re: Karatefroesche (Silvana,  4. Okt 1995, 10:15:58):
#! rn=Li rt=812792043
Man sollte anstelle der Kraft lieber die KAMPF-Kraft reduzieren - das gibt
dann wenigstens keine Probleme mit der Maerchenquest.
Silvana - noch nen Penny.

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



Re: Re: Karatefroesche (Ronda,  5. Okt 1995, 13:26:28):
#! rn=Li rt=812792043
Hihi: dann nuckeln die Froesche dem Karatemeister am Zeh - oder wie sieht das
dann aus?
>Ein Kampffrosch beisst Dich kraeftig in eine Stelle, wo es wehtut???
Grinsend,
         Ronda

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



Re^3: Karatefroesche (Asmodis,  5. Okt 1995, 19:44:22):
#! rn=Silvana rt=812798158
Hmm, mit der Kraft waere auch die Kampf-kraft reduziert, aber wenn es auch
anders geht, vielleicht die Geschicklichkeit senken ??

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



Re^4: Karatefroesche (Asmodis,  5. Okt 1995, 19:45:37):
#! rn=Asmodis rt=812918662
Ausserdem, ist der Hexentoeter in der Maerchen-Quest so schwer ??
Wie soll ein frosch den dann rausschleppen koennen? Macht ihn doch
leichter !!

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



Re^5: Karatefroesche (Grimmborn,  6. Okt 1995, 16:03:10):
#! rn=Asmodis rt=812918737

Schon laengst passiert, Du Tueffel! ;-)

Grimmborn der Atheist

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



Aenderungen (Rochus, 11. Okt 1995, 17:30:14):
Ich habe einige kleinere Aenderungen vorgenommen:
- Man lernt jetzt ein wenig schneller
- Die Misserfolge bei wenigen MP kommen etwas seltener
- Ueben in der Gilde ist nicht mehr so stark gegenueber dem Kampf abgewertet
  (zwar noch deutlich schlechter, aber nicht so extrem wie vorher)
- 6. Dan schon ab Stufe 28, 7. Dan schon ab Stufe 30,
- Fuer den 8. Dan noetig sind:
  * 100.000.000 EP
  * 95% der AP
  * Das Stirnband des Weghiers, man muss ihn jedoch selber mindestens
    mit einem gewissen Anteil miterledigt haben und nur einer kann
    das Stirnband zum erhoehen verwenden.
    Bei dem "gewissen Anteil" werden natuerlich nur Karatetechniken
    gewertet :)
- Es gibt schon (etwas laenger) den Befehl "konzentration", und zwar
  ab dem 7. Kyu (wird beim Erhoehen vergeben oder wenn man Funakoshi
  danach fragt). Damit kann man versuchen, einen von mehreren Gegnern
  haeufiger zu treffen, das funktioniert bei hoeheren Graden natuerlich
  besser.

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



Re: Aenderungen (Fyt, 11. Okt 1995, 18:59:03):
#! rn=Rochus rt=813429014

Erst mal danke, Rochus, dass man den 8. Dan jetzt einigermassen
realistisch kriegen kann.
Trotzdem ne Frage zu den anderen Aenderungen: Wieso wird lernen
in der Gilde ploetzlich wieder vereinfacht? Genau das fuehrt doch
wieder zur Sinnlos-Scripterei, oder taeusch ich mich da?
Fyt.

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



Re: Re: Aenderungen (Rochus, 11. Okt 1995, 19:42:42):
#! rn=Fyt rt=813434343
Ich hoffe, ich habe es nicht ZU SEHR vereinfacht.
Eine Vereinfachung war nach der Verlegung nach Fernwest jedoch angemessen.
Eigentlich ist sollte Ueben in der Gilde die beste Moeglichkeit
sein, das letzte fehlende % zu bekommen.

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



Re^3: Aenderungen (Fyt, 11. Okt 1995, 20:08:12):
#! rn=Rochus rt=813436962
Naja, mittlerweile gibt's ja Monster in allen Groessen, da sollte
auch das Freilandueben nicht soooo aufwendig sein... und Gilde find
ich oede *grins*
Fyt.
Jaja, haut mich :)

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



Gildenbanish (Rochus, 25. Okt 1995, 19:22:23):
Sollten sich die unverschaemten Antworten, die Scriptueber
normalen Spielern geben, haeufen,
werde ich demnaechst ein Gildenbanish einfuehren.
Die Folge waere, dass solche Personen aus einer Gilde rausfliegen
und nie wieder aufgenommen werden.
Ich hoffe, da fuehlt sich jetzt jemand angesprochen.

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



Re: Gildenbanish (Jerrico, 25. Okt 1995, 19:28:55):
#! rn=Rochus rt=814645343
1. habe ich nicht gescriptet, sondern bin nur staendig zum tanken gerannt,
weil scheinbar das training im shinto nicht mehr so effektiv ist wie das
'uebe' im dojo, ich hab jedem dem meine rennerei auf den keks geht angeboten,
dass ich eine pause mache, wenn er/sie den sensei etwas fragen moechte.
Eine moegliche Loesung waere es wenn man ein leeres setmin ind setmout haben
koennte, damit man niemanden stoert der im dojo idlen moechte.

Jerrico, ich fuehl mich mal einfach angesprochen

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



Re: Re: Gildenbanish (Rochus, 25. Okt 1995, 19:40:41):
#! rn=Jerrico rt=814645735
Die Folge dieser Aktion ist, dass ich den Lerneffekt
beim Ueben in der Gilde halbiert habe.
Folgende Beschwerde eines Spielers hat mich extrem wuetend
auf Jerrico gemacht, ich glaube Ihr koennt meine Reaktion verstehen:

Jerrico kommt gerade..
Jerrico sagt: KOMM MIT MIR STERBLICHER nach Osten.
Jerrico kommt gerade..
Jerrico sagt: KOMM MIT MIR STERBLICHER nach Osten.
schau jerrico
.......

das ging so ca. 5 Bildschirme voll....

auf meine Beschwerde kam dann
~




Jerrico sagt: und wenn du meinst ich stell mich hier hin und idle bis ich
voll
Jerrico sagt: geheilt bin, um dann einen schlag zu ueben und wieder zu
warten,
Jerrico sagt: dann hast du leider falsch gedacht, wenn dir das raus und rein
Jerrico sagt: laufen auf den keks geht beschwer dich bei rochus, er soll mal
Jerrico sagt: bitte das lernsystem so umstellen, dass diese lauferei unnoetig
Jerrico sagt: wird
i

Jerrico sagt: wenn du den sensei was fragen moechtest kannst du es mir
Jerrico sagt: mitteilen und ich mach ne pause ansonsten kannst du ja auch
Jerrico sagt: woanders idlen
ist das normal??

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



Re^3: Gildenbanish (Reinelde, 25. Okt 1995, 21:34:20):
#! rn=Rochus rt=814646441
na ja,

egal bei wem ich mich bedanken muss. die idee die letzen paar zehntel bei
einer technik (fuer die das ueben ja mal vorgesehen war, oder?) koennen wir
jetzt also abhaken?

reinelde - wird nie karate lernen :)

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



Re^4: Gildenbanish (Jerrico, 25. Okt 1995, 21:36:47):
#! rn=Reinelde rt=814653260
bei mir,
du kannst jetzt immer noch dort ueben, musst aber eben doppelt so oft rein
und raus laufen, also am besten suchst du dir dazu eine zeit, zu der keinen
stoerst, der dort idlen moechte.

Jerrico, uebt eben mal wieder im shinto, auch wenns ewig lange dauert

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



Re^5: Gildenbanish (Khidar, 25. Okt 1995, 23:47:30):
#! rn=Jerrico rt=814653407
Hm, offensichtlich hat sich Jerrico im Ton, nicht aber im Hinweis
vergriffen.... Ich hab bei meinem  ueben auch drauf hingewiesen, daDss ich das
Ueben zwar mal 5 min, nicht jedoch fuer ne ganze Weile einstelle. Wenn jemand
unbedingt dort ideln will, musz er eben volle Bildschirme in Kauf nehmen.

Khidar, hat mit dem Ueben zum Glueck nix mehr am Hut :)

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



Re^6: Gildenbanish (Jerrico, 25. Okt 1995, 23:49:19):
#! rn=Khidar rt=814661250
Schoen, dass jemand dafuer verstaendnis zeigt. :)
Der Ton resultierte mehr aus der art und weise wie derjenige spieler mich
angesprochen hatte, sodass ich nicht anders konnte als ihm eine patzige
antwort zu geben.


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



Re: Re: Gildenbanish (Asmodis, 26. Okt 1995, 15:18:06):
#! rn=Jerrico rt=814645735
Dass Rochus den Lerneffekt im Dojo erhoehht ist kein Grund, ein
solches Nervscript einzusetzen. Find ich jetzt bloed, dass wir anderen
Spieler dafuer bestraft werden.
Rochus, warum setzst du nicht einfach den Lerneffekt bei Jerrico runter
und laesst es bei uns so, wie es ist ? :)

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



Re^3: Gildenbanish (Asmodis, 26. Okt 1995, 15:18:27):
#! rn=Asmodis rt=814717086
bzw. wie es war

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



Re^3: Gildenbanish (Jerrico, 26. Okt 1995, 16:09:57):
#! rn=Asmodis rt=814717086
Also ich moechte auf solche extrawuerste fuer mich gerne verzichten, reicht
ja schon dass ich in der go-KNEIPE mal laenger warten musste als die anderen.
Und wie ich aus zuverlaessiger quelle weiss, gibt es auch andere spieler die
staendig rein und raus rennen, um einigermassen zuegig zu trainieren.
Wenn man natuerlich sowie du mit deinem skript trainieren moechte, dass man
sich den ganzen tag ins dojo stellt, und sobald die mp auf max sind eine
technik ausfuehrt und dann wieder idlet, gebe ich zu, dass du dann nach einer
gewissen zeit ein paar bildschirmseiten voll mit mitteilungen ueber rein und
rausgehende spieler hast.
ausserdem ist diese art zu trainieren nur fuer leute geeignet die noch einige
ernsthafte zweities haben mit enen sie dann etwas plaetten oder sonstwas
machen.
vielleicht sollte ich mir auch einen zweitseher machen, damit wir dann alle
in ruhe im dojo idlen koennen, waehrend unsere zweities durch die gegend
laufen.

Jerrico, der nicht gescriptet sondern nur schnell getippt hat.

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



Re^4: Gildenbanish (Larissa, 26. Okt 1995, 16:45:49):
#! rn=Jerrico rt=814720197
Jerrico,
wenn Du schon sripest, und das tust du *zwinker*, sei doch wenigstens
ruhig, und schwindel nicht rum :-)

Larissa, Nachtwaechterin ;)

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



Re^5: Gildenbanish (Jerrico, 26. Okt 1995, 16:46:59):
#! rn=Larissa rt=814722349
wir reden hier ueber gestern nachmittag, als ich mal ausnahmsweise nicht
gescripptt habe

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



Re^4: Gildenbanish (Asmodis, 26. Okt 1995, 17:16:19):
#! rn=Jerrico rt=814720197
Nee, das, was du da ueber mich sagst, stimmt nicht :)

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



Uebungsgeschwindigkeit (Rochus, 26. Okt 1995, 17:21:21):
Nein, ich werde die Uebungsgeschwindigkeit nicht wieder raufsetzen.
Ich habe keine Lust, jeden einzelnen, den ich bei solchen
Aktionen wie Jerrico erwische, in eine Liste mit Leuten
einzutragen, die dann geringere Geschwindigkeit bekommen.
Offenbar sind einige Spieler nur dann in der Lage, das Ueben
erst dann einzusetzen, wenn es wirklich noetig ist, wenn
es sich nicht so sehr lohnt wie das Ueben im Shinto oder im Kampf.
Bedankt Euch bei Jerrico. Mir reichts.

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



Re: Uebungsgeschwindigkeit (Jerrico, 26. Okt 1995, 17:23:25):
#! rn=Rochus rt=814724405
Vielleicht sollte es ein zweites Dojo geben, eins fuer leute die durch idlen
ueben wollen, und eins fuer leute die schnell trainieren wollen, ich hab nur
im dojo trainiert, weil der kampf im shinto nicht mehr soviel bringt wie noch
vor kurzem, vom kampf gegen npcs mal ganz abgesehen, ausser vielleicht den
karate-zombies, die aber viel zu schnell hinueber sind, bzw. zu wenige, um mal
ununterbrochen trainieren zu koennen.

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



Re: Re: Uebungsgeschwindigkeit (Rochus, 26. Okt 1995, 17:32:26):
#! rn=Jerrico rt=814724605
Das ist falsch.
Ich habe den Kampf im Shinto nicht verschlechtert, durch die
anderen Verbesserungen sollte er sogar automatisch mit besser
geworden sein.
Die einzige Aenderung vom mir im Uebungskampf ist eine, die nur dann
verschlechternd wirkt, wenn man ihn anders nutzt als man ihn
nutzen sollte, auf eine Art, die in Skripts haeufig vorkommt.

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



Re^3: Uebungsgeschwindigkeit (Jerrico, 26. Okt 1995, 17:35:08):
#! rn=Rochus rt=814725146
tja, vielleicht solltest du mal mitteilen, was sich verschlechternd auswirkt,
mehr als ausprobieren kann ich nicht, und dabei hab ich festgestellt dass das
ueben im dojo schneller ging, was dann einige leute genervt hat.

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



Jerrico winselt um Erhoehung des Lerneffekts im Kampf (Jerrico, 26. Okt 1995, 19:38:54):
Nachdem in letzter Zeit staendig Magier aus der beruehmten Schwefelwolke
getreten sind, und mit einem 'hallo?' oder 'hi?' oder sonstwas mit einem
Fragezeichen am Ende testen wollten ob ich nun da bin oder ein Skript laufen
lasse, hat man mir nun mitgeteilt nachdem ich ein paarmal von meinem Wohnsitz
bei der Bergwacht ueber den Friedhof zum Dojo mit einem Wegescript gespurtet
bin und dort mit einigen Zweities trainiert habe, weil *grummel* das Training
im Shinto immer noch die beste Lernmethode ist, dass ich 20% meines Erlernten
verliere, sprich ein Austritt aus der Gilde vorgenommen wird, wenn man
vermutet dass ich ein Skript laufen habe.
Da mir diese 20% zu schade sind, waere es ganz toll von dir rochus, wenn
du den Lernerfolg im normalen Kampf gegen NPCs erhoehen wuerdest, und der
Kampf  im Shinto nur noch eine just-for-fun-arena ist, in der karateka ihre
kraefte messen koennen.
An die snoopenden Magier moechte ich sagen, dass man wenn man ein Wege-script
startet, weitere Befehle eintippen kann, die am ende des Wege-scripts
ausgefuehrt werden, und dann fuer einen snoopenden Magier vielleicht so
aussehen, als wuerde ein voll-script laufen.


Jerrico, geht dann mal wieder orks killen, das bringt dann mal wieder 1% pro
stunde

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



Re: Jerrico winselt um Erhoehung des Lerneffekts im Kampf (Asmodis, 26. Okt 1995, 23:50:09):
#! rn=Jerrico rt=814732734
Wieso, kann man im Shinto besser lernen als gegen npcs ? wenn ja, dann
sollte das auf die gleiche stufe gesetzt werden, dann kann jerrico
wieder beruhigt metzeln gehen :)

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



Re: Re: Jerrico winselt um Erhoehung des Lerneffekts im Kampf (Jerrico, 27. Okt 1995, 08:46:47):
#! rn=Asmodis rt=814747809
Sag bloss das hast du noch nicht gemerkt :)
Also ich hab gestern, nach meinem Aufenthalt im TF-Raum :),
obwohl ich kein TF benutze, mal so etwa 1 Mio. Ep ermetzelt, und die %
Gewinne in der Abwehr, waren
vergleichbar mit dem was man in einer halben Stunde 'intensivem' :)
*raeusper* Training mit 3 Zweities oder anderen Anfaengern im Shinto
erreicht.
Also fuer die Mio hab ich etwa 3 oder 4 stunden gebraucht, so in etwa.
Zumindest finde ich, dass man den Lerneffekt im Kampf erhoehen sollte, aber
ohne
Den Effekt im Shinto abzuschwaechen, da dort Anfaenger schnell lernen, naja
was in der Karate-Gilde halt schnell heisst, koennen und in den
Ausnuechterungspausen, koennen sie ihr Karate-wissen austauschen.

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



Re^3: Jerrico winselt um Erhoehung des Lerneffekts im Kampf (Jerrico, 27. Okt 1995, 08:48:10):
#! rn=Jerrico rt=814780007
Vergesst die Formatierung und das letzte Komma :)

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



Skriptspieler (Durian, 27. Okt 1995, 10:40:34):
Hallo zusammen!

Dass ich Skript-spielen krank finde hatte ich ja schonmal geschrieben,
dazu sage ich jetzt also nix mehr.

Aber auch so verstehe ich die Aufregung nicht: wurde nicht vor kurzem
beschlossen Skript-spielende Spieler hart zu bestrafen? Wozu muss man
also wegen einem ertappten Skripter alle bestrafen? Haut dem/derjenigen
einen auf die Muetze und die Sache ist geregelt, oder?

kurz und schmerzlos

- Durian

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



Re: Jerrico winselt um Erhoehung des Lerneffekts im Kampf (Catweazle, 27. Okt 1995, 12:41:59):
#! rn=Jerrico rt=814732734
Hi!
Hm, Jerrico, Du magst recht haben, man kann tatsaechlich waehrend
eines Wegescripts Befehle anhaengen, die dann sofort ausgefuehrt werden.
Aber ich finde es doch schon merkwuerdig, wenn du jedes mal, wenn deine
Statuszeile 0 MPs anzeigte Du spontan ausgeloggt hast, um Deinen Tank-
weg abzulaufen. Gutgut, Du hast recht, das kann man auch mit intensivem
Starren auf den Schirm und rechtzeitiger Betaetigung der Entertaste
machen, aber das war nur eine Beispielstelle, Du hast an einigen
Stellen 'Trigger'-aehnlich reagiert. Was mich aber endgueltig stutzig
gemacht hat, und das ist etwas, was Du _nicht_ am Ende eines Wegescripts
machen kannst, war Dein Zweitie, der Dir genau in dem Augenblick, in dem
Du den Raum betreten hast, das Theatermesser gesteckt hat, worauf Du ihn
angegriffen hast. Du kannst mir nicht erzaehlen, das Du das ohne Trigger
abpassen kannst!
Aber genug der Rumhackerei auf Jerrico, ich finde es wieder mal Schade,
das es DOCH immer wieder Leute gibt, die meinen, sie muessten gegebene
Regeln uebertreten, um Ihren eigenen kleinen Vorteil gegenueber anderen
zu finden. Ich hab meistens weder zeit noch Lust, mich mit sowas
rumzuaergern, aber leider isses manchmal doch nicht zu vermeiden. Da mir
im Moment die Scriptspielerei wieder vermehrt auffaellt, moechte ich Doch
jeden bitten, der meint, er muesse es den anderen Spielern und Magiern
mal wieder zeigen, wie flott er doch ne Quest loesen kann o. ae., seinen
Scriptswillen nochmal zu ueberdenken. Ihr erspart mir und vor allem
Euch eine Menge Aerger.
Yours truly,
        Catweazle

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



Re: Re: Jerrico winselt um Erhoehung des Lerneffekts im Kampf (Zardoz, 27. Okt 1995, 12:45:05):
#! rn=Catweazle rt=814794119
Sind Trigger verboten?

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



Re^3: Jerrico winselt um Erhoehung des Lerneffekts im Kampf (Jerrico, 27. Okt 1995, 12:48:37):
#! rn=Zardoz rt=814794305
tja scheint so zu sein, weil dann aus einem wegescript ein vollscript wird

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



Re: Skriptspieler (Caradhras, 27. Okt 1995, 13:00:07):
#! rn=Durian rt=814786834
                   Hee, hallo Durin

Hast Du Jericos Artikel nicht gescheit gelesen? Er sagte doch, er hat
nicht geskriptet und ich glaube ihm das. Hab ja selbst Celebdil als
Karateka-Zweitie und den schick ich auch oft mal los kloppen, ein
wegeskript (erlaubt!) ausfuehren, dann per Hand das trinken eingeben
vom Alk und gleich wieder ein Wegeskript zurueck. Und da soll ich
auf den Bildschirm kucken? Und beim Monsterli umlegen muss ich ja
auch nichts machen ausser evtl ab und zu mal den Schlag wechseln,
wofuer ich aber auch nicht hinkucken muss wenn ich blind tippe.

Das heisst also ich schaue nur ab und zu mal auf das Fenster um
zu ueberpruefen wann die Hitpoints der Neige zu gehen, 95 Prozent
duerfte ich nicht mitkriegen was in diesem Fenster passiert.
Die einzige Moeglichkeit, die mir einfaellt, so einen Karate-Spieler
von einem Skriptie zu unterscheiden, waere eine Einloggpflicht fuer
einen Zweitie, der im weg des Wegskripters auftaucht als 'weg melde
dich bitte bei xxx, bei mir scrollt es'. Und dieser Zweitie (oder
Erstie, wie ich bei Celebdil) muesste dann erreichbar sein, zu-
mindest nach einigen Versuchen (Minuten), und der muesste dann auch
das wegeskript abstellen koennen.

Ich war selbst mal davon betroffen, als Rumata mich (selbst als
Abenteurer) ins Gefaengnis gesteckt hat, als ich gegen die Hydra
alleine gekaempft habe. Und das waren auch nur wegeskripts, ich
waere sogar ueber mehrere Zweities damals erreichbar gewesen.

        tschuess
    Caradhras - stellt fuer Celebdil ein Schild auf: IDLE!

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



Re: Re: Jerrico winselt um Erhoehung des Lerneffekts im Kampf (Caradhras, 27. Okt 1995, 13:03:57):
#! rn=Catweazle rt=814794119
Oppppppppppppppps, ich aehm, oemm, war natuerlich Durian gemeint und
nicht Durin. *erroet* *muster sein 'a'*
Tschuldjung Frosch Durin.

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



Re: Re: Skriptspieler (Cuchullin, 27. Okt 1995, 13:06:10):
#! rn=Caradhras rt=814795207

Hmmm.... Cara, schreib das Reply erst, wenn Du alle Artikel gelesen hast...
Mir scheint nicht, dass Cat* sich Mist aus den Fingern gezogen hat.

Karateueberei hin, Metzeln her - Jerrico war nunmal auf Script - und da gibts
genug andere Zeugen.

11. Gebot: Du sollst Dich als SPC nicht erwischen lassen.
12. Gebot: Falls Du das 11. Gebot nicht hinbekommst, LASS ES.

Sich an das 12. gehalten habend,
Cuch.-


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



ueben in der Gilde (Durin, 27. Okt 1995, 13:14:44):
Hi allerseits !!

Also ich wuerde auch nicht gleich alles wieder veraendern Rochus, nur weil
ein Verdacht besteht, das ein Spieler gescriptet hat, was man ja nun nicht 100
% beweisen kann. Also ich fuer meinen Teil uebe die Techniken in der Gilde nur
wenn ich noch so max. 4% zu 100 benoetige. Ich finde deshalt sehr nervig wenn
ich fuer diese 4% mehrere Stunden benoetige. Also ich habe bis jetzt fast
ausschliesslich die % ueber schlachten erwirtschaftet, und werde es auch
weiterhin so handhaben. Erstens erhaelt man EP und zum anderen kann man mehere
Techniken angriff wie auch abwehr gleichzeitig ueben.

Noch ein Wort zu Rochus. Ich denke durch ein solches hin und her mit der
Gilde lernraten hin und her, ist das bestimmt keine Werbung fuer die Gilde. Es
waere schade wenn du Dir die Arbeit nur fuer eine Handvoll Spieler gemacht
haben solltest.

Bis denne Durin


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



Re: ueben in der Gilde (Larissa, 27. Okt 1995, 16:51:52):
#! rn=Durin rt=814796084
Hi,
Nur kurz: Jerrico HAT gescriptet, hat's ja selber zugegeben ;)

Larissa, findet auch, dass die Diskussion nun reicht ;)

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



dojo_ueben (Chicola, 27. Okt 1995, 19:50:56):

Koennte man nicht den Uebungseffekt in Abhaengigkeit der %-Zahl einrichten ?
20 % kaum effektiv
70 % maessig effektiv
> 95 % echt effektiv ??
Damit wuerde man erreichen, dass man erst die sehr guten Techniken im dojo
effektiv uebt! und das ist ja wohl beabsichtigt !
-- Chicola macht sich Gedanken und hofft endlich mal eine vernuenftige
Reaktion von Rochus zu bekommen!
PS ich steh auf Kriegsfuss mit GROSS und kleinschreibung :)

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



Re: Re: Skriptspieler (Durian, 30. Okt 1995, 10:48:02):
#! rn=Caradhras rt=814795207
Hi Cara!

Hast Du meinen Artikel nicht richtig gelesen (oder habe ich falsch
geschrieben??) ?? :-)

Ich wollte einen Rundumschlag setzen und niemand persoenlich beschuldigen!
Wenn sich jemand angesprochen fuehlt: prima, wenn nicht, dann nicht.

- Durian

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



Re: Re: Jerrico winselt um Erhoehung des Lerneffekts im Kampf (Grimmborn, 31. Okt 1995, 12:14:06):
#! rn=Catweazle rt=814794119

Wie waers, wenn mann sich mal drueber einig wird, worueber man redet? Es gibt
Unterschiede zwischen Script, Wegescript, Trigger und normaler Befehlseingabe.
Denkbar (und erlaubt?) sind auch noch Kampfscripts (waffe weg, feuerball,
waffe zuecken). NNichts vonn dem, was Cat* mokiert, muss nnotwendigerweise ein
script sein, mit Triggern geht auch einiges.

Ausserdem, wer sich auf 0 MP triggert ist doch in der Karategilde daemlich,
oder?
War nicht der Lernerfolg abhaengig von der Zahl der noch vorhandennen mp?

Grimmborn der Atheist

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



Re^3: Jerrico winselt um Erhoehung des Lerneffekts im Kampf (Grimmborn, 31. Okt 1995, 12:15:26):
#! rn=Grimmborn rt=815138046

Jaja, mein "n" ist kaputt. Der Schaden ist bereits der technischenn Abteilung
gemeldet...

Grimmborn der Atheist

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



Re^3: Jerrico winselt um Erhoehung des Lerneffekts im Kampf (Zuerileu, 31. Okt 1995, 21:31:19):
#! rn=Grimmborn rt=815138046
Sali,
Mir bekannt wurde mal ganz klar gesagt das Scripts und Trigger ausser
Wegescripts verboten sind, und damit Pasta ! Fuer mich reicht diese erklaerung
eigentlich da sie klar und deutlich ist.

Tschau Zuerileu

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



Re^4: Jerrico winselt um Erhoehung des Lerneffekts im Kampf (Jerrico, 31. Okt 1995, 21:32:08):
#! rn=Zuerileu rt=815171479
Mahlzeit :)

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



wie lautet eigentlich der befehl um die hitpoints anzeigen zu lasen? (Roesti,  7. Nov 1995, 21:30:27):

Tja waere fast ein nullzeiler geworden:)

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



Re: wie lautet eigentlich der befehl um die hitpoints anzeigen zu lasen? (Jerrico,  8. Nov 1995, 10:11:41):
#! rn=Roesti rt=815776227
mit 'report ein' :)

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



'report ein'klappt nicht....:( (Roesti,  8. Nov 1995, 21:46:44):

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



Re: 'report ein'klappt nicht....:( (Fyt,  8. Nov 1995, 21:54:47):
#! rn=Roesti rt=815863604
Hm, aber den Teddy hast Du schon?
Fyt, sich wundernd.

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



Re: 'report ein'klappt nicht....:( (Jerrico,  8. Nov 1995, 21:59:43):
#! rn=Roesti rt=815863604
dann loes mal die nibelungen-quest dann funktioniert es.

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



Funakoshi (Nichts, 13. Nov 1995, 22:05:17):

Highya :)

Soso, der Oberdaemon kann nicht nur sprechen, nein, er teilt auch Spielern
mit, was sie wie gut koennen - oder zumindest was sie noch lernen muessen...

*brummel*
Wenn das so ein doofer Daemon kann, muesste ein gelehrter Karateka wie
Funakoshi in jedem Fall auch koennen. Muss ja nicht sein, dass man aus der
Ferne seine Stufe erhoehen kann... aber wenn ich wissen moechte, wie gut ich
einen bestimmten Schlag kann, muesste der Sensei das doch hinkriegen, oder?

Rochus den Mail-Folder mit Ideen vollmuellend,
""

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



Erweiterungsvorschlag (Jimdigriz, 18. Nov 1995, 18:20:25):
Hallo Karatekas !

Hier mal ein Erweiterungsvorschlag fuer die Gilde.
-- Katas --

Eine Kata ist eine laengere Kombination aus verschiedenen Angriffs-
und Abwehrtechniken. Eine Kara aehnelt mehr einer Art Tanz als einem
echten Kampf (wird da auch nicht als solche verwendet).
In einigen Karatestilen sind Katas unbendingt erforderlich um
einen hoeheren Grad zu erlangen.
Ich hab mir die Integration folgendermassen vorgestellt:
Jede Kata besteht aus mehreren Angriffs & Abwehrtechniken sie zu einander
passen. Um zu pruefen muss man ab dem 8.Kyu jeweil
s auch die naechsthoehere Kata zu einem gewissen Grad beherrschen.
Wie gut man eine Kata kann haengt vom durchschnitt der dabei
verwendeten Techniken ab mal einem Faktor der die Kata selbst repraesentiert
(sollte nicht unter 50% sein sag ich mal). Wenn man die Kata uebt, lernt man
dabei gleichzeitig auch die Techniken die man dabei verwendet, ebenso ver-
bessert sich der Kata-Faktor.
Als Vorteil hat man bessere Chancen im Kampf gegen mehrere Gegner
gleichzeitig.
So dass mal zum groben Konzept, bevor jetzt alle losschreien:
Da Karate eh schon sehr sehr schwer ist, sollte diese Erweiterung so
eingefuehrt werden, dass es eben nicht schwieriger wird aufzu-
steigen, sonder der Level etwa gleich bleibt.
Das soll eine Erweitrung sein, die mal wieder frischen Wind
in unsere Gilde bringt, und auch fuer die perfekten karatekas
noch was bietet (ohne dass sie herabgestuft werden oder sowas)

Hmm mehr faellt mir jetzt ned, ein, kommentare ?
Rochus hast du ueberhaupt Lust und Zeit sowas zu machen ?

Oki, jetzt duerft Ihr flamen. ;-0

Ciao,

 James Bolivar diGriz, Shukokai Karateka, Anfaenger

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



Re: Erweiterungsvorschlag (Flagg, 20. Nov 1995, 18:48:46):
#! rn=Jimdigriz rt=816715225
 Also, ich finde die Idee mit der Kata echt SUPER....
Erstens ist es ne tolle Erweiterung und
Zweitens kann man damit auch schlaege trainieren, die sonst nicht so gut
gehen

	Muss auch mal was Positives sagen...
		Flagg

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



Re: Erweiterungsvorschlag (Rochus, 21. Nov 1995, 19:34:16):
#! rn=Jimdigriz rt=816715225
Ich hatte mal darueber nachgedacht, als ich die Gilde programmiert habe.
Ich habe es aus folgendem Grund nicht getan:
Eine Kata ist ein genau festgelegter Bewegungsablauf, wenn ich so
etwas machen wuerde, gaebe es nach der ersten erfolgreichen Kata
eines Spielers sofort ein Skript fuer diese.
Und ich kann bei so etwas eigentlich nur die Befehle beruecksichtigen,
die ein Spieler eingibt, und nicht das genaue Timing (waere realistischer
und wuerde Skripts schwieriger machen), weil sonst Leute mit
schlechten Leitungen stark benachteiligt waeren.

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



Re: Re: Erweiterungsvorschlag (Jimdigriz, 22. Nov 1995, 02:35:04):
#! rn=Rochus rt=816978856
Hallo Rochus,

so gesehen hast du sicher recht ... und genausowichtig
waeren natuerlich die (steh-)positionen (wie heisst das auf deutsch)
was sich auch kaum realisieren laesst, zumindest sinnvoll
Ebenso die Richtung..
Insofern hast du natuerlich recht, dass man dafuer scripten
koennte. Ehrlich gesagt hab ich mir das gar nicht so detailiert
vorgestellt (fuer den Anfang), dass man katas uebt, indem man
die techniken in der richtigen reihenfolge uebt.
Eher so man lernt eine neue 'Technik' (eben die Kata)
zB Pina-Nida. Nur muesste man sich noch was ausdenken,
dass das training dieser vom normalen training
unterscheidet. (sonst waers ja langweilig) Leider is
mir in der Beziehung auch noch nix konkretes eingefallen.
Vielleicht hat ja sonst wer ne idee ...

Ciao
 James Bolivar diGriz

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



katas in der praxis (Nixihou, 22. Nov 1995, 14:24:05):
also wenn eine kata aus (sagen wir mal 4)technicken besteht, koennte doch
beim
ueben in der gilde eine art skript kommen wie :
Du fuehrst zB Age-zuki gut aus,
Anschliessend fuerst du einen Age-uke sehr gut aus.
Du leitest mit einem mae-geri-kekomi hervorragend zu
dem abschliessenden Naiwan-nagashi-uke ueber.

jedenfalls sollte das ueben einer kata, da ich es eher als meditaton verstehe
laenger dauern (und evtl auch mehr bringen) als
das jetzige ueben von technicken.

ausserdem koennte man mit den katas ja auch "faehigkeiten" verbinden die mit
kaempfen direkt nichts zu tuen haben.
zB. schnelleres regenerieren der geistigen kraefte, wenn man eine kata
ausfuehrt, oder im anschluss an eine andere kata eine zeit lang schnellere/
bessere abwehr oder angriff. da sind der phantasie keine grenzen gesetzt.

nixihou

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



Daemonen und Karatekas (Roesti, 23. Nov 1995, 15:45:12):
>Wenn das so ein doofer Daemon kann, muesste ein gelehrter Karateka
wie>Funakoshi in jedem Fall auch koennen. Muss ja nicht sein, dass man aus der
Aeh und woher?
Hat er magische Kraefte?
Kann er hellsehen?
kann er so verschwenderisch mit seinen Kraeften umgehen wie ein Daemon?
Ist er sich fuer sowas nicht zu schade?
Ist er nicht weise genug das er nicht weis das dann seine schaeflein vviel
weniger oft in seine gilde kaemen?

Roesti

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



seltsame syntax (Mango, 30. Nov 1995, 03:31:31):


schaetz jerrico ergibt:


Jerrico ist ungefaehr 162 cm gross.
Jerrico kann ein etwas besser Karate als Du




man beachte die Syntax der 2. Bewertung.

Mango, verzweifelter Karateka.


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



Re: seltsame syntax (Jerrico, 30. Nov 1995, 03:33:58):
#! rn=Mango rt=817698691
besonders witzig ist das wenn man sich in der gilde die top-liste anschaut...
EIN ETWAS :)


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



Re: schlagringe (Yendi, 30. Nov 1995, 12:47:48):
#! rn=Ryne rt=817731653

Ryne, wenn ich mich nicht irre, dann ist ein Schlagring keineswegs ein
_Finger_ring, sondern vielmehr ein mehr oder weniger ausgeformtes Stueck
Metall, durch das Du die vier Finger Deiner rechten (oder, bei Linkshaendern,
linken) Hand steckst, um sie hinterher zur Faust zu ballen und dem Gegner die
eventuell gezackte Oberflaeche ins Gesicht oder andere empfindliche
Koerperregionen zu schlagen.
Solche Geraete koennen durchaus einiges wiegen. Allerdings sind sie fuer
schnelle Schlagfolgen deutlich zu massig.


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



Re: schlagringe (Rochus, 30. Nov 1995, 12:52:59):
#! rn=Ryne rt=817731653
Ich habe die Ringe nach oben mit einem Maximalwert abgeriegelt,
weil einige Magier nicht in der Lage sind, ihren Ringen vernuenftige
Gewichte zu geben. Es ist nicht so, dass man mit beliebig schweren Ringen
beliebig gut zuschlagen kann.
Da mehr Gewicht jedoch mehr Kraft bedeutet (~ m/2*v^2), das bei hohen
Gewichten jedoch immer weniger bringt, da die Masse schwerer
zu beschleunigen und so die Endgeschwindigkeit geringer ist,
habe ich die Absperrung asymptotisch vorgenommen,
dabei halte ich 50% der Maximalverbesserung bei einem
200g-Ring fuer einen guten Richtwert. Momentan sieht es so aus:
  50g  20%
 100g  33%
 150g  42%
 200g  50%
 250g  55%
 300g  60%
 350g  63%
 400g  66%
 450g  69%
 500g  71%
 550g  73%
 600g  75%
Schwerere Ringe bringen also keine nennenwerte Verbesserung mehr.
Ist das so unverstaendlich?

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



Re: schlagringe (Cuchullin, 30. Nov 1995, 12:53:36):
#! rn=Ryne rt=817731653



Der naechste Ring unter 750/749 Gramm, den ich kenne, wiegt 350 Gramm.
Deutlich ueber 100 Gramm wiegen die meisten, so etwa um 150 Gramm ist bei
Silvana vermutlich sogar Defaultgewicht.


Cuch.-  - postet fuer ""


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



Re: Galoppstuten aller welt, esst mehr kokosnussschalen!!! (Cuchullin, 30. Nov 1995, 13:03:43):
#! rn=Ryne rt=817732784

Deine Schnellkraft sinkt natuerlich betraechtlich, wenn Du soviel Gewicht
zusaetzlich beschleunigen musst. Aber ein Schlagring ist wesentlich
unelastischer als Deine Faust und ausserdem ... Impuls-Erhaltungs-Satz ...
macht die 'Traegheit' der Masse die fehlende Schnelligkeit mehr als nur wett.

Nicht Physiker,
Cuch.-

PS: Schonmal nen Schlagring gespuert? Ne Faust ist echt angenehmer.


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



Re^3: schlagringe (Yendi, 30. Nov 1995, 13:10:08):
#! rn=Ryne rt=817732834

Ryne, Ryne... Wenn Du schon nach Logik fragst, dann, bitte, erlaeutere doch
Deiner gebannt lauschenden Zuhoererschaft, wieso ein einen Meter kleiner
Zwerg eine Kampfsportart praktiziert, bei der es auf Schnelligkeit und
Reichweite ankommt, anstatt sich, wie es die Tradition und seine Statur
gebieten, mit einer wild geschwungenen Streitaxt auf seine Feinde zu stuerzen
und ihnen erst die Patella und dann den Schaedel zu spalten, ja?


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



Re^4: schlagringe (Raffi, 30. Nov 1995, 14:30:24):
#! rn=Yendi rt=817733408

Das mit dem Gewicht ist doch eher eine Uebungssache - ich erinnere mich noch
gut an meine Erste Woche mit Bergstiefeln - Ich dachte ich haette Bleikloetze
an den Beinen - spaeter hab ich sie garnichtmehr gespuert, und bin dann in
'normalen' schuhen wie auf wolken gegangen :)

Gruss
H.

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



Re: Re: schlagringe (Mango, 30. Nov 1995, 14:41:59):
#! rn=Cuchullin rt=817732416


mal ne frage gibts da ne moeglichkeit die ringe zu wiegen?
oder woher wisst ihr all die grammzahlen? :)

Mango, neugierig und unwissend.


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



Re^3: schlagringe (Cuchullin, 30. Nov 1995, 14:54:53):
#! rn=Mango rt=817738919



4 Muenzen = 1 Gramm.
Meistens.

Cuch.-


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



Re^4: schlagringe (Bambulko, 30. Nov 1995, 14:55:45):
#! rn=Cuchullin rt=817739693
Jaja, wenn man in anderen Mud's Magier ist. :-))

Bambulko

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



Re^5: schlagringe (Grimmborn, 30. Nov 1995, 14:59:55):
#! rn=Bambulko rt=817739745

Du irrst, das wusste ich schon lange, bevor ich Magier wurde. Und ohne dass
mir ein Magier einen Tip gegeben haette...

GdA

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



Re^4: schlagringe (Mango, 30. Nov 1995, 15:26:20):
#! rn=Cuchullin rt=817739693

THX fuer die Info.

Mango, dankbar und nun schlauer.


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



Re^5: schlagringe (Rochus, 30. Nov 1995, 16:13:41):
#! rn=Toss rt=817743065
Was soll ich jetzt machen?
Zwerge aus der Karategilde ausschliessen?
Die Gilde komplett entfernen?
Ich glaube ich stelle bald jede weitere Arbeit an der Gilde ein.
Staendig hoere ich nur von einer Seite "Die Karateka sind zu stark!"
und von den meisten Karateka "Die Karateka sind zu schwach!".
Ich bin auch nicht bereit, jedesmal, wenn ein Spieler sagt
"die Gilde soll staerker werden!" diese zu verstaerken und
5 Minuten spaeter, wenn ein Magier sagt "die Gilde soll schwacher werden!"
diese sofort wieder abzuschwaechen.
Und ich denke, dass a) ein 1. Dan Karateka am besten mit einem
Abenteurer, der alle Sprueche kann, verglichen werden sollte
und b) die meisten anderen Gilden besser als die Abenteurergilde sein
sollten, natuerlich nur, wenn es dementsprechend schwierig wird
diese faehigkeiten zu lernen.
Ach, und wenn ihr noch wollt, dass die Karate-Gilde nahezu 100%
realistisch wird, das zu programmieren traue ich mir durchaus zu - nur
wird es dann definitiv Lag geben, sobald ein Karateka anfaengt zu kaempfen,
das schafft naemlich auch kein Pentium 250 mehr bei genuegend hoher
Spieleranzahl.
Ich frage mich langsam wirklich, wozu ich mir noch Muehe mit den Gilden
gebe, wenn nur darueber gemeckert wird, dass ein Spieler in einer Gilde
einige Sachen besser kann, als ein Spieler in einer anderen Gilde - sind
gilden nicht dafuer da?

Frust.

  Rochus.

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



Re^6: schlagringe (Rochus, 30. Nov 1995, 16:15:17):
#! rn=Rochus rt=817744421
PS:
Ryne war derjenige, der mir gesagt hatte, dass Karateka fuer
die lange Uebungszeit auch gute Faehigkeiten bekommen sollten.

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



Re^6: schlagringe (Cuchullin, 30. Nov 1995, 16:19:06):
#! rn=Rochus rt=817744421




a) Ich finde die Karategilde GELUNGEN. So.
b) Die Chaosgilde ist von der Kampfkraft _besser_ als die Karategilde,
   ergibt sich aus der Tatsache, dass sie die Schadensart frei waehlen
   koennen. Ich hab keinen 2ti in der Gilde, glaube aber, recht zu haben.
c) Es bringt nix, die Schlagkraft der Karateka noch weiter zu erhoehen
   oder zu erniedrigen. Der Aufwand, so gut zu werden wie die ersten 5
   der Karate-Top-Liste, wuerde wesentlich mehr rechtfertigen, das Mud
   laesst nicht mehr zu. _Eventuell_ liesse sich ueber beschraenkt
   verstellbare Schadenstypen (flammende Handschuhe, eiskalte Stiefel)
   etwas machen...
d) Mann Rochus, wenn Du Dir einbildest, Du hast da viel Zeit in eine
   gigantisch gute Gilde gesteckt... hast Du in meinen Augen VERDAMMT RECHT.

Cuch.- Meckert gerne. Aber nicht nur.


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



Re^7: schlagringe (Jerrico, 30. Nov 1995, 16:35:29):
#! rn=Cuchullin rt=817744746
Ich gebe Cuchullin voellig recht, eine wirkliche tolle Arbeit Rochus, also
lass dich nicht frusten.



Jerrico gehoert bald zu den Top 5 :)

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



Re: schlagringe (Nixihou, 30. Nov 1995, 16:58:26):
#! rn=Ryne rt=817731653
also ein schlagring von 750g finde ich nicht unrealistisch, aber
warum sollte ein solcher schlagring nicht einfach den schadenstyp von
bludgeon auf was anderes slash pirce oder so aendern?
die dinger sind je nach designe ja spitz und scharf!

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



Re^7: schlagringe (Nixihou, 30. Nov 1995, 17:04:09):
#! rn=Rochus rt=817744517
damit hat ryne ja auch durchaus recht. die uebungsdauer ist verdammt lange!

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



Re: schlagringe (Roesti, 30. Nov 1995, 17:40:54):
#! rn=Ryne rt=817731653
Also... Als Gildenfremder mal was zu dem thema...
Wenn schwerere Ringe dann muesste das auch mehr schaden bringen...
Das die schlaege dann weniger Wucht haben klingt irgendwie unlogisch.
Ich weis ja nicht wie das bei euch ist.Aber wenn ich mit Trainingsmanschetten
gegen was schlage zerbricht das weitaus schneller als wenn ich es ohne
zertruemmere.Weil ich eben mehr schwung (Masse in Bewegung) hab.

Just an Idea...

    ... Roesti:)

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



Re: Re: schlagringe (Roesti, 30. Nov 1995, 17:42:53):
#! rn=Yendi rt=817732068
> Fuer schnelle schlaege deutlich zu massig.... Es gibt die Dinger sogar aus
Alu.... Da wiegen die Dinger doch kaum was.
Ausserdem sind sie ja nicht unbedingt daztu da um Mehr schwung zu geben
sndern um eine HARTE Kante zu erzeugen die halt mehr Aua macht.

Roesti.

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



Ringe und Gewichte (Roesti, 30. Nov 1995, 17:47:53):
Also in RL wuerde ich keinen Ring unter 880 g nehmen.(Hab grad meinen
Motorradhelm neben mir liegen und nach den gramm gewicht geschaut.)
Das ist echt nicht viel.
(Spuer ich kaum das ich was in der Hand hab.)
OK fuer Karate bin ich zu langsamm . trotzdem wuerde ein ring mit der Masse
deutlich mehr schaden Machen als n Ring mit 50 g.
Vorrausgesetzt das es bei beiden von der Oberflaeche der selbe aufbau
ist.(Gezakt,oder glatt haben natuerlich anderen schaden.

Roesti

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



Re^7: schlagringe (Roesti, 30. Nov 1995, 17:56:53):
#! rn=Cuchullin rt=817744746
a) Ich finde die Karategilde GELUNGEN. So.
Ok kann ich mit leben...
b) Die Chaosgilde ist von der Kampfkraft _besser_ als die Karategilde,
   ergibt sich aus der Tatsache, dass sie die Schadensart frei waehlen
   koennen. Ich hab keinen 2ti in der Gilde, glaube aber, recht zu haben.
Das stimmt so nicht ... Die schadensart kann mann erst ab einem recht hohen
level erreichen.
Ich kann beispielsweise weder meinen Schaden des Chaosballs(den es erst ab
meinem Level gibt) kontrolieren noch diesen Level erreichen es sei denn ich
erhoehe meinen Level in der Abenteuergilde....

Also sooo einfach ist es in der Chaosgilde auch nicht...

Nur das in der Chaosgilde nicht so haeufig ueber das trainieren gemeckert
wird.
Vieleicht solltest du , lieber Rochus noch einen kleinen Zusatz
proggen...naemlich einen Meister der die Spielerlies zusammenstaucht wenn sie
sich ueber das Trainieren beschweren.
Waere ja garnicht soo abwegig...
Roesti

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



Re^7: schlagringe (Rochus, 30. Nov 1995, 19:18:03):
#! rn=Toss rt=817755328
Was ich vertragen kann ist begrenzt.
WAR DAS JETZT DEUTLICH GENUG???????

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



Re^9: schlagringe (Rochus, 30. Nov 1995, 19:28:56):
#! rn=Toss rt=817755844
a) Ich habe doch genau erklaert, warum ich das mit den Ringen so gemacht
habe, wie ICH es fuer richtig halte, und nicht Deinen Vorschlag
uebernommen habe.
b) Ich kann mich nicht erinnern, Dich falsch zitiert zu haben.
c) Das unertraeglich bezog sich auf das staendige hin und her
mit staendigen gegensaetzlichen Aenderungswuenschen.
d) Jetzt noch zu hoeren, die Gilde sollte es nicht geben,
IST MIR ZU VIEL!

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



Re^11: schlagringe (Rochus, 30. Nov 1995, 19:48:29):
#! rn=Toss rt=817756839
a) Es gibt auch noch andere Aenderungswuensche, nicht unbedingt von Dir.
   Ich moechte meine Gilde aber auch so programmieren, wie ICH es fuer
   richtig halte, und nicht angepflaumt werden, wenn ich nicht jeden
   Aenderungsvorschlag mit Begeisterung uebernehme. Akzeptier
   endlich mal, dass ich auch eine andere Meinung haben kann als Du,
   und dass ICH die Gilde programmiere, nicht DU!
b) "Die Gilde passt nicht ins Mud und bringt das Kraefteverhaeltnis
   "total durcheinander" hoert sich aber so an, als waere die Gilde
   eine einzige, ueberfluessige Fehlentwicklung.
   Kann ich schnell aendern. Soll ich?
c) Nenn mich ruhig Mimose, aber lern endlich, dass ich nicht alles ertragen
   kann und irgendwann keine Lust mehr habe, unter diesen Umstaenden
   weiterzumachen.

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



Re^6: schlagringe (Jimdigriz, 30. Nov 1995, 21:40:30):
#! rn=Rochus rt=817744421
heyheyhey Rochus,

Nu mal langsam, wo war denn jetzt bitte schoen
die Kritik ? Oder hab ich den Thread falsch verstanden ?
Ich kann mich naemlich nicht erinnern, dass D
*argl* , dass die Diskussion um die Gildenstaerke
wieder losegangen sein soll.
Rynes Frage hab ich eher interessehalber verstanden,
ich mein man muss ja keinen Schlagring verwenden :)
Nu wart ersma ab, und lass Dich nicht so frustrieren.

James Bolivar diGriz - hat die restlichen fups noch ned gelesen ...

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



Re^7: schlagringe (Rochus, 30. Nov 1995, 21:52:35):
#! rn=Jimdigriz rt=817764030
Ich habe die Sache mit Ryne geklaert.
Ich war nur insgesamt etwas frustriert und Ryne hatte das
Fass zum ueberlaufen gebracht.
Es war nur eine recht unglueckliche Kombination von allgemeiner
Staerkediskussion und meinem persoenlichen Eindruck, dass Ryne
wegen einiger Meinungsverschiedenheiten in RL mit mir nicht mehr
so gut auskommt, er sagte mir, der Eindruck sei falsch.
Ich hoffe die Sache ist jetzt erledigt.

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



Re^6: schlagringe (Lechuck,  1. Dez 1995, 08:24:11):
#! rn=Rochus rt=817744421
nenenene, Rochus.
Lass die Gilde mal so, wie sie im Moment ist.
Frag diejenigen, die in mehreren Gilden sind, welche staerker oder
schwaecher,
bervorteilt oder benachteiligt ist.
Fuer den Aufwand, den man als Spieler treiben muss, um als Karateka wirklich
besser zu sein als ein Abenteurer, ist die Belohnung der besseren Kampfkraft
bei hoeheren Levels schon richtig. Zudem ist es bei Karatekas so einfach wie
bei keiner anderen Gilde, Monster zu programmieren, die fuer Karatekas
schwieriger sind als fuer andere, da uns nur ein Schadenstyp zur Verfuegung
steht. Ich denke da nur an die normalerweise laschen Eisriesen, die durech
ihre schmelzende Ruestung fuer jeden Abenteurer mit besseren Stats ein
leichtes sind, fuer den Karateka, der ohen Streichholz durch die gegend laeuft
jedoch Mp's en masse abziehen.
Und die Chaoten koennt ich ja auch mal als vieeeeeeel zu satrk bezeichnen,
wenn ich mir anschau, dass drei Daemonenwaechter mich in drei Kampfrunden in
die Flucht treiben und die Cahoten zu zweit die ganze Burg ausraeumen. B.t.w.
wie macht man als Karateka die rein, draufhau, rauslauf Taktik, wie das bei
Fb's so ueblich ist? Was mach ich gegen Monster, die nur auf Magie reagieren?
Chaoten haben da alles: Chaos, Feuer, Kaelte usw... ;)
Tja, nur das zu den zu starken Karatekas.
Wenn's schon Gilden nur fuer bestimmte Rassen gibt, dann soll es auch Monster
geben, die fuer bestimmte Gilden einfacher sind. Was soll's...

so bevor ichs vergess:
**IRONIE ON**
MAch die Karatekas staerker!!!
Gib uns Magiesprueche!!!
Lass uns schneller lernen!!!
Ignoriere eifersuechtige Magier!!! (huhu Papi ;) )
**IRONIE OFF**

Fazit: Aender mal lieber nix mehr und machs bei den Kritikern wie der Kohl:
Lass alles an Dir abprallen....

Lechuck, laesst sich von Ryne adoptieren, weil er dann immer solange Artikel
schreiben darf

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



Re^7: schlagringe (Zardoz,  1. Dez 1995, 10:26:35):
#! rn=Lechuck rt=817802651
Ich hab mal die Daemonen in meiner Burg ueberarbeitet. Ein Karateka
muesste jetzt zumindest mit den Abwehrtechniken besseren Erfolg haben.

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



Re^7: schlagringe (Roesti,  1. Dez 1995, 11:44:45):
#! rn=Lechuck rt=817802651
Also sofern das kein Aufruf war die Chaoten schwaecher zu machen bin ich
damit voll
und ganz einverstanden und unterstuetze den Antrag...

:)

Roesti

P.S.: Es gibt SIE doch!!!

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



Modeerscheinung (Grimmborn,  1. Dez 1995, 11:48:31):

Rochus, Du hast das alles ganz falsch angepackt.
Du haettest schreiben muessen: Also, ich liebe meine Gilde und will nicht,
dass ihr sie mir kaputt macht. Wenn ihr das trotzdem macht loesche ich mich.
Wenn ihr aber versprecht, ganz lieb und brav zu sein, meine Gilde nicht in den
Schmutz zu ziehen und lauter nette und aufmunternde Artikel/mails ueber/an
mich schreibt, loesche ich mich vielleicht doch nicht.

Grimmborn der Atheist

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



Re: Modeerscheinung (Rochus,  1. Dez 1995, 11:54:38):
#! rn=Grimmborn rt=817814911
Ich will mich aber nicht loeschen!

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



Re: Re: Modeerscheinung (Roesti,  1. Dez 1995, 12:00:39):
#! rn=Rochus rt=817815278
Die Sache mit den lieben Mails und artikeln ist aber trotzdem ne Tolle ide...
Um die richtige Stimmung zu erzeugen hier noch mal eine art
Schuettelreim....Auch wenns diesmal nicht von mir ist...:)

Piep,piep,piep wir ham uns alle lieb (oder so aehnlich)

Roesti vindet Rochus gut...:)


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



Re^3: Modeerscheinung (Tasha,  1. Dez 1995, 15:50:32):
#! rn=Roesti rt=817815639
Stimme Dir voll zu, Roesti.
Aber eine bitte Rochus: Ignorier die Sache, alle an Dir abprallen zu lassen
wie Kohl! Der reicht mir schon, wenn ich ihn im Fernsehen sehe.

schaudernd, Tasha ;)

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



Re^7: schlagringe (Bendeigid,  4. Dez 1995, 11:10:46):
#! rn=Lechuck rt=817802651
Hm, also die Daemonenburg hab ich damals zu Spielerzeiten noch als
Abenteuerer mit einem weiteren Spieler als Hilfe komplett gesaeubert.. der
auch Abenteuerer. Da lebte dann auch nix mehr, nicht mal durch nen
ungluecklichen Reset. Es ist also nicht so, dass abenteurer das nicht schaffen
koennten. Und ob Karatekas das koennen.. frag mal Bambulko, der hat zu seiner
Zeit sein Hauptquartier in der Burg gehabt. Die Feuerdaemonen sind heute noch
schlecht auf das Wasserwesen zu sprechen. :-))

Ich denke, die Gilden sollten huebsch unterschiedlich bleiben, dann sind auch
irgendwann so Monster wie die Hydra killbar, durch Zusammenarbeit und grade
durch die unterschiedlichen Faehigkeiten der Gilden.

*senf*
Z'par Servu,
            Bendeigid, als Abenteuerer ohne volle Stats.

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



Re^8: schlagringe (Lechuck,  4. Dez 1995, 11:32:58):
#! rn=Bendeigid rt=818071846
Tut mir leid Ben, dass zu sagen: Aber mir scheints Du hast keine Ahnung :)
Bambulko hat als Karateka sicher nicht so gut ausgesehen. Immerhin war ich
auch lang genug Abenteurer um zu wissen, welche Monster man mit welcher Taktik
fertig macht, aber wenn ich als nicht grad schlechter Karateka in der Burg
nach zwei Kampfrunden gegen die Daemonenwaechter fliehe weil ich 0
Ruestungsschutz habe und Zardoz das dann auch noch aendert, kommt mir Deine
Aussage doch sehr seltsam vor.

blubbblubbblabla, Lechuck

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



Re^9: schlagringe (Bendeigid,  4. Dez 1995, 11:36:35):
#! rn=Lechuck rt=818073178
Ich hab ja nicht gesagt, dass der wechsel von Bambulko ausgerechnet fuer die
daemonenburg guenstig war. :-)))
Und mit den richtigen tricks ist in der Tat grade da jeder abentuerer
staerker als jeder karateka, ok. aber die Pfuetze hat sich dennoch erheblich
oft (erfolgreich!!) mit den Saeuris angelegt, um anschliessend die Hydra damit
zu aergern. Da wirst du doch nicht widersprechen, oder?
Gewusst wie!

Z'par Servu,
            Bendeigid

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



Re^10: schlagringe (Bambulko,  5. Dez 1995, 13:27:42):
#! rn=Bendeigid rt=818073395
Genau, frag mal Boing, wieviele Sauerebaelle ich hatte :-)))

Aua, nein Zardoz nicht schlagen, bitte nicht hauen, Aua,
aaaahhhhhhhhhhhhhh...

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



Re^11: schlagringe (Boing,  5. Dez 1995, 14:50:45):
#! rn=Bambulko rt=818166462
Die Zahl war zu gross fuer meinen Verstand ... ;)
  Boing

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



Re^12: schlagringe (Grimmborn,  5. Dez 1995, 15:53:07):
#! rn=Boing rt=818171445

Naja, das waeren dann ja so um die 3 Baelle... ;-)

Wollte nur den neuen editor testen (welcher dann durchgefallen ist),
Grimmborn der Atheist

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



Nur mal so... (Mango, 14. Dez 1995, 13:42:05):
Ein Gedanke, Wunsch oder was weis ich auch immer?

Wie waere es wenn man dem Guertel durch besondere Konzentration
im Hellen eine kleine phosphorisierende Aura geben koennte wie
bei Hilberts Stab nur das man den dann halt nicht immer mit sich
herum schleppen muss?


Mango, mit nur einem klitzeklitzekleinen Wheinachtswunsch.


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



korrektur (Mango, 14. Dez 1995, 13:44:44):
Wheinachtswunsch = Weihnachtswunsch

     sorry :)

Mango.


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



Re: licht (Jerrico, 14. Dez 1995, 18:32:28):
#! rn=Handi rt=818962203
Ich wuerde sagen, man kann nicht alles haben, und ich moechte die
Moeglichkeit behalten, ohne eine solchen leuchtenden Guertel rumzulaufen :)


Jerrico

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



Re: Re: licht (Cuchullin, 14. Dez 1995, 19:09:22):
#! rn=Jerrico rt=818962348


"kaufe fackel" hat schon immer geholfen, denke ich.

Cuch.-


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



Re^3: licht (Jimdigriz, 14. Dez 1995, 19:33:44):
#! rn=Cuchullin rt=818964562
Achgottachgottachgott !

Ich glaube da gabs schonmal ne endgueltige
Entscheidung, dass es _KEINE_ Lichtmoeglichkeit geben
fuer karatekas, ausser eben fackeln oder hilbertstab.

und noch schlimmer, die "Kritik" oder das "Gemecker" haben
sich in "am Boden im Schleim rumkrieche biddaebiddaewilllichthabaeaen"
verwandelt. - Oh graus,kann ich da nur sagen.

Nehmts halt hin und kauft fackeln.

ciao,
 James Bolivar diGriz

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



Re^4: licht (Tasha, 15. Dez 1995, 13:40:41):
#! rn=Jimdigriz rt=818966024
Das gewuenschte Lichtgeraet gibts doch schon: Den Zauberstab aus Hilberts
Turm. Ist zwar nicht billig, aber beliebig oft recyclebar. Und ausserdem ist
frueher auch immer irgendwie ohne licht gegangen. Seid ihr Spieler heute nix
mehr wert? ;)

Tasha, seit mindestens 346583 Jahren Magierin

P.S.: Der zweite Teil dieses Artikels war IRONISCH! (dies nur fuer unsere
nchtironiker)

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



Re^5: licht (Jimdigriz, 15. Dez 1995, 14:16:42):
#! rn=Tasha rt=819031241
Tasha,

Ich hab den Hilbertstab erwaehnt, lies nochmal ;-)

JimDiGriz - flamed rum.

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



Re^6: licht (Tasha, 15. Dez 1995, 14:35:52):
#! rn=Jimdigriz rt=819033402
OK, ich nehm alles zurueck und behaupte das Gegenteil. Faellt mir nicht
schwer, da in meinen Artikeln meistens eh keine Aussage steckt.

grinsend. Tasha

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



Karateka-Statusanzeige (Miraka, 18. Dez 1995, 18:17:15):

Also, ich wollte nur mal fragen, ob es moeglich ist, die Abfrage nach
dem Status in der Karategilde getrennt nach Angriffsstatus und Abwehrstatus
zu ermoeglichen.

Die Prozentwerte sind halt zur Fortschrittskontrolle ganz nuetzlich, wenn
auch nicht so wichtig.
Allerdings scrollen die Angaben schon mal ueber den Bildschirm hinaus, wenn
man so viele Techniken beherrscht.

Deshalb denke ich, dass es schoen waere, auch der Uebersichtlichkeit wegen,
eine getrennte Abfrage zu ermoeglichen.

Die Frage richtet sich natuerlich vor allem an Rochus und soll (bitte, bitte)
nicht als Genoergel missverstanden werden :-)

****Miraka****

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



Verlorene Stats durch Reboot? (Mango, 15. Jan 1996, 23:26:01):


Kann es sein das es einem durch einen Crash oder Reboot die Stats
verloren gehen koennen? Bei mir scheint es so zu sein:

vor dem Crash:  Teisho-awase-uke:  31.4%
               Ushiro-geri-keage:  32.4%

und jetzt nach dem Crash:   Teisho-awase-uke:  27.0%
                           Ushiro-geri-keage:  29.1%


iss sicherlich fuer manche nicht viel was da verloren ging, aber
ich mein ja nur um anderen den selben Aerger zu ersparen. Koennte
man auf so kleine Fehler hinweisen oder lassen die sich gar nicht
erst beheben? Wenn dann isses sehr schade :(.


Mango.



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



Re: Re: Verlorene Stats durch Reboot? (Catweazle, 16. Jan 1996, 13:41:54):
~#! rn=Zino rt=821780386
~#! tid=821744761
Das ist nicht richtig.
Tatsaechlich wird der Mudcharakter und dessen Daten an sovielen Stellen
gespeichert, das ich es kaum noch zaehlen kann :)
Ich weiss aber aus zuverlaessiger Quelle, das beim letzten Reboot nicht
die Mudlib, sondern der Rechner Mist gemacht hat. Jof hat beim wieder-
hochfahren ein fsck gemacht und dabei hats wohl diverse files zerschossen.
Ich schaetze da war dann wahrscheinlich auch Mangos savefile dabei und es
wurde ein altes zurueckgeholt.
YTC


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



Sahne ?? (Tzuiop, 13. Mar 1996, 15:33:45):
Ein kurze Frage an die Japan-Freaks:

Wenn ich mich recht erinnere, heisst die anrede fuer einen Mann San,
also Li-San, Rochus-San, usw.
Wie ist die Anrede fuer eine Frau ?

Neugierig .. Tzuiop

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



Re: Sahne ?? (Ulo, 13. Mar 1996, 15:38:00):
~#! rn=Tzuiop rt=826727625
~#! tid=826727625
Die werden auch mit Familienname-San angeredet.
Ulo.

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



Re: Re: Sahne ?? (Tzuiop, 13. Mar 1996, 15:41:46):
~#! rn=Ulo rt=826727880
~#! tid=826727625
Danke.
Heisst unser Sheriff dann eigentlich Cat-San ?? :))

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



Re^3: Sahne ?? (Fyt, 13. Mar 1996, 17:14:22):
~#! rn=Tzuiop rt=826728106
~#! tid=826727625

SIcher.

*pruust*

Fyt.

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



Re^4: Sahne ?? (Mango, 13. Mar 1996, 19:06:14):
~#! rn=Fyt rt=826733662
~#! tid=826727625



      dem kann ich nur zustimmen ;)


Mango, NNN.



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



Re: Sahne ?? (Taenzer, 13. Mar 1996, 19:06:49):
~#! rn=Tzuiop rt=826727625
~#! tid=826727625

Hmmm, wenn ich mich recht erinnere, steht die Endung fuer die Stellung des
Angeredeten. '-san', wenn der/die Angeredete hoeher gestellt ist und '-sama',
wenn der/die Angeredete tiefer gestellt ist.
Vielleicht war es auch genau anders herum, hat aber auf keinen Fall etwas mit
dem Geschlecht zu tun.

 Gruessings,#

  Taenzer



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



Re: Sahne ?? (Tasha, 13. Mar 1996, 21:24:31):
~#! rn=Tzuiop rt=826727625
~#! tid=826727625
Auch Frauen werden mit san angesprochen.

Tasha wa nihonjin nai desu.

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



Weg nach Fern-West (Rimus, 15. Mar 1996, 11:49:04):
Ich sitze jetzt wieder gelangweilt auf der karawane und warte, bis ich in
fern
west ankomme. Da ich LEIDER noch kein Seher bin, ist dieser weg fast der
einzige den ich nehmen kann, um meinen Freund Funakoshi zu besuchen. Deshalb
wuerde ich mich fuer folgende Dinge einsetzen:
     1) Ein Teile mit aehnlich wie in der Chaosgilde
     2) Die Zeit fuer die Karawane zu verkuerzen.

Ich hoffe der zustaendige Magier nimmt sich dieser Dinge mal an.

Rimus

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



Re: Weg nach Fern-West (Ulo, 17. Mar 1996, 19:25:44):
~#! rn=Rimus rt=826886944
~#! tid=826886944
Hallo!
zu 1) -->Rochus
zu 2) Eigentlich war es schon so gedacht, dass Fernwest etwas schwieriger zu
      erreichen sein soll. Ich werde mal mit Li drueber reden. Im uebrigen
      ist ein weiterer Weg nach Fernwest in Arbeit soviel ich weiss.
*WERBUNG EIN*
      Im Uebrigen sind wir der Uebrzeugung, dass Fernwest bald soviel zu
      Bieten haben wird, dass man gar nicht mehr weg will!
*WERBUNG AUS*

Ulo.

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



Re: Re: Weg nach Fern-West (Grimmborn, 18. Mar 1996, 14:16:06):
~#! rn=Ulo rt=827087144
~#! tid=826886944

zu 2) Aeh, meinst Du mit "schwierig" "nervig"?
zur WERBUNG: Ahh, ich ahne es! Ihr verbessert endlich die ganzen typos, ja?

Grinsend,
          Grimmborn der Atheist

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



Ich wollte auch mal was schreiben (Almundi, 21. Mar 1996, 01:55:25):
zum Thema Sun:

Das heiss meiner Meinung nach so viel wie "ehrenwerter" und drueckt
deine Hochachtung zum angesprochenen aus. Es bezieht sich nicht nur
auf Maenner !

Schoen und gut nicht mehr aus Fern West weg zu wollten ! das Problem
liegt doch im allgemeinen darin, das man bei den REBOOTS oder falls
man sterben sollte (Was wir ja keinem wuenschen) nicht in Fernwest
startet. So mit geht das ja nun mal nicht.
Wie waere es mit einer Option in einer Kapelle oder in seinem Haus
seiner Wahl neu zu starten. (Ist wohl etwas zu kompliziert und passt
auch nicht recht.)

AlMundi

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



Re: Weg nach Fern-West (Kurti, 22. Mar 1996, 21:35:19):
~#! rn=Rimus rt=826886944
~#! tid=826886944
vielleicht sollte man wenigstens die wartezeit auf die karawane kuerzer
machen..."im 5minuten-takt anstelle 15 min"
kurti

q

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



Nachdenklich... (Caradhras, 23. Mar 1996, 16:14:47):
                    Huhu

Also zur Aenderung der Karatekas muss ich jetzt doch mal was
sagen, nachdem ich so lange hier in der mpa ruhig war.
Ich habe grade mit Celebdil getestet, wie es im Vergleich zu
frueher gegen einen Eisgiganten der SSP aussieht.
Fazit: Frueher schaffte ich mit einem niedrigeren Dan als
jetzt (also schwaecheren Schlaegen/Abwehren) mit einmal
tanken beide Eisgiganten und hatte danach noch ca. 140 LP
uebrig, also ca. 140 LP und 190 MP pro Eisgigant.

Als ich es jetzt grade getestet habe, musste ich fuer einen!
Eisgiganten zwei Mal nachtanken, brauchte 340 LP und 490 MP
um ihn plattzukriegen. Ausruestung war etwa jedesmal dasselbe,
naemlich ein Titanring bzw. sonstiger normaler Ring.
Das bedeutet, ich bin mit hoeherem Level gegen solche Monster
nur noch etwa 40 Prozent so stark wie vorher. 40 Prozent!
Das ist 2.5 mal schwaecher wie vorher.
Und wenn jetzt von Magierseite darauf verwiesen wird, dass
ich selbst schuld bin wenn ich den Eisgigant angreife, dann
verweise ich darauf, dass mit hohem Seherlevel auch fast nur
solche Monster mit 'Spezial'spells oder 'Spezial'attacks wie
DT_ICE oder DT_FIRE angegriffen wird und kaum mehr mit
DT_BLUDGEON oder DT_SLASH. Was will ich mit kleinen Kroeten
wie Orks oder Trolls oder Goblins. (es sei denn, ich moechte
etwas Geld verdienen)

Und gegen den zweiten Einwand, dass Karatekas vorher zu stark
gewesen waeren, habe ich auch ein Argument:
Es ist zwar wahr, dass Karatekas vorher zu stark gewesen sind
in den hoechsten Dans, aber ich habe noch vor der Aenderung
in Dan3 einen Testkampf gegen Willow ausgetragen, seines
Zeichens lv 10 von 11, also grob geschaetzt 20 Tage reines
Training in Online-Zeit und ich habe auf Dan3 etwa 21 bis 22
Tage gebraucht reines Online-Training.
Die Arenatore waren zum Glueck offen, denn ich bin mit 18/0
rausgekommen. Willow hatte noch ca. 120/0 (HP/SP).
Also glaube ich kaum, dass Karateka um so viel staerker waren
wie Chaoten. Wenn auch hoehere Dans staerker sind als Dan3,
um auf Dan8 zu kommen muesste ich aber noch ca. 500 Stunden
ueben, also 40 Tage reines Training insgesamt. Und fuer die
doppelte Uebzeit duerfen sie ja auch etwas staerker sein,
oder?

      Caradhras - ihm gefallen die Karateka im Moment gar nicht
                  und er befuerchtet, dass die Karateka bei dem
                  Stand rel. schnell aussterben

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



Re: Nachdenklich... (Jasper, 25. Mar 1996, 09:44:14):
~#! rn=Caradhras rt=827594087
~#! tid=827594087
Gut das ich vorher in die Gilde der Unsterblichen eingetreten bin, sonst
muesste ich mir jetzt auch wieder ein paar Seiten aus den Fingern saugen.
Ich hab schon einige Male gesagt, dass ichs nicht gut finde, wenn
nachtraeglich eine Gilde abgeschwaecht wird, weil Leute die zumindest in den
hoeheren Leveln meist 50 oder mehr online Tage hinter sich haben, um
ordentlich metzeln zu koennen (Orks und so :) ).
Wer behauptet, das Karateka vorher zu stark waren, mag recht haben, aber ich
war zeuge als Symbiont Ryne besiegt hat und das war noch vor der Aenderung,
naja das ist eigentlich auch nicht so wichtig. Aber Aenderungen im nachhinein
finde ich ziemlich unfair, wenn ich auch nicht glaube, dass die Karateka jetzt
soviel schlechter sind als vorher, die Staerke einer Gilde sollte im
Zusammenhang mit der Trainingsdauer stehen.


Achja bevor ichs vergesse, WERTET DIE ZAUBERER AB *grins Escubar an* oder
zumindest sollte das verfroschen von Mitspielern mindestens so schwer sein wie
Yoko-tobi-geri-kekomi.

Jerrico^H^H^H^H^H^Hasper bastelt jetzt erstmal ein Anti-Frosch-Cape :)

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



Re: Nachdenklich... (Valarian, 25. Mar 1996, 20:16:41):
~#! rn=Caradhras rt=827594087
~#! tid=827594087
Lieber Caradhras,

man sollte ja folgendes Bednkenen: Der Eisgigant ist nun mal ein spezielles
MOnster und ich finde es schonb fair, dass ein karateka zweimal dafuer tanken
muss. Das macht ihm ja nix, denn die koennen ja immer ende machen. Als Chaot
ist ende verheerend, man braucht ungefaher 10 Minuten bis man wieder in Gang
kommt und darf dann erstmal ohne ausrue wieder dahin rennen. Den Eisgiganten
macht man als chaot mit feuerschwert, feuerdaemon und feuerbaellen gerade so
platt. Man muss schon fast alle chaosbaelle schmeissen und wenn er dann net
faellt oder resettet, dann ist man da unten gefangen. Naja, das ist ja egal.
Das Training bei Karate ist einfach und echt Stumpfsinnig. Es kann ja nix
passieren, also man metzel 1 mio nach der anderen und wird immer besser und
was Karatekas konnten ist echt unverschaemt. ICh hab mir einen Zweitie
hochgezogen und dem fehlten 20 Zts mehr als mir und der hat im 2 kyu schon
fast genauso viele elfenwaechter palttgemacht wie ich mit daemon (naja, ok
etwas uebertrieben :-)).
Ausserdem sollte man nicht Uebezeit der KArategild mit anderen Vergleichen.
Desnn sowohl Chaos als auch Zauberer sind erheblich riskanter und ich erinner
mich noch daran, wie ich gebannt auf dem Bildschrim gestarrt hab und immer
bereit war "Ende" zu machen, damit aich net abrall.
Und auch wenn sich Dein Daemon im Kampf umdreht oder in brisanten faellen
irgendein hetzerdaemon auftacuht und man ihn net mal mit ende los wird, dann
ist das etwas gefaehrlicher als ein misslungener schlag :-)
Und bisher haben Karatekas ja genug eps gemacht und chaoten bekommen ja
schliesslich ungefaehr 40% der eps vom eigenen Damon gefressen (z.b. gardi
6000 statt 10000).
Also eine 2.5 fache Abwertung bei einem speziellen Monster ist absolut ok,
wenn chaoten ihn gerade so mit daemon plaetten koennen.

Direkter Vergleich zwischen abenteurer/chaot oder karateka ist doch gar net
moeglich: man wirft schneller 5-6 feuerbaelle als der karateka zuhauen kann,
aber im kampf gegen monster sind sie trotzdem besser und nur das zaehlt.
Vielleicht werden ja auch mal wieder ein paar monster abgeschwaecht, so dass
nicht nur karatekas da chancen haben.

Ich find's absolut fair und die abwertung nicht uebermaessig und wenn man ein
wenig drueber nachdenkt, sollte man auch zu dem schluss finden :-)

Gruss Vali

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



Re: Re: Nachdenklich... (Guybrush, 26. Mar 1996, 09:20:45):
~#! rn=Valarian rt=827781401
~#! tid=827594087
Hm, wenn ich das so lese, muss ich annehmen, dass Chaoten kleine
Schwaechlinge sind. :)
Ich kann mich noch gut an die ueberstarke - scheint mir jetzt so -
Abenteurergilde
erinnern, als ich ohne zu tanken vom Eingang Schreckensspitze bis zum zweiten
Eisriesen kam, und das OHNE Feuerwaffen, sondern nur mit Schlagwaffen.
Demnach sind Karatekas jetzt noch groessere Schwaechlinge.
Ich fand die Staerke der Karatekas gerechtfertigt, so wie sie war.
Wenn sie jetzt wirklich so geschwaecht wurden find ich das nur daemlich...
einen besseren Ausdruck verkneif ich mir mal.
Erstes Ziel der meissten Karatekas isses ja, den 8.Dan zu erreichen und das
ist mit Ermetzeln von 100 Mio EP verbunden...etwas stumpfsinnig, denn 40 Mio
zu erreichen is auch schon nervig.
Wenn wir Ryne als Beispiel ranziehn find ich das eher lustig, denn er wuerde
schaetzungsweise in jeder Gilde weitermetzlen bis er 1 Mrd Ep hat :)
Das Du als einer der besten Chaoten es in Ordnung findest, dass die Karatekas
schwaecher sind, ist ja wohl auch klar.
Die einfachste Sache waere wirklich die EP-Listen abzuschaffen, dann waeren
mindesten 100 Artikel, inklusive diesem hier, ueberfluessig, weil sich keiner
darueber aufregen wuerde, dass er hinter dem anderen in der Liste steht, denn
darauf laeuft es meiner Meinung nach hinaus. Selbst wenn eine Gilde um
Vielfaches staerker waere als eine andere und demnach sehr viel einfacher
metzeln koennte,
waere es nur fuer die Metzler interessant da einzutreten. Monster gibts
mittlerweile auch genug, also werden die auch nich knapp, wenn dann vier oder
fuenf von den ganz schnellen Killern durchs MUD laufen, walso warum immer der
Neid?
Wenn sich jemand die Muehe macht einen Karateka so hcohzuziehen und 90 Tage
online zeit zu investieren, warum soll er nicht belohnt werden?

mist...der Artikel wird zu lang fuer mich, was hab ich denn schon
geschrieben?
hm..ich hoer auf...

Guybrush, ist alt und schreibt dies hier eigentlich nur aus oeder Langeweile.

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



Re^4: Nachdenklich... (Anatol, 26. Mar 1996, 15:42:58):
~#! rn=Anatol rt=827845031
~#! tid=827594087

/*
Dumm di dumm, und noch einmal ...
Wie so oft haben wohl alle nicht so ganz unrecht...
Ich ( - ohne Anspruch auf Wahrheit - ) sehe die Sache so:
o  Direkter Vergleich zwischen den Krieger des Chaos und den Karateka ist
   nach wie vor nicht moeglich.
   - pro Karate: Die Karateka fuegen bei Normalmonstern normaler Groesse
     Schaden zu ohne Ende. Desweiteren haben sie (sorry, HATTEN) eine
     aussergewoehnlich gute Abwehr.
     Sie muessen sich in den hoeheren Graden nicht mit Risiken wie
     "missglueckter Kontrolle-Spruch" herumschlagen.
     Sie brauchen wenig Ausstattung und koennen direkt nach einem Crash
     loswetzen.
   - contra Karate (oder auch pro Chaos): Chaoten geniessen einen
     Bonus-Schutz durch ihre Chaoshaut.
     Chaoten sind nicht voellig wehrlos, wenn sie einen Paralysespell
     aufgebrummt bekommen; sie koennen weiter Chaosbaelle werfen (waehrend
     ein Karateka nur noch dumm guggt und sich kloppen laesst).
     Chaoten koennen die Rein-Feuerball-Raus-Taktik effizient anwenden.
     Chaoten haben die Moeglichkeit, ohne Waffen und Schild zurueckstecken
     zu muessen, sich einen sehr guten Schutz zu verschaffen. Im Uebrigen
     zaubern sie auch Chaosbaelle freihaendig.
     Die 11. Gildenstufe ist wesentlich leichter zu erreichen als z.B. der
     6. Dan. Man braucht dafuer zwar vortreffliche Stats, aber nur Spieler-
     stufe 28 - und nicht 32, wie fuer den 8. Dan.
   -> Man sieht, die Karateka zahlen fuer ihre tolle Abwehr und ihrer guten
      Schlagkraft einen ziemlich deftigen Preis.
o  MorgenGrauen ruestet sich in den Tod.
   Will sagen, dass die Spirale der Waffen, Tools, Ruestungen, Gilden <->
   Monsterstaerke wohl immer weiter waechst. "Abruestung" ist tatsaechlich
   wohl das einzige, was dagegen zieht.
o  Es ist in der Tat eine masslose Enttaeuschung fuer die, die schon sehr
   viel Zeit in eine Gilde gesteckt haben (30 Onlinestunden fuer den
   6. Dan - ohne irgendwelche Scriptnaechte), wenn "ihre" Gilde ploetzlich
   viel zu stark sein soll und so krass beschnitten wird. Aber kann man das
   aendern?
o  Rochus steht mit seiner Abruestung allein auf weiter Flur. Es sieht nicht
   danach aus, dass die Chaoskrieger irgendwann einmal nachziehen werden und
   Einbussen irgendwelcher Art in Kauf nehmen muessen - schliesslich wurden
   sie ja erst vor Kurzem aufgewertet (Freihandzaubern IST eine Aufwertung).
   Die anderen Gilden ... nunja. Die Zauberer werden wohl in erster Linie
   die Gruppenkampfkraft steigern. Das was ich ueber die Kaempfergilde
   gehoert habe, ist allerdings nicht so doll, sollen sie doch nach oben
   fast keine Grenzen haben (also man kann SEHR viel erreichen, wenn man
   genuegend in die Gilde steckt), auch wenn man im Kampf mehr tun muss.

Ich fuer mich finde es schade, dass (wiedermal) die Karategilde diejenige
ist, die unter dem allgemeinen Unmut zu leiden hat - auch wenn es in der Tat
recht witzig ist, mit blossen Haenden Feuerschaden abzuwehren. Ich rechne
nicht wie Caradhras in LP oder MP auf (ist in meinen Augen auch unsinnig) und
meine einfach, dass man trotz Ausweichen und trotz 7. Dans (solange man noch
Spruchpunkte hat und keine Ausruestung traegt) z.B. vom Schneeriesen "hart"
oder "sehr hart" getroffen werden kann und wird.
*/

Sorry fuer diesen viel zu langen und vermutlich ueberfluessigen Artikel (aber
Du hast ja eh nur durchscrollen lassen),
Anatol


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



Re^5: Nachdenklich... (Anakin, 26. Mar 1996, 15:55:08):
~#! rn=Anatol rt=827851378
~#! tid=827594087
Hi,

Also Chaoten haben auch Nachteile: So z.B. die Chaoshaut, ist schon
sehr aergelich das Teil. Wie sagt Zardoz: Die Chaoshaut ist mein
toedlichstes Monster. Naja und Zardoz schreibt ja sonst auch knackige
Sachen.
Das man fuer den 8ten Dan 100.000.000 EP's braucht ist etwas
unsinng aber das liegt dann wohl an Rochus wenn er es so meint dann
muss das so sein. Und soooo leicht schafft man das mit Level 11 in
der Chaosgilde auch nicht 1900 AP ? alle ZT's Level 28 sind nicht
fuer jeden zu erreichen. Die Rein-Raus-Taktik koennen auch Abenteuer
anwenden und Zauberer? (keine Ahnung ob die
sowas haben). Also wenn ich die Zauberer so sehe die sind
schon ziemlich stark (*wetter* *schimpf* *heul*)...achso
Ironie on/off vergessen.
Naja egal ist schon schade wenn Gilden abgewertet werden so im
nachhinein. Aber Chaos wurde auch abgewertet Anatol. So sind
jetzt z.b. die Zuverlassigkeiten von Spruechen gesunken wenn ich
Zardoz recht verstanden habe.

Anakin. (der Anatols Artikel gelesen hat, sich gelangweilt hat,
was geschrieben hat mit allen Kanaelen an (mist Layout)
und dabei auch nicht gross uberlegt hat was er schreibt)

Anakin.

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



Re^5: Nachdenklich... (Zardoz, 26. Mar 1996, 17:26:53):
~#! rn=Anatol rt=827851378
~#! tid=827594087
Hm, programmiert noch jemand eine Kaempfergilde??


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



Lasst es doch beim alten (Todesengel, 26. Mar 1996, 17:32:34):
Moin,

also nu macht mal Chaos nicht so schlecht, so schwach sind wir nu
wirklich nicht, wie Valarian da geschrieben hat. Ich glaube aufgrund
unserer Vielseitigkeit haben wir ueberhaupt nix zu meckern. Oder kennt
ihr Karateka oder Abenteurer oder Zauberer, die mittels ihrer
gildeneigenen Faehigkeiten nen Weghier killen. Und fuer Ende und ne neue
Chaoshaut brauche ich gerade mal 2 min maximal, bei lag und nem nicht
gerade guten cast bei der Chaosruestung. Meiner Meinung nach haben
Karateka lange genug ihre Staerke gehabt, so dass sie auch so bleiben
sollte. Man sollte nicht abruesten, weil Karate immer besser wird. Fakt
ist doch eher, das immer mehr Karateka aufsteigen (meist durch harte
Arbeit). Aber das ist doch klar, man kann sich doch ausrechnen, das die
Kyu 9 - Leute auch nen hohen Dan haben wollen. Sollen wir alles
runtersetzen, weil immer mehr Spieler ins MG kommen ? Was habt ihr
eigentlich gegen aufruesten, ich finde es ja beinahe gut, so erweitert
man wenigstens das Spektrum. Solange alte Monster auch fuer Einsteiger
killbar sind, koennen neue Regionen meiner Meinung nach ruhig
schlagkraeftiger sein.

Todesengel


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



Re^6: Nachdenklich... (Asmodis, 26. Mar 1996, 18:49:53):
~#! rn=Anakin rt=827852108
~#! tid=827594087
Moment mal! Soweit ich Erfahrung damit habe, sind die Zauberer
momentan die schwaechste Gilde. Der Angriffsspell fuer Stufe 8
ist nichtmal stark genug, um damit bei vollen Mps einen Drakonier-
waechter zu erledigen. Ausserdem kriegen sie im Nahkampf immer
die Hucke voll, weil sie kaum etwas anziehen duerfen, wollen sie
nicht Einbussen in ihrer Zauberei hinnehmen, mit Waffen kaempfen
koennen sie sowieso kaum noch, und die Verteidigungsspells
sind (Stand: Stufe 8) auch nicht das Gelbe vom Ei und kosten
jede Menge Mps
Also, wie gesagt reine Gruppenkaempfer, man wird wohl keinen Zauberer
sehen, der mal eben die SSP oder Schrumpfis Gruft, oder Moron
ausraeumt.
Deshalb: Macht die Abenteurer schwaecher, dann stehen die Zauberer
         nicht so verloren da :)

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



Re^7: Nachdenklich... (Anakin, 26. Mar 1996, 18:54:01):
~#! rn=Asmodis rt=827862593
~#! tid=827594087
Hmm also mir hat ein Zauberer ueber nen Spell gesagt 'Hand'
oder so der kostet 7MP und fuer 10-15 Kampfrunden dann mit
brechender Knochen. Ist doch nicht schlecht oder?

Anakin. Der keine Ahnung von Zauberern hat.

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



Re^7: Nachdenklich... (Wise, 26. Mar 1996, 19:04:11):
~#! rn=Asmodis rt=827862593
~#! tid=827594087
Genau besehen ist immer jemand staerker als der andere, also muessen wir
immer jemanden runtersetzen. Fuer t ( Zeit) gegen Unedlich => alle sind
masslos schwach . Lasst uns also in die Zukunft springen serviert alle
Gildeneigenschaften ab, setzt alle auf die 1 Stufe zurueck und alle Stats auf
die Anfangswerte. Mit sicherheit hat dann keiner einen Vorteil. P.S.: Findet
ihr nicht auch das Magier und Goetter relativ zu stark sind?
;)     :-)	;-)	;-)	;-)	;-)	;-)	;-)	;-)	;-)	;-)	;-)	;-)


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



Re^7: Nachdenklich... (Silvana, 27. Mar 1996, 10:12:05):
~#! rn=Asmodis rt=827862593
~#! tid=827594087
Ich wiederhole mich ja ungern, aber da ich's in DIESER Rubrik noch nicht
geschrieben habe: Ohne Feedback werde ich nie wissen, was ihr von der
Zauberergilde haltet. Ich hab zwar regelmaessig bis zu 50 neue mails,
aber so ein bisschen zur Einschaetzung waere nicht uebel. Ich hatte
uebrigens keine Probleme, Moron lehrzumetzeln (mit tanken). Kann es sein,
dass ihr noch nicht die richtige Taktik raushabt?

  Silvana

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



Re^8: Nachdenklich... (Baboon, 27. Mar 1996, 10:14:26):
~#! rn=Silvana rt=827917925
~#! tid=827594087
Kein Wunder, wenn du mit Moron keine Probleme hast: Magier
sind ja eh unsterblich!

Baboon (produziert auch mal schmarrn)

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



Re^8: Nachdenklich... (Caradhras, 27. Mar 1996, 13:00:01):
~#! rn=Silvana rt=827917925
~#! tid=827594087
Silvana, ich glaube kaum dass die Schattenviecher in Moron mit
DT_COLD, DT_FIRE oder sonstigen speziellen Damagetypes angreifen.
Ich habe auch in meinem Artikel geschrieben dass es gegen solche
kleine Monsterchen immer noch so gut geht wie vorher bei den
Karatekas. Nur was will ich in einem hoeheren Dan mit denen?
Also ICH nix. Da will ich lieber grosse Spezialmonster
angreifen als zum 7865 Mal Moron leermetzeln.

Einschaetzungen der Zauberergilde kann ich kaum vornehmen, da
ich nur lv 5 von maximal 10 bin. Aber in meinem Level 5 habe
ich mal den Sensi getestet, er war auf Arzt als ich angefangen
habe, ich war vollgetankt und hab eine Vollheilung gebraucht. :)

        Caradhras - war jetzt lang genug in der SSP

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



Karateka = Kampfmaschine ?? (Durin, 27. Mar 1996, 20:21:34):
Hi Ihrs!

Also ich wollte heute mal testen wie stark doch die Karatekas sind,
also sind Vanir (Level 11 Chaos) und ich (Level 10 Karate) mal in die
Arena gegangen. Wir haben mehrere Durchgaenge gemacht, dabei habe ich
und Vanir mehrere Techniken benutzt, soll heissen er hat seine Angriffe
auch variert(Chaosschaden), dabei hat er ohne Finsternis und Daemonen
gekaempft.
Ich habe auch etwas rumexperimentiert aber ich hatte keine Chance gegen ihn.
Vielleicht war ich kein angemessener Gegner fuer Ihn mit meinem 1.Dan.
Ich verstehe die Welt nicht mehr ... alle heulen rum das sie die
Schwaechsten sind. Ich frage mich nur wofuer ich mich ueber ein 3/4 Jahr mit
dem ueben rumquaelt habe. Ich bin nicht in die Karategilde eingetreten, mit
dem Gedanken das es die besten Kaempfer sein koennten, nur so nebenbei
Haette ich nicht schon soviel Zeit investiert, ich waere bestimmt wieder
ausgetreten.
So das war jetzt mal meine Meinung zum Thema 'Ueberstarke Karatekas'.


Durin

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



Neue Staerkeaenderung (diesmal nach oben) (Rochus, 27. Mar 1996, 21:18:18):
Ich habe den MP-Verbrauch beim Ausweichen von nicht-abwehrbaren
Angriffen etwas reduziert und dafuer gesorgt, dass man
(je nach Dan) auch ohne MP eine gewisse Ausweichwahrscheinlichkeit hat.

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



Funakoshi luegt (Tzuiop, 28. Mar 1996, 16:07:12):
Warum ?
Funakoshi sagt:
Du hast alle Anforderungen fuer den 4. Dan erfuellt.

und dann Du musst mindestens 104 Stunden Spielzeit zwischen der vorherigen
Pruefung
und dieser lassen. Dazu fehlen Dir noch 12 Stunden und 9 Minuten.


:((

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



Re^8: Nachdenklich... (Asmodis, 28. Mar 1996, 19:49:08):
~#! rn=Silvana rt=827917925
~#! tid=827594087
Kann sein, dass die Sprueche mit steigender Erfahrung staerker werden,
also kann ich da nicht viel sagen, mein Zaubererzwerg hat die
meisten erst auf ausreichend, und damit kann man kaum was machen.
Jedenfalls, DA steckte schon ne Menge Arbeit dahinter, also falls
es so sein sollte, das ein Zauberer, der alle Spells maximal gut
kann, so stark wie ein Karateka oder noch besser ist, dann hat
er es sicher auch verdient. Immerhin kostet der Spass ja auch ne
Menge.
Karatekas muessen ja nur Tankgeld ausgeben ...

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



Deppen... (Grimmborn, 29. Mar 1996, 18:46:17):

Also, so wie das aussieht heult ihr euch (und leider auch mir) gegenseitig
die Ohren voll in der Art: "Gilde A ist aber bei Monster X besser" "Gilde B
sieht bei Y fuerchterlich alt aus" "Gilde C kann eigentlich nur Monster der
Art Z effektiv angreifen" undsoweiterundsofort.
Faellt euch eigentlich nicht auf, dass genau das das Ziel des Gildensystems
war? Die Abenteurer sollten allrounder sein, die alles koennen aber nicht sooo
doll, die anderen Gilden sind SPEZIALISIERUNGEN. Das heisst, dass sie Vorteile
an einigen Stellen haben, dafuer aber Nachteile an anderen Stellen in Kauf
nehmen muessen. Auch sollte klar sein, dass die Umsetzung des immer noch
relativ neuen Gildenkonzeptes eigentlich staendig Anpassungen noetig macht.
Ich meine, ist ja toll, wenn man sich in der "Super-Hero" Gilde waehnt und
dann meckert, wenn man runtergeschraubt wird, aber das ist natuerlich nicht im
Sinne des Spiels.
Wenn eine Anpassung uebers Ziel hinausschiesst koennt ihr sicher sein, dass
die Anpassung angepasst wird, das war bisher immer so. Wozu diese Heulerei
allerdings dienen soll ist mir nicht klar. Und es ist schon peinlich, wenn
Artikel in der Art "Ich habe keine Erfahrung mit Gilde X, aber sie ist auf
jeden Fall zu stark" auftauchen.

Nein, ich hoffe nicht, dass ich mit diesem Artikel irgendjemanden zum
Nachdenken bringe, die, dies noetig haetten sind offensichtlich nicht dazu in
der Lage...

Grimmborn der Atheist

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



Re: Deppen... (Grimmborn, 29. Mar 1996, 18:48:13):
~#! rn=Grimmborn rt=828121577
~#! tid=828121577

Ach ja, hab ich im Eifer des Schreibens glatt vergessen: Diese
Spezialisierung mit unterschiedlichen Staerken sollte natuerlich dazu dienen,
dass sich verschiedene Spieler mit verschiedenen Faehigkeiten zusammentun und
gemeinsam was unternehmen.

GdA. Ohne xterm, daher mit Nachschlag.

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



Funakoshi aus der Ferne fragen (Mysthos, 13. Apr 1996, 15:23:58):
Waere es moeglich, sowie in der Zauberergilde, Funakoshi auch aus der Ferne
nach seinen Anforderungen, Status usw. zu fragen ?

Da die Gilde fuer Nicht-Seher sehr schwierig zu erreichen ist (ueber die
Karawane dauert das abfragen mindestens 20 Minuten), koennte das sehr
hilfreich sein.

Ich wuerde mich allerdings ueber so eine Moeglichkeit freuen.

Mysthos.

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



Re: Funakoshi aus der Ferne fragen (Rimus, 14. Apr 1996, 19:53:05):
~#! rn=Mysthos rt=829401838
~#! tid=829401838
Dieses Thema hatte ich auch schon mal angesprochen, und es wurde damal
gesagt, dass wir karatekas keine zauberrei koennen und somit nicht ueber die
ferne
unsere faehigkeiten erfragen koennen.
Jedoch wurde damals als alternative angeboten, die reisezeit der karawane zu
verkuerzen und einen landweg nach fernwest zu proggen.
Also Magier, walte deines amtes !

RIMUS

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



Re: Re: Funakoshi aus der Ferne fragen (Wurzel, 14. Apr 1996, 20:31:06):
~#! rn=Rimus rt=829504385
~#! tid=829401838
hallo,

ich kann natuerlich nicht fuer die karate gilde sprechen, nur soviel
verraten: im moment werden tiefe tunnel unter der erde gegraben, die
auch nach fernwest fuehren werden... soon to come :)

gruss, wurzel

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



Re: Re: Funakoshi aus der Ferne fragen (Gordo, 14. Apr 1996, 20:33:50):
~#! rn=Rimus rt=829504385
~#! tid=829401838
Das mit dem ,Karatekas koennen ja keine Magie,seh ich irgendwie nicht ganz
ein.
Schliesslich kann ich ja auch jedem normalen Spieler etwas aus der ferne
mitteilen oder eine frage stellen,warum sollte ich das dann bei Funakoshi auf
einmal nicht mehr koennen????

Gordo

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



Re^3: Funakoshi aus der Ferne fragen (Predator, 15. Apr 1996, 09:57:07):
~#! rn=Gordo rt=829506830
~#! tid=829401838
DU kannst es vielleicht, aber auch Funakoshi???

Predator, war auch mal Karateka, aber ein schlechter :)

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



Re^4: Funakoshi aus der Ferne fragen (Jasper, 15. Apr 1996, 10:00:04):
~#! rn=Felagund rt=829555052
~#! tid=829401838
och ihr weicheier, ihr werdet ja wohl noch nachfernwest fahren koennen

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



Re^5: Funakoshi aus der Ferne fragen (Cuddy, 16. Apr 1996, 12:41:52):
~#! rn=Jasper rt=829555204
~#! tid=829401838
Hallo allerseits ...
Nachdem die Diskussion ueber das Einschaetzen der Karatekas wieder einmal
aktuell geworden ist, will ich auch mal meinen Senf dazu abgeben:
Wie waere es denn, wenn man alternativ zu Funakoshi sein Koennen auch bei
anderen, hoeherstufengen Karatekas erfahren koennte ?
Wenn ein Karateka eine Technik schon etwas besser beherrscht, dann muesste es
ihm doch moeglich sein, das Koennen eines weniger guten Spielers zu
beurteilen.
Ich weiss nicht, wie das Programmtechnisch zu loesen waere, aber sicherlich
wuerde es (etwas) mehr zur Spielerkomunikation beitragen.

Ok, nun zerreisst mich !
Cuddy the Dwarf

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



Pegasus (Mysthos, 20. Apr 1996, 14:43:34):
Hi :)
Weiter zu meiner Frage neulich ob es moeglich waere Funakoshi aus der Ferne
nach seinen Stats zu fragen. Weil das anscheinend auf grossen Bedenkungen
stosst (Karateka's sollten wohl nicht genuegend Magie haben, oder sowas
aehnliches) wie waere es denn um Pegasus auch fuer nicht-seher zugaenglich zu
machen ? (Vielleicht als Quest-bonus).

Der wird doch kaum von Sehern benutzt weil die sich durch die Sehertore eben
schneller bewegen koennen. Also ich denke damit loest mann 2 Probleme:

1. Pegasus wird wieder benutzt wozu der ausgedacht ist.
2. Nicht-Seher koennen sich schneller zum Fernwest bewegen, was vor allem
fuer die Karateka's sehr hilfreich sein koennte.

Ciao, Mysthos ;v)

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



Re: Pegasus (Jariel, 21. Apr 1996, 03:47:26):
~#! rn=Mysthos rt=830004214
~#! tid=830004214
Hi Hi!

Ich weiss nicht, ob es so clever waere, Pegasus fuer Nicht-Seher-Spieler
zugaenglich zu machen (bloede Formulierung). Ich selber bin auch kein
Seher, denke aber, dass die Benutzung des Pferdes dann nicht nur
fuer den Weg nach Fern West freigegeben werden darf. - Und das wiederum
zur Folge haette, dass viele (wenn nicht sogar alle) Nicht-Seher nur
noch mit Pegasus reisen, um irgendwo hinzukommen.

Was wuerde aber in diesem Fall mit der Karawane passieren?

Mich persoenlich oedet es auch an mit der Karawane zu fahren, aber vielleicht
kann man den Spielern etwas Intelligenz zusprechen und eine Moeglichkeit
schaffen, dass sie sich das, was der Sensei sagt, merken. So haben sie
nicht immer den neusten Stand, aber einen Anhaltspunkt, welche
Technik wie gut ist, bzw. welche Techniken fuer die naechste Stufe wie
stark geuebt werden muessen.

Auf alle Faelle sollte man ueber dieses Problem weiter nachdenken, und
was viel wichtiger eist, eine LOESUNG finden. ;)

Yo, denn.
Jariel Tonack.

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



Magie-punkt-kosten (Jariel, 21. Apr 1996, 03:58:43):
Nochmal Hallo!

Da ich gerade ueber das Thema Karate-Technik-Status nachdenke, fiel mir ein,
dass ich bisher noch keine "genaue" Information darueber erhalten konnte,
wieviele Magiepunkte eine bestimmte Technik kosten. Vielleicht gibt es
irgendwo diese Info, ich bin ja nun noch nicht so lange dabei. :)
Aber den Sensei nach jeder einzelnen Technik zu fragen und mir dann Notizen
zu machen finde ich etwas albern.

Ausserdem wuerde es mich freuen, wenn man auch getrennt den Status fuer
Angriff- und Abwehrtechniken abfragen koennte. denn ab einem hoeheren Kyu
scrollt alles ueber meinen Schirm und ich sehe nix mehr. Da kann ich auch an
dem Terminalprogramm nix aendern.

Ich wuerde mich freuen, wenn auch zu diesem Thema etwas Kalateka-Lesonaz
erfolgen wuerde.

Yo denn.
Jariel Tonack.

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



Re: Magie-punkt-kosten (Yendi, 22. Apr 1996, 12:52:35):
~#! rn=Jariel rt=830051923
~#! tid=830051923

Ich verweise auf Rynes "Kleines Karatebuch", was sich auf seinem Nachtisch in
seinem Schlafzimmer in seinem Appartement ueber seinem Ballpark befindet.

Recht erschoepfend, die Auskuenfte dort... :-}


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



Re: Re: Pegasus (Mysthos, 23. Apr 1996, 00:11:41):
~#! rn=Jariel rt=830051246
~#! tid=830004214
Also ich habe noch einige Sachen dazu zu sagen:

1. Was ist dagegen das Pegasus denn auch benutzt wird fuer anderen Stellen ?
Und denn noch auch wenn du das ein Problem findest, der haelt glaube ich eh
nur an 6 Stellen (PV, Zwergenstadt, Elfensiedlung, Polargebiet, Svolvear und
Fernwest). Die erste 3 gehen wohl schneller zu fuss, die 4. mit wegemakro
auch, Svolvear ist fuer nicht-seher eh nicht interessant also bleibt Fernwest.

2. Mann spricht drueber MG zu untergraben so das mann Fernwest auch
unterirdisch erreichen kann. Was glaubst du wird denn mit der Karawane
passieren ?

3. Jetzt gibt es auch schon die Moeglichkeit fuer nicht-seher mit Pegasus
nach Fernwest zu fliegen, mann braucht halt nur Seherfreunde. Also wieso diese
Moeglichkeit nicht "freigeben" fuer spieler. (Wie gesagt vielleicht als
Questbonus)

4. Klar, ich schreibe auch immer die Sachen die Funakoshi sagt auf. Aber ich
will ja oefter 'up-to-date' bleiben.

5. Nix aendern ist jedenfalls nicht die LOESUNG. Es ist ja am einfachsten
Ideen von anderen nieder zu machen ohne selber mit Alternativen zu kommen.

6. Cuddy's idee find ich recht interessant. Mir wuerde sowas auch gefallen.

Leicht genervt, Mysthos ;v).

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



Re^3: Pegasus (Li, 23. Apr 1996, 09:07:06):
~#! rn=Mysthos rt=830211101
~#! tid=830004214
zu Punkt 2.:
die Karawane wird weiterhin besucht werden. Ihr glaubt doch nicht, ein
unterirdischer WEg nach Fernwest waere einfach und muehelos zu bewaeltigen?
Mit der KArawane kommt jeder(so er bezahlt hat) leicht und muehelos nach
Fernwest.
Li

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



Re^4: Pegasus (Lone, 24. Apr 1996, 15:51:05):
~#! rn=Li rt=830243226
~#! tid=830004214
Wie waere es denn, wenn man am Karawanengildeplatz sich einer Gruppe
Wartender anschliessen koennte, die dann automatisch bei eintreffen der
Karawane, diese betritt.
Dies haette den vorteil, das man nicht mehr Konzentriert warten muss, wann
die Karawane kommt. Kein verpassen der Karawane wegen Lag (Befehl kommt zu
spaet an). Moeglichkeit sich mit anderen zu unterhalten, Brief schreiben etc.
Vielleicht koentet i
man sogar ein Spiel einbauen, das man am Warteplatz und dann automatisch
waehrend der Fahrt
spielen koennte!
LONE

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



Re^5: Pegasus (Rimus, 25. Apr 1996, 13:42:10):
~#! rn=Lone rt=830353865
~#! tid=830004214
Dein Vorschlag hat einen Hacken. Angenommen ein Karateanfaenger wuerde den
Sammelplatz zu dem zeitpunkt betreten, wo die Karawane ankommt.
Dann haette er 1. Keine Einreisegenehmigung fuer FW; und
2. wuerde ihn der Bakemono in den sicheren Tod treiben.
Ist das das Spiel von dem du gesprochen hasst ??

RIMUS - braucht nie mehr mit der Karawane reisen

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



Re^6: Pegasus (Rimus, 25. Apr 1996, 13:43:29):
~#! rn=Rimus rt=830432530
~#! tid=830004214
Sorry Typo Haken !

RIMUS - del Kalateka

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



Re^6: Pegasus (Raffi, 25. Apr 1996, 15:06:03):
~#! rn=Rimus rt=830432530
~#! tid=830004214

Ich versteh nicht was du meinst Rimus - Lone schlug doch vor, das man sich
eier gruppe Wartender anschliessen kann - nicht, das alle die am sammelplatz
stehen automatisch in die Karawane gesteckt werden.

Ich sell  mir das so vor : Man geht einreisegenehmigung kaufen, dann wieder
zum sammelplatz und macht da 'Warte auf Karawane' und weird dann sowie sich
eine neue Karawane formiert reingepackt, oder es wird noch ein
'Wartehaeuschen' (besser Wartezelt) eingefuehrt. Alle die Da drinnen stehen
werden dann automatisch in die Karawane uebernommen.

Das Zelt koennte ja als ein bischen Bewirtung fuer die Reisenden bieten
(Neudeutsch Cartering :).

Gruss
H.

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



Re^7: Pegasus (Predator, 25. Apr 1996, 17:10:32):
~#! rn=Raffi rt=830437563
~#! tid=830004214
Ja, faende ich gut, wuerde es auch Anfaengern erlauben, schnell mal
Fortschritte bei Karate zu sehen...

Predator, heute mal bissl rumsuelzend

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



billige Getraenke (Feuerwehr, 25. Apr 1996, 20:13:53):
Also, ich moechte keineswegs die Karate-Gilde schlechtmachen.
Aber man muss hier viel ueben, und viiieeel Geld mitbringen,
um dutzende von Kirschbluetentees zu trinken. Bei der Zauberer-
gilde muss man auch ueben und trinken, da ist es aber billiger
geworden. Nun, ich finde fuer Anfaenger und nicht ganz so weit
fortgeschrittene, die in Xian nicht so viel Geld machen koennen und
immer zurueckreisen mussen, sollten auch diese Getraenke billiger/besser
werden


Feuerwehr (Will in Xian Campari Orange trinken koennen)

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



Re: billige Getraenke (Jasper, 25. Apr 1996, 20:14:59):
~#! rn=Feuerwehr rt=830456033
~#! tid=830456033
wer trinkt denn auch kirschbluetentee *spuck*
frag ulo mal nach ihrer kneipe :)


Jerrico

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



Re: billige Getraenke (Asmodis, 25. Apr 1996, 22:27:00):
~#! rn=Feuerwehr rt=830456033
~#! tid=830456033
Hmm, es gibt relativ billige Getraenke in Xian, nur hast du diese
Kneipe wohl noch nicht gefunden :)

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



Re^4: Pegasus (Kretek, 26. Apr 1996, 16:12:29):
~#! rn=Li rt=830243226
~#! tid=830004214
So einen unterirdischen Weg sollten eh nur
Zwerge und Hobbits relativ unproblematisch benutzen
koennen. Menschen... Na ja, die sind ohnehin doof und stinken, und bei
elfen hab ich immer leichte Schwierigkeiten, mir diese Spitzohren
unterirdisch vorzustellen. Im Wald moegen sie ja DIE Cracks sein, aber
unter der Erde... Also, den Tunnel auf jeden Fall rassenabhaengig
proggen! :))

Flames, Replys und sonstigen Muell (ja, ok, von mir aus auch sinnvolle 
Antworten, wenn's denn sein muss...) an:

Massa Kretek (V.i.S.d.P.)

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



Re: Re: Funakoshi aus der Ferne fragen (Feuerwehr, 28. Apr 1996, 19:55:11):
~#! rn=Rimus rt=829504385
~#! tid=829401838
WIE FUNAKOSHI IST NICHT MAGISCH?
Der Kerl ist vollgesaugt mit Magie wie ein Schwamm...
Nur weil es keine hochenergetische Magie ist, ist es doch Magie!!!!
Also wirklich, Funakoshi und nicht magisch....
Bei euch ist wohl nur etwas magisch, was Feuerbaelle en Masse produziert...
       Feuerwehr.... ( :))

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



Re^5: Pegasus (Lariel, 28. Apr 1996, 20:08:42):
~#! rn=Kretek rt=830527949
~#! tid=830004214
Hi, Leuts!
Ich finds ja echt lustig, Kretek, dass man nur noch Zwerge und Hobbits in
Hoehlen schicken kann. Wie waers denn, gleich das ganze MG rassenabhaengig zu
proggen? Also: Keine Zwerge mehr im Wald, keine Elfen in der SSP, nur noch
Orks ins verlorene Land,
und natuerlich alles was nicht Mensch ist raus aus PV.
Naja, bei Gilden oder so was kann ichs ja verstehen (Chaos-Hobbit...), aber
Wege
, und grade solche Interkontinental-Verbindungen sollten sowas wirklich nicht
kriegen. Was sinnvoll waere, sind Monster, die Autoattack nur auf Elfen und
Menschen haben (Schliesslich greift so'n Grottenolm alles an was er NICHT
kennt, und Zwerge sind nu mal seine grossen Brueder...

So, ich weiss, mieses Layout usw.
- Lariel Falkenflug der Lichtelf,
  kein Karateka, aber ein Elf aus Leidenschaft.

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



Re^6: Pegasus (Wurzel, 28. Apr 1996, 21:35:15):
~#! rn=Lariel rt=830714922
~#! tid=830004214
hallo,

rassismus ist insgesamt ne miese sache, da sind wir uns wohl einig. rassen
gehoeren aber zur fantasy wie butter zum brot, deswegen laesst sich das
eine oder andere merkmal auch ausnutzen... im mud haengt das aber am
jeweiligen magier, wie er das sieht. eins ist sicher: der unterirdische
fussweg nach fernwest wird nicht rassendiskriminierend sein.

wurzel

p.s. der weg wird erst in ca. zwei monaten fertig, wenn sich nicht noch
tatkraeftige mitgraeber finden... immerhin soll fernwest weiterhin fern sein.

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



Re^7: Pegasus (Predator, 28. Apr 1996, 21:37:15):
~#! rn=Wurzel rt=830720115
~#! tid=830004214
Hauptsache man kann ein Script dorthin basten, aber was interessiert mich das
??

Predator, benutzt Sehertor dorthin :)

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



Re^8: Pegasus (Wurzel, 28. Apr 1996, 21:44:51):
~#! rn=Predator rt=830720235
~#! tid=830004214
das mit dem script ist so ne sache...
ich finde scripten insgesamt bloed, und daher wird es nicht einfach werden,
ein script fuer den fussweg zu basteln. aber vielleicht seid ihr ja besonders
findig...
wenn es ein einfacher weg werden sollte, das kostet nur ein paar stunden,
keine zwei monate.

wurzel

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



Re^9: Pegasus (Predator, 28. Apr 1996, 21:45:35):
~#! rn=Wurzel rt=830720691
~#! tid=830004214
Uns faellt bestimmt was ein........ :)

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



Re^9: Pegasus (Fyt, 28. Apr 1996, 21:45:59):
~#! rn=Wurzel rt=830720691
~#! tid=830004214

Lese ich da den hauch einer neuen Herausforderung?

Fyt, lange kein neues Script mehr geschrieben habend.

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



wieder dem Scrollen (Feuerwehr, 29. Apr 1996, 20:34:20):
Koennte es im Shinto die Moeglichkeit geben, die Zeilen ueber
die Schlaege anderer Spieler zu ignorieren? Wenn sich 5-6 am
kloppen sind, ist dass ziemlich unuebersichtlich und man kann sich
nicht so sehr auf seine Schlaeg konzentrieren.... :)

           Feuerwehr :)

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



Re^6: Pegasus (Kretek, 29. Apr 1996, 23:36:54):
~#! rn=Lariel rt=830714922
~#! tid=830004214
ARGLBARGL!

Wann hab ich eigentlich das letzte Mal ausdruecklich erwaehnt, dass
Spieler/Seher doof sind und stinken?
Oder soll ich tatsaechlich vor jedem Artikel, den ich hier so abgeben,
ein bloedsinniges **ironie on** und nachher ein **ironie off** eingeben?
Leute, Leute...
Flames, Replys und sonstigen Muell (ja, ok, von mir aus auch sinnvolle 
Antworten, wenn's denn sein muss...) an:

Massa Kretek (V.i.S.d.P.)

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



Re^7: Pegasus (Acrimon, 30. Apr 1996, 11:11:12):
~#! rn=Kretek rt=830813814
~#! tid=830004214
Nanana Kretek!

*ironie ein*
Woher sollen wir denn wissen, dasz Du keinen einzigen Deiner Artikel ernst
meinst?
Dasz alle Deine Saetze, die Du jemals in die MPA schreibst, gelogen sind?
*ironie aus*

Gelogene Artikel muessen nach wie vor mit "**ironie on**" am Anfang und mit
"**ironie off**" am Ende gekennzeichnet sein.

Und wenn es Dir nicht paszt, wenn wir Dich jemals ernst nehmen, dann muszt du
das bei jedem deiner Artikel machen.

Acrimon, der Rote Ritter

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



Re^8: Pegasus (Hardil, 30. Apr 1996, 12:27:06):
~#! rn=Acrimon rt=830855472
~#! tid=830004214

Aehm, Ac'imon,
wie f'eibt man denn daf 'fz', wenn man den Pi'aten-Sp'achfluch hat (ode'
keine Faehne meh')?
Muf man daf mit fz freiben, oder da'f man auch ff benutzen?

Juft my 2 pennief,

				Ha'dil

-> ?schma''n

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



Re^8: Pegasus (Oetti, 30. Apr 1996, 13:42:08):
~#! rn=Acrimon rt=830855472
~#! tid=830004214
Argh !

Es folgt ein Musterartikel nach Acrimons gelungenen Reformbemuehungen:

***normal ein***
Hallo Leute !
***normal aus***

*beledigung ein*
Ihr habt nen Knall
*beleidigung aus*
*fast normal mit ein wenig ironie gemischt ein*
Wenn man sich nicht ZU bloed anstellt erkennt man sehr wohl,
ob geschriebene Worte ernstgemeint sind oder nicht.
Aber es gibt leider genug die sich GERNE angegriffen fuehlen wenn
das moeglich ist.
*fast normal weiter mit etwas ironie aus*

*Krasse beledigung mit Seitenhieb persoenlicher NAtur unter die Guertellinie*
Ich finde SZ anstatt SS sieht zum kotzen aus.
*Krasse Beleidigung mit Seitenhieb Persoenlicher NAtur aus*

*Danksagung, verabschiedung und weiteres Blabla ein*

Gruss

Oetti
*Dansagung Verabschiedung unt weiteres blabla aus*

*Nachtraegliche Kommentare ein*
...
*nachtraegliche Kommentare aus*
...
...
...
...
...
oops
...
.










































.
.
.
.
Mein Editor spinnt *heul*
.
Ich
muss
das
leider
so regeln
damit
ich
hier
raus
komme
sorry

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



Re^9: Pegasus (Acrimon, 30. Apr 1996, 16:12:06):
~#! rn=Oetti rt=830864528
~#! tid=830004214
Danke, Oetti, fuer Deinen schoenen miszlungenen Musterartikel.

Und wers nicht so krasz machen will - es reicht ja schon, wenn die gelogenen
Saetze als gelogen markiert sind. (Also "Ironie")

Acrimon, der Rote Ritter wuenscht sich ein besseres Klima im Mud.
PS: Extra-Knuddler an Oetti

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



Ich haette da mal ne Idee (Pugs, 30. Apr 1996, 16:15:14):
Koennte man nicht fuer die niedrigen Gildenlevel (1-5) oder so, mal ne
Anzeige einbauen, die sich meldet wenn man, sagen wir 10 Magiepunkte nur noch
hat ?

Einfach so mal zur Ueberpruefung

THX

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



Re: Ich haette da mal ne Idee (Jasper, 30. Apr 1996, 16:17:12):
~#! rn=Pugs rt=830873714
~#! tid=830873714
es gibt eine quest, die man loesen kann, dann hat man solch eine anzeige.


jasper knuddelt seinen teddy

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



Re^3: Ich haette da mal ne Idee (Pugs, 30. Apr 1996, 16:52:09):
~#! rn=Paracelsus rt=830875821
~#! tid=830873714
aehem ich meinte gildenlevel 1-5.....ausserdem in der gilde ist man doch
schneller....es rennen doch schon karatekas mit Spielerlevel 3 rum und die
haben bestimmt die
Quest noch ncicht geloest

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



Re: billige Getraenke (Rimus,  1. Mai 1996, 17:56:53):
~#! rn=Feuerwehr rt=830456033
~#! tid=830456033
Du sollst ja auch nicht im shinto permanent ueben. Das Shinto ist so
programmiert, dass erst ab 95% ein deutlicher lernerfolg zu verzeichnen ist.
Um auf 95% zu kommen hasst du genug zeit, dich in der "normalen" welt
aufzuhalten.
Um den Rueckweg zu vermeiden hier ein tip: ich habe als ich noch kein Seher
war das so gemacht: bevor ich nach fern-west gegangen bin, hab ich all meine
wichtigen sachen einen zweiti gegeben und als das geld alle war mittels
ende wieder nach port-vain teleportiert.
das ist sicher der schnellste weg.

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



Re^10: Pegasus (Grimmborn,  2. Mai 1996, 13:57:58):
~#! rn=Acrimon rt=830873526
~#! tid=830004214

Also, immer wenn man denkt, es kann einen nichts mehr umhauen...
Ist euch diese subtile Gleichsetzung von Ironie und Luege aufgefallen?
Wirklich, das erklaert viel von der Grundeinstellung mancher Leute, ach was,
dieses Staates. Und das ist genau ein Grund, ein sehr wichtiger Grund, um mit
einer wahren Flut von "gelogenen" Artikeln dagegen anzukaempfen. Natuerlich
auf verlorenem Posten, aber man hats wenigstens versucht.

Grimmborn der Atheist. Schuettelt immer noch den Kopf und kanns kaum fassen.

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



Re^10: Pegasus (Ulo,  2. Mai 1996, 14:24:04):
~#! rn=Predator rt=830720735
~#! tid=830004214
Mir faellt da auch was ein, und ich kann Euch versichern,
Fuenf Minuten, nachdem ich den ersten mit Skript durch die Tunnels nach
Fernwest rennen seh', fuehrt der Tunnel nicht mehr nach Fernwest, sondern zum
Balrog o.ae.    ;-)
Viel Spass beim Skripten also ...

Ulo.

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



Shinto-Scroll (Crolla,  2. Mai 1996, 14:29:43):
Hi,
heute ist mir passiert, was ich schon laengere Zeit befuerchtet hatt:
Ich stand im Shinto, es scrollte extrem, und ich habe mir einen Gegner
ausgesucht, den ich mit dem Befehl "toete [Spieler]" dann angreifen wollte. So
weit, so gut. Nur hat mich dann in der Zwischenzeit jemand anders angegriffen.
Weil ich weiss, dass ich bei dem Gescrolle meistens nur aus dem Shinto komme,
wenn ich eine recht hohe vorsicht eingestellt habe, bin ich denn auch ziemlich
bald aus dem Shinto geflohen, nur leider, bevor der "toete"-Befehl angekommen
ist. Der Gegner, den ich angreifen wollte, war auch nicht mehr im Shinto,
sondern leider auch bei Funakoshi, so dass ich drauf und dran war, einen
Playerkill zu begehen...

Also, hier mein Vorschlag:
Ich faende es gut, wenn ich die Moeglichkeit haette, im Shinto saemtliche
Kampfaktivitaeten, die nichts mit mir zu tun haben, nicht mitansehen zu
muessen. Das ist zum einen  praktisch und uebersichtlicher als das ewige "X
greift Y an. Y versucht, usw usf", zum anderen auch sicherer, weil dann meine
Befehle eher ankommen und so die Wahrscheinlichkeit, aus Versehen Spieler
ausserhalb des Shinto anzugreifen, erheblich gesenkt wird.

Ich wuerde gerne mal Eure Meinung darueber lesen, oder andere Vorschlaege.

Crolla (mit Lag)

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



Re: Shinto-Scroll (Rimus,  2. Mai 1996, 14:35:27):
~#! rn=Crolla rt=831040183
~#! tid=831040183
Eine gute Moeglichkeit waere vieleicht, dass man das Shinto so programmiert,
dass es virtuell fuer jeden spieler anders waer. Man koennte dann mit seinen
Trainigspartner in einen seperaten Raum gehen. Dies koennt zum Beispiel mit
der Syntax trainiere mit ... geschehen. So das man immer nur mit seinen
Partner
in einen Raum ist. Auch wenn man diesen zum Tanken verlaesst, muesste man
automatisch wieder in den raum gelangen, bis man das Training abmeldet.
Das duerfte doch kein Problem sein, denn Parawelt ist ja auch so.

Ich hoffe auf Meinungen

RIMUS

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



Re: Shinto-Scroll (Feuerwehr,  2. Mai 1996, 20:27:47):
~#! rn=Crolla rt=831040183
~#! tid=831040183
Den Artikel moechte ich auch (nochmals) bekraeftigen und bestaetigen.
Einige gaggen das vielleicht mit Clients, aber ich bin aeh... pur.

Bitte denkt drueber nach, ihr Magier

    Feuerwehr :)

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



Re^9: Pegasus (Yendi,  9. Mai 1996, 14:00:36):
~#! rn=Oetti rt=830864528
~#! tid=830004214

*gruebel*

Oetti gefaellt die "Schutzstaffel" besser als die "Sueddeutsche Zeitung"?
Na so was...  aber bei dem Knilch hatte ich ja schon immer meine Zweifel.


YTY
     *enter duck-and-run mode*


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



zu Gefahr des fersehentlichen PKs ausserhalb des Shintos (Phygos, 10. Mai 1996, 18:14:22):
Aych mir ist es letztens passiert, das ich aus dem Shinto ging um Funakoshi
nach den Werten zu fragen als Ploetzlich jemand ( ein sehr klassischer Held!!)
herausstuermte und mich mit einem Hagel von Schlaegen eindeckte. Zueerst
dachte ich ich waere noch im Shinto. Ok es ist nichts passiert. Aber es waere
sinnvoll wenn Funakoshi den Zauber frieden beherschen wuerde ergo alle kaempfe
ausserhalb des shinto unterbint
det    Kein Kampf kein Krampf

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



Neuer Weg Dojo-Shinto (Ulo, 10. Mai 1996, 22:06:34):
Hi!

Da es in letzter Zeit oefters vorgekommen ist, dass im Shinto eingegebene
'toete' Befehle wegen Lag erst angekommen waren, als die Spieler durch Ihre
Vorsicht bereits aus dem Shinto rausgeflogen sind und es damit zu unerlaubten
Spielerangriffen gekommen ist, ist ein Gang zwischen Shinto und Dojo von mir
eingebaut worden.
Im Gang funktioniert der Befehl 'toete' nicht, um versehentliche Angriffe
auszuschliessen. Wegeskripts bitte umstellen!

Ulo.

Die Veraenderungen treten in Baelde in Kraft. Ihr braucht nicht bis zum
naechsten Reboot warten, oder 'ende' machen :)

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



Neue Top-Liste (Rimus, 14. Mai 1996, 15:19:45):
----- Liste der besten Karateka: -----
    1. Slyfox, 8. Dan (100%)
    2. Khidar, 8. Dan (100%)
    3. Ryne, 8. Dan (100%)
    4. Fyt, 8. Dan (100%)
    5. Zyr, 7. Dan (100%)
    6. Chicola, 7. Dan (100%)
    7. Tzuiop, 7. Dan (43%)
    8. Jerrico, 6. Dan (100%)
    9. Nichts, 6. Dan (100%)
   10. Nixi, 6. Dan (100%)
   11. Lechuck, 6. Dan (42%)
   12. Twiggy, 5. Dan (97%)
   13. Durin, 4. Dan (100%)
   14. Gabi, 3. Dan (91%)
   15. Celebdil, 3. Dan (80%)
   16. Kermit, 2. Dan (84%)    
   17. Slash, 2. Dan (79%)
   18. Asmodis, 2. Dan (77%)
   19. Reinelde, 2. Dan (76%)
   20. Yeti, 2. Dan (75%)
   21. Zwirch, 2. Dan (75%)
   22. Tomaso, 1. Dan (74%)
   23. Almundi, 1. Dan (74%)
   24. Hercules, 1. Dan (69%)
   25. Asmodina, 1. Dan (65%)
   26. Miraka, 1. Dan (63%)
   27. Jodel, 1. Dan (63%)
   28. Fauli, 1. Dan (62%)
   29. Hau, 1. Dan (60%)
   30. Badenixe, 1. Dan (59%)
   31. Ampelmann, 1. Dan (59%)
   32. Andres, 1. Dan (36%)
   33. Mango, 1. Dan (2%)
   35. Kafka, 1. Kyu (73%)
   36. Hasenfuss, 1. Kyu (51%)
   37. Lelldorin, 1. Kyu (51%)
   38. Nature, 2. Kyu (77%)
   39. Bienchen, 2. Kyu (53%)

Ich wusste garnicht, das es noch besser als 100% geht, leider hat sich an
meinen
Schlaegen nichts geaendert.
Ich finde es trozdem toll, dass ihr mich so optimistisch einschaetzt, und
mich zum bessten Kalateka auserwaehlt habt.

Danke fuer Euer Vertrauen

Rimus del 104% Kalateka
,

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



Re: Neue Top-Liste (Rimus, 14. Mai 1996, 15:21:42):
~#! rn=Rimus rt=832079985
~#! tid=832079985
Da hab ich doch das wichtigste vergessen !

   34. Rimus, 1. Kyu (104%)


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



Re: Re: Neue Top-Liste (Nichts, 14. Mai 1996, 15:24:41):
~#! rn=Rimus rt=832080102
~#! tid=832079985


Scheint so, als ob Rochus etwas mit dem GuildRating
maechtigdurcheinandergebracht hat... ;)

"", der ausserdem den 7. Dan (nicht den 6.) hat.


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



Re^3: Neue Top-Liste (Caradhras, 15. Mai 1996, 20:48:53):
~#! rn=Nichts rt=832080281
~#! tid=832079985
Und LeC hat 42 Prozent? Wie kommt man denn damit auf Dan Dingens
aeh *hochscroll* Dan 6 ?
Eher 92 Plozent.

          Caladhlas *wuschel Celebdil*

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



Re^4: Neue Top-Liste (Guybrush, 15. Mai 1996, 22:49:16):
~#! rn=Caradhras rt=832186133
~#! tid=832079985
Ne waren 99% und nur 5.Dan ;)
Guybrush *tritt LeChuck*

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



Auf Wiedersehen (Feuerwehr, 17. Mai 1996, 11:12:16):
Dies ist ein Abschiedsbrief. Ich verlasse die Karate-Gilde :(
Ich tue dies mit einer Traene im Knopfloch, doch es geht nicht anders.
Tage um Tage habe ich gelernt und geuebt und gelernt und geuebt, und doch,
selbst wenn ich einen Schlag konnte, warteten 80 andere auf mich und der 
gelernte erwies sich als nicht allzu effektiv. 
Nun habe ich keine Lust und Zeit mehr. Die Zeit, die ich hier zur
Verfuegung habe, will ich mit dem Erforschen des Muds verbringen und
nicht 15 Tage online Ueben, nur um 1. Kyu zu werden. Auf wiedersehen.
Ich danken Andres, Crolla, Slyfox und all die anderen die mir mit Geld
(Slyfox, du bist cool) und Sandsaecken (hihi) zur Seite gestanden sind.

Die Karategilde kann schoen sein, doch ich habe vielleicht nicht das
noetige Durchhaltevermoegen. Wiedersehen und noch viel Spass...
   
    Feuerwehr 
   
                evtl bald Bierschuettler, aber weiss noch nicht :)

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



Karatekas sind die staerksten: Stuft sie endlich ab! :) (Lechuck, 20. Mai 1996, 18:55:35):
Grad eben passier: 
Anwesende: Ein Elfenwaechter, ein Zauberer namnes Ratz (Gildenlevel 6), ein
Karateka namens LeChuck (Gildenlevel 14):

Die letzten Zuckungen...
Der Waechter sagt: Du hast soeben Dein Leben verwirkt!
  Ratz greift einen Elfenwaechter mit brennenden Haenden an.
  Ratz kratzt den Elfenwaechter.
  Du greifst den Elfenwaechter mit einem gelungenen Soto-shuto-uchi an.
  Du schlaegst den Elfenwaechter mit dem Krachen brechender Knochen.
  Der Elfenwaechter greift Ratz mit einem Langschwert an.
  Der Elfenwaechter trifft Ratz.
[Allgemein:Slysack] slyfox is doof und stinkt
  Ratz greift einen Elfenwaechter mit brennenden Haenden an.
  Ratz zerschmettert den Elfenwaechter in kleine Stueckchen.
Der Elfenwaechter faellt tot zu Boden.

Da sach nochmal einer was gegen uns friedliebende und ausdauernd uebende
Mini-Kaempfer aus Fernwest.

LeChuck, ohne Kommentar

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



KRITIK! (Lechuck, 24. Mai 1996, 11:50:01):

Mal abgesehn davon, dass Karate immer abgewertet wird (leidiges Thema), und
den anderen Nachteilen dieser GIlde bei det neuen Stufenpunkt-Verteilung:

Leute, freut Euch! Bei uns wurde etwas aufgewertet!!!!

Aber freut Euch nicht su frueh. Denn aufgewertet wurden die Anforderungen fuer
den 8.Dan. Es reicht jetzt nicht mehr 95% der AP, das Weghier-Stirnband und
vor allem die 100.000.000 EP, nein, zusaetzlich duerfen wir jetzt noch Level
40 anstreben. Da kommt doch echte Freude auf :)
Lasst uns so weitermetzeln als sei kein neues System da!
Sterbt nicht an Monstern die Stufenpunkte bringen!
Raeumt das Orklager zum 1234.mal aus!
Killt Goblins!
Geht nicht in neue Gebiete, in denen alle Monster Magie-Schaden macht! 

DENN:
Ihr koenntet sterben. Das is nich gut, wenn ihr soviel EP wollt. Nein, Nein,
tut sowas bloss nicht.

Macht weiter wie bisher und freut euch des Karate-Lebens.

Das war's. Ich hoffe, dass ich deismal das Ironie-Flag weglassen kann. War
wohl beissend genug, selbst fuer Ironie-Ignoranten.

LeChuck, heult rum und ist ein Weichei, denn er mag mal sterben und nicht
immer nur aufpassen muessen.

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



Re: KRITIK! (Nichts, 24. Mai 1996, 16:44:09):
~#! rn=Lechuck rt=832931401
~#! tid=832931401

Mit Verlaub, das ist in meinen Augen der groesste Schuss in den Ofen, seit
anno Dazumal, als Ryne sich wegen Rudi umbrachte...

*flame on*

a) 100 Millionen EPs? Das ist doch genau das, was ein Script nur 
   herausfordert. Und die StuPs wurden eingefuehrt, um den Scripts die
   Lebensgrundlage zu nehmen.

b) Stufe 40? Ok, hier hoert die Toleranz auf. Opfer der Altseher hin oder
   her - Stufe 40 ist fuer jemanden, der keine Forscherp. hat, weil er zu frueh
   frueh 'geboren' wurde (wofuer er ja soo viel kann), ziemlich deftig.

Es gibt doch so viele Dinge, die man als Bedingung nehmen kann...
- Questpunkte. Wird ja auch gemacht....
- Spell-Faehigkeiten. Ist ja auch drin.
- Attributs-Bedingungen... oder gleich einen Heiltrank gefunden haben muessen.
- MetzelMasterQuest a la Zardoz... die Idee ist naemlich saugeil, imho.

Nichts - enttaeuscht



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



Re: Re: KRITIK! (Rochus, 24. Mai 1996, 17:01:08):
~#! rn=Nichts rt=832949049
~#! tid=832931401
Stufe 40 ist NICHT zuviel und auch fuer Altseher erreichbar.
In der Topliste sind momentan:
*  3. Slyfox        3962  (39)  2255 130265698 124d, 22:02  Karate
*  4. Ryne          3877  (40)  2160 309696064 114d, 20:27  Karate
*  5. Andres        3802  (38)  1910  11562320  50d, 14:33  Karate
*  6. Khidar        3800  (38)  2120  99081473 100d, 20:48  Karate
Natuerlich ist Ryne kein Vergleich, aber die anderen sind
auch nicht weit entfernt und das obwohl das neue System
erst kuerzlich aktiviert wurde.
Da die hoechste Stufe den besten vorbehalten bleiben soll
ist 40 sicher nicht uebertrieben - warte mal ab bis neben
mehr FP auch noch StuPs fuer Erstkills und besondere Monster
hinzukommen.
Ich bin mir nur nicht sicher, ob 40 GENUG ist, weil wir ausgerechnet haben,
dass Level 50 noch halbwegs vernuenftig erreichbar sein koennte
und daher erstmal die alte Beschraenkung noch dringelassen,
bis ich a) mehr Informationen ueber die tatsaechliche Entwicklung
habe und b) mir was besseres ausgedacht habe.

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



Re: KRITIK! (Asmodis, 24. Mai 1996, 17:08:50):
~#! rn=Lechuck rt=832931401
~#! tid=832931401
Hmm, stimmt, die Karatekas sind sowieso schon benachteiligt, weil es
viele Npcs gibt, die einige stupse geben, aber nicht von Karatekas
killbar sind. An diesen 100 Millionen Eps festzuhalten finde ich
sowieso laecherlich !!

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



Re^3: KRITIK! (Guybrush, 24. Mai 1996, 20:05:55):
~#! rn=Rochus rt=832950068
~#! tid=832931401
Vielleicht haett ich mich doch klarer ausdruecken sollen:
Es geht NICHT um dir 40 STups, sondern um die immer noch vorhandenen 
100.000.000 EP. Die sollten raus.
Bewerten wir jetzt die Stups oder immer noch die EP's.
aeh ?
Manchmal frag ich mich, ob Magier nicht Zwangs-Zweities haben sollten, um mal
zu sehen, was im Mud mit den Gilden so abgeht. 

Guybrush, schuettelt den Kopf.

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



Re^4: KRITIK! (Boing, 27. Mai 1996, 14:30:14):
~#! rn=Guybrush rt=832961155
~#! tid=832931401
Ich denke, dass EP-Schranken generell rausgenommen werden sollten, also
z.b. die 100 millionen fuer den 8. Dan oder auch die EP-Abhaengigkeit im
SMS (die dann durch was anderes ersetzt werden muesste, Stufenpunkte?)
  Boing

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



Re^5: KRITIK! (Nichts, 28. Mai 1996, 16:02:57):
~#! rn=Boing rt=833200214
~#! tid=832931401

Tut mir leid, ich finde es nach wie vor zum Kotzen.
EPs in Anforderungen ist wirklich genau _das_, warum die
Umstellung ueberhaupt angefangen, durchgedacht und vollzogen
wurde.
Weil die naemlich zu Scripts verleiten.

Naja, und jetzt soll mir doch bitte einer erklaeren, wie man als
Altseher bitteschoen die 4000 StuPs hervorzaubern soll.

Fuehlt sich geprellt, 
""


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



Re^6: KRITIK! (Rochus, 28. Mai 1996, 16:25:50):
~#! rn=Nichts rt=833292177
~#! tid=832931401
Die EP-Anforderung ist jetzt weg.
Die Stufenanforderung wird mindestens so BLEIBEN.

  Rochus

PS: Dir fehlen nur 400 StuPs, nicht 4000.

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



Re^7: KRITIK! (Jimdigriz, 28. Mai 1996, 17:40:29):
~#! rn=Rochus rt=833293550
~#! tid=832931401
Hi Rochus,

erstmal, super dass die 100MEP anforderung weg ist.
So wird es einigermasen fair. Stufe 40 find ich auch ok.
Aus deinen bisherigen Artikeln schliesse ich aber, dass
du durchaus in Erwaegung ziehst die Stufenanforderung noch nach oben zu 
schrauben. Da langfristig die FPs und Quests mehr werden ist das 
sicher sinnvoll. Fuer doofe Spieler wie mich, die halt a bisserl 
laenger brauchen waere so eine Anhebung allerdings kritisch.
(Ja stimmt ich bin egoistisch und ein jammerlappen)

Jedenfalls hab ich einen Vorschlag:
 Man koennte die Anforderung doch auch so dynamisch gestalten
wie die AP anforderung fuer Seher. Naemlich dass die erforderliche Menge
fuer jeden Spieler feststeht und meinetwegen mit dem Eintritt in 
die Karategilde festgelegt wird.

Any comments ?

 Ciao,
 Jim diGriz, schoen langsam Opa-Karateka

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



Top-Liste (Rimus, 28. Mai 1996, 19:37:16):
Bim Lesen der Top-Liste habe mit Entsetzen festgestellt, dass 4 Chaoten an der
Spitze sind. Die einzige Reaktion darauf kann nur sein, die Chaosgilde
abzuwerten, oder die Karategilde stark aufzuwerten.
Ich persoenlich bin fuer beides.

RIMUS !


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



Re: Top-Liste (Dhojakt, 28. Mai 1996, 20:09:44):
~#! rn=Rimus rt=833305036
~#! tid=833305036
Nee, dadurch, dass die nicht so viele (sinnlose?) Spells zu ueben haben,
koennen die mehr Zeit ins Anschauen der Gegend investieren. Und Bierschuettler
sowie Kleriker gibts ja noch nicht so lange.

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



Re: Top-Liste (Valarian, 29. Mai 1996, 00:43:00):
~#! rn=Rimus rt=833305036
~#! tid=833305036
Also dazu brauch man ja jetzt nix sagen, oder ?! 
Gildenfertigekeiten sind zum groessten Teil zum Metzeln da und das ist ja wohl
extrem abgewertet worden. Wenn jetzt die Chaoten besser in der Liste sind,
dann sind wohl auch die Chaotenspieler bessere Froscher ;-)

Gruss Val (foerdert den Gildenkrieg ;-))

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



Re: Re: Top-Liste (Predator, 29. Mai 1996, 13:02:33):
~#! rn=Valarian rt=833323380
~#! tid=833305036
Gildenkrieg schoen und gut, aber wer sollte uns Chaoten schlagen, Val ??
Predator - ueberheblich

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



Re^3: Top-Liste (Raffi, 29. Mai 1996, 13:03:46):
~#! rn=Predator rt=833367753
~#! tid=833305036

Die Bierschuettler ?

Raffi - Selbstbewust :)

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



Re^4: Top-Liste (Oetti, 29. Mai 1996, 13:04:23):
~#! rn=Raffi rt=833367826
~#! tid=833305036

Die Magier, latuernich !

Oetti - Panne !

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



Re^3: Top-Liste (Asmodis, 29. Mai 1996, 13:04:54):
~#! rn=Predator rt=833367753
~#! tid=833305036
Die Zauberer natuerlich :)

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



Re^4: Top-Liste (Acrimon, 29. Mai 1996, 13:23:31):
~#! rn=Asmodis rt=833367894
~#! tid=833305036
Die Ritter natuerlich!

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



Re^5: Top-Liste (Rimus, 29. Mai 1996, 15:23:02):
~#! rn=Acrimon rt=833369011
~#! tid=833305036
Schon das Levelsystem bei karate ist ungerecht.
Man bekommt ja dafuer Stufenpunkte, aber unsere Gilde hat VIEL mehr Level.
Dadurch ist es erschwert, diese Stufenpunkte zu bekommen.
Als Beispiel: Um von dem 1.Kyu auf den 1.Dan zu kommen muss man 52 Stunden
Online-zeit
haben. In der Zeit kann man in anderen Gilden schon x Level aufsteigen.
Da muesste es ein Bonus fuer die Gilden mit viel Level geben.

Rimus.

P.S. PK waere gut


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



Re^6: Top-Liste (Predator, 29. Mai 1996, 19:04:42):
~#! rn=Rimus rt=833376182
~#! tid=833305036
tja, und warum hat dann noch kein chaot 100% ??? 

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



Re^3: Top-Liste (Feuerwehr, 30. Mai 1996, 21:00:05):
~#! rn=Predator rt=833367753
~#! tid=833305036
Die Abenteurer natuerlich. Toete du erst mal Zatongs, maechtiger Pred :)

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



Re^6: Top-Liste (Jariel,  1. Jun 1996, 13:14:52):
~#! rn=Rimus rt=833376182
~#! tid=833305036
Hi!

Abgesehen davon, das Rimus recht hat, ist das Beispiel etwas unguenstig
gewaehlt. Denn in der Karate-Gilde ist der Gildenaufstieg so gut durch-
dacht, dass man ohne Probleme 52 Onlinestunden braucht um ueberhaupt den
3.Kyu zu erreichen. Hier sollte wohl ein *** Ironie off *** kommen :)

Ich weiss zwar nicht wie es in anderen Gilden so abgeht, aber ich kann mir
gut vorstellen, das die Karateka in vieler Hinsicht benachteiligt sind.
Besonders die Nicht-Seher. Der Gildenaufstieg dauert ewig, und wenn man
dann noch StuPse bekommen will (durch FP's) dann ist man ja voellig am A****.
Lange Rede kurzer Sinn. Ich geh wieder trainieren fuer den 3.Kyu.


Jariel (wollt' auch mal was sagen)

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



Top-Liste (Jariel,  1. Jun 1996, 22:02:07):
HiHo!

Koennte man vielleicht mal die Top-Liste ueberarbeiten? Ich weiss zwar
nicht, wieviele Spieler noch aktive Karatekas sind, aber von einigen
weiss ich, dass sie die Gilde gewechselt haben. Daher finde ich es unnoetig
sie weiter in der Liste aufzufuehren.

Danke

Jariel.

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



Kanal (Jariel,  1. Jun 1996, 22:18:56):
Und nochmal HiHo!

Mir ist eben aufgefallen, dass die automatische r-l Vertauschung im
Karate-Kanal nicht mehr vorhanden ist. Das ist doch nicht Euer ernst,
uns unser liebes Markenzeichen zu nehmen. :-/

Jariel entaeuscht.

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



Re^6: KRITIK! (Boing,  2. Jun 1996, 23:08:49):
~#! rn=Nichts rt=833292177
~#! tid=832931401
Aeh ... hast Du meinen Artikel eigentlich gelesen?
  Boing

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



Re^7: Top-Liste (Jasper,  3. Jun 1996, 09:10:26):
~#! rn=Jariel rt=833627692
~#! tid=833305036

Stellt Euch doch nicht so weicheierhaft an !!!



Jerrico

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



Re^8: Top-Liste (Raffi,  3. Jun 1996, 13:48:33):
~#! rn=Jasper rt=833785826
~#! tid=833305036


   Karatekas == Weicheier ?

Gruss
H.

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



Re: Re: Top-Liste (Snuggle,  7. Jun 1996, 10:47:09):
~#! rn=Valarian rt=833323380
~#! tid=833305036
nene Valarian, die besten Froscher sind die Zauberer:-)

Snuggle
P.S. kommt doch, wenn Ihr Euch traut :-)

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



Gildenemblem/ -wappen/ -zeichen/ -blabla (Anakin, 13. Jun 1996, 10:22:33):
Fuer alle die zum Morgengrauensommercamp kommen wollen, 
wie waere es wenn die EURE Gilde auch durch einen
Wimpel/Fahne vertreten ist. Wir haben da so klasse
Fahnenstangen auf dem Zeltplatz. Das was die anderen
Gilden schaffen packt ihr Karateka doch wohl auch.
All die neumodischen Gilden bringen sowas mit und ihr nicht?
Die aelteste Gilde (ausser diese pseudo-Abenteurer) sollte
schon was machen.
Also: Schreibt was zu der Idee ob ihr sowas machen wollt,
ob sich einer findet sowas zu entwerfen und zu realisieren.
Wenn mehrere Leute mit sowas ankommen, wird der Beste
gewinnen.
Wegen der Groesse Hate oder mich fragen.

Anakin - MGSC '96

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



Ist es moeglich? (Mango, 19. Jun 1996, 18:30:48):

  den Schaetzspruch der Karateka auch auf Karatemonster so zu machen wie er
bei Nichtkaratemonster ist?


Mango, dankbar im vorraus.



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



und noch etwas... (Mango, 19. Jun 1996, 18:36:51):

es wuerde mich interessieren wieviele LP's ein Monster im Kampf bezueglich
meiner hat also das da nicht immer beim Schaetz die MAX_HP zum schaetzen
genommen werden? Ist das moeglich?


Mango, will mal wieder was.



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



Uebungs Ausruestung (Gordo, 17. Aug 1996, 21:34:40):
Wie waer es mit einer Uebungs Ausruestung fuer Karatekas,damit meine ich sowas
wie Boxhandschuhe und Beinschuetzer die die Schlaege wirkungslos machen oder
sehr schwach.
Man koennte dann auch mit schwaecheren Spieler Schlaege ueben die viel ziehen
und man muesste keine LPs mehr tanken nur noch MPs.Realistisch waers auch,denn
erstens schlagen Karatekas beim ueben sicher nicht mit voller kraft zu und
benutzen Schutzausruestung.

Naja war nur mal so ne Idee,mich wuerde interessieren was andere dazu meinen. 

Gordo der Karateka

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



Re: Uebungs Ausruestung (Tanis, 17. Aug 1996, 21:36:22):
~#! rn=Gordo rt=840310480
~#! tid=840310480
wie waers mit dem Theatermesser oder wie das heisst?

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



Re: Re: Uebungs Ausruestung (Gordo, 17. Aug 1996, 22:06:41):
~#! rn=Tanis rt=840310582
~#! tid=840310480
Ja aber mit dem Theatermesser kann man ja keine Schlaege ueben.
Das kann man nur zum Abwehr ueben gebrauchen.


Gordo der Karateka

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



Re^3: Uebungs Ausruestung (Jariel, 17. Aug 1996, 22:49:47):
~#! rn=Gordo rt=840312401
~#! tid=840310480
  Tja, aber was machen, wenn mann kein Seher ist? Es nervt tierisch staendig
einen Seher zu bitten einem das Messer Marke Samthandschuh zu besorgen.
Mal ganz davon abgesehen, dass die Seher das auf die Dauer auch nervt.

Desweiteren moechte ich sagen, dass ich die Idee nicht schlecht finde, zumal
ich auch schon des oefteren im Dojo gestorben bin, weil mir ruck zuck 100 LP's
fehlten. *zwinker Crolla zu*.


Dann koennte man auch gleich den Gedanken wieder aufgreifen, mehrere
Trainigsraeume zu proggen, in die halt immer nur zwei koennen. ....
(Vielleicht mit 
Garderobe am Eingang? ;-)  )

Also was ich eigentlich sagen wollte, JA bitte,bitte,bitttttte!!!!!

Jariel (hat seine Abwehr schon fast auf 100% .....
       und will auch mal auf nen 9. Kyu einhauen :)

PS: Ich bin ja mal gespannt, was die Magier dazu zusagen haben.

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



Re^4: Uebungs Ausruestung (Gordo, 17. Aug 1996, 23:03:40):
~#! rn=Jariel rt=840314987
~#! tid=840310480
Ja Garderobe ist ne gute Idee.Man koennte dort ja ein Schliessfach machen wo
man sein Zeugs deponieren kann waehrend dem ueben:)

Gordo der Karateka

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



Re^5: Uebungs Ausruestung (Jariel, 18. Aug 1996, 00:33:33):
~#! rn=Gordo rt=840315820
~#! tid=840310480
  Vielleicht bekommt jeder karateka, wenn er der Gilde beitritt, solch
ausruestung, die er pflegen und gut behandeln muss. (+ Schrank, wo sein Zeuch
drinhaengt, naja das ist natuerlich auch nicht rebootfet,klar, aber waere doch
ne nette Sache!) Und wenn jemand aus der Gilde austritt muss er alles
Feinsaeuberlich beim Sensei abgeben. Wenn nich, hm, gibs was auf die Muetze :)

Tja, so langsam freunde ich mich mit der Idde immer mehr an. Mal sehen, was
Montag der Rest der Mudder dazu zusagen hat.

Jariel ()

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



Re^4: Uebungs Ausruestung (Ulo, 18. Aug 1996, 10:49:50):
~#! rn=Jariel rt=840314987
~#! tid=840310480
Extrauebungsraeume fuer 2 Leute sind in Arbeit.
Ulo.

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



Re^5: Uebungs Ausruestung (Jariel, 18. Aug 1996, 13:37:43):
~#! rn=Ulo rt=840358190
~#! tid=840310480
  Juchee, endlich!

Riesenmegaultarsahnedickmannknuddler fuer Dich Ulo!!!!

Jariel (freut sich schon wieder aufs Training!)


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



Re^4: Uebungs Ausruestung (Fyt, 18. Aug 1996, 23:06:44):
~#! rn=Jariel rt=840314987
~#! tid=840310480

Hm, also ich weiss nicht, zu der Zeit, als ich Karate geuebt hab, gab's
alle zwei, drei Wochen ne neue 'Entdeckung' zum Thema 'effektives Ueben'.
Seit dem ist das MG um einiges gewachsen, ich glaub nicht, dass das die
Moeglichkeiten einschraenkt...

Fyt, Karateka im Ruhestand.


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



Re^6: Uebungs Ausruestung (Ulo, 19. Aug 1996, 17:13:31):
~#! rn=Jariel rt=840368263
~#! tid=840310480
So!

Die neuen Uebungskammern sind da! Man kann die vom Durchgang zwischen
Dojo und Shinto aus betreten. In den Kammern ist wie im Shinto keine
Gefahr von Playerkill beim (versehentlichen) Toeten des Partners.
In die Kammern koennen jeweils nur zwei Leute reingehen.

Bei Fragen oder Problemen koennt Ihr Euch an mich oder Li wenden.

Ulo.

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



Re^7: Uebungs Ausruestung (Asmodis, 19. Aug 1996, 21:10:54):
~#! rn=Ulo rt=840467611
~#! tid=840310480
Klasse Ulo, sowas hat schon lange gefehlt, endlich nervt mal kein anderer :)

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



GO (Jariel, 20. Aug 1996, 02:00:49):
HiHo Ulo!

Erstmal Glueckwunsch zu den neuen Trainigsraeumen! Wirklich super!
Nun zu ner anderen Sache. Thema GO!
Ich habe soeben mit Yamada gespielt und wieder gewonnen. Soweit so gut. Nun
trage ich aber 2 Stirnbaender in meinem Inventar. ~r
Das ist natuerlich etwas daemlich, denn wenn ich grade mal Bock auf Go habe
und ein paar Spiele gegen Yamada spiele (es findet sich ja nich immer ein
Gegner) dann trage ich nacher (vorausgesetzt ich gewinne) 1000de Stirnbaender
it mir rum. 
Gut nach 7 Onlintagen loesen sie sich auf (hoffe ich) aber kann man das Band
nicht so umschreiben, dass ich nur noch eines im Inv trage und sich dort die
Zeit der mitgliedschaft automatisch aendert?

Holla ist es schon wieder spaet. ich glaub ich geh gleich schlafen.

Du kannst mir ja mal Deine Meinung dazu schreiben.

Jariel (sagt schonmal Danke im voraus.)

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



Re: GO (Asmodis, 20. Aug 1996, 02:03:28):
~#! rn=Jariel rt=840499249
~#! tid=840499249
Hmm, eine bugmeldung bei yamada haette es auch getan, deshalb
muss man nicht gleich ein Artikel in der Zeitung schreiben,

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



Re: Re: GO (Jariel, 20. Aug 1996, 15:08:14):
~#! rn=Asmodis rt=840499408
~#! tid=840499249
  ups.

Jariel erroetet.

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



Shinto ist gefaehrlich! (Ulo,  4. Okt 1996, 15:25:38):

Bis auf weiterer gilt:

DAS SHINTO UND DIE TRAININGSKAMMERN SIND RECHTSFREIER RAUM

Details stehen in 'polizei.beschwerden'.

Ulo.

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



9. dan fuer spieler? (Fyt, 26. Okt 1996, 12:35:13):
Wie kommt es eigentlich, dass Nixi nen 9. Dan mit 43% in der Karategilde hat
und damit auf Platz 1 der Topliste steht?

Fyt.

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



Re: 9. dan fuer spieler? (Jimdigriz, 27. Okt 1996, 13:43:26):
~#! rn=Fyt rt=846326113
~#! tid=846326113
Moin,

also ich hab Nixi mal danach gefragt, und es scheint eher
ein Bug der Topliste zu sein.
Nixi hat 8. Dan und 100%, wenn man ihn fingert ist da 
auch GildenLevel 17, nicht 18.
Warum die Topliste bugt (in der auch noch einige Magierzweities 
stehen) sollte man wohl Rochus fragen.

Senf, JimDiGriz

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



Re: Re: 9. dan fuer spieler? (Fyt, 27. Okt 1996, 19:55:23):
~#! rn=Jimdigriz rt=846420206
~#! tid=846326113

Oh, ich hab Rochus ne Mail geschickt, so ist das nicht...
Ich habe aber (zugegebenermassen in nem anderen Mud) gelernt, dass es
nicht besonders viel bringt, sich darauf zu verlassen, dass ein Erzie
irgendwann mal was tut...

Fyt.

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



Re^3: 9. dan fuer spieler? (Nixihou, 28. Okt 1996, 11:14:05):
~#! rn=Fyt rt=846442523
~#! tid=846326113
hi,
also das mit dem 9. dan fuer nixi ist schon so lange da.... inzwischen 
ist es fast tradition *grins*

nixi

ps. aber ich bin wirklich nur dan 8 mit 100% *kicher*


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



Re^4: 9. dan fuer spieler? (Jasper, 28. Okt 1996, 11:15:27):
~#! rn=Nixihou rt=846497645
~#! tid=846326113
ich will mal hoffen dass jerrico auch in der liste bleibt

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



Re^5: 9. dan fuer spieler? (Methedras, 28. Okt 1996, 13:48:13):
~#! rn=Jasper rt=846497727
~#! tid=846326113
Haben wir dieselbe Diskussion nicht grade in gilde.zauberer,
wo Lefty auch nicht mehr Erzmagister ist als Magier2tie?

Ich wuerde sagen, es muss und soll der Auffassung des Gildenchefs
ueberlasse bleiben, ob er Magier2ties, die sich hoffentlich und wohl
ohne fremde und eigene Hilfe (*grins* Es gibt ja sogar auch Faelle
von extremer Magierhilfe geruechteweise fuer Nicht-Magierzweities)
hochgearbeitet haben in intensivem Training.

                 Methedras

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



Re^6: 9. dan fuer spieler? (Grimmborn, 28. Okt 1996, 21:09:58):
~#! rn=Methedras rt=846506893
~#! tid=846326113

Also, das find ich aber nicht gut, dass Du so in aller Oeffentlichkeit die
Essener (das ist jetzt als Artbegriff und nicht geographisch gemeint)
blossstellst. Nee Du, das macht mich irgendwie total betroffen. Denn die
versuchen doch immer so schoen, ihre extreme Magierhilfe zu verstecken...

Grimmborn der Atheist


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



Questen statt ueben (Slyfox, 11. Dez 1996, 16:56:21):
Als Zardoz die Kaempfergilde eingefuehrt hatte, bei der man hauptsaechlich
durch Questen aufsteigt, und weniger durch langweiliges ueben, liess sich
auch Silvana davon ueberzeugen, dass dies so besser ist und hat bei sich
Gildenquests eingefuehrt.
Ich denke, dies waer in der Karategilde sehr angebracht, wenn ich dran
denke, wieviele Wochen an Online-Zeit man dafuer braucht beim Ueben, um
alles perfekt zu koennen (und dann gibt's noch diese ewige Wartezeit, die
man verbringen muss, um eine Stufe weiter aufsteigen zu koennen, die ich
auch nicht ganz verstehe, wozu die gut sein soll. Vielleicht, damit Scripter
nicht so schnell aufsteigen koennen?).
Ich gebe zu, dass ich beim Ueben auch gescriptet hatte, damals war es auch
noch erlaubt, und die ganze Scripterei hat ja auch mit Eroeffnung der
Karategilde angefangen, was da zum Ueben auch echt ideal ist.
Ich wusste damals noch gar nicht, dass es TF gibt, mit dem man Auto-Scripte
laufen lassen kann, und wunderte mich, wie Ryne und Bloodgore die ganze Zeit 
bloed durch die Gegend rumrannten, bis ich hoerte, dass die nur ein
Uebe-Script laufen hatten.
Und ich denke dran, wenn man MIT Script und vollen Stats schon so ewig lang
ueben muss, wie aetzend und langweilig muss es dann bei den Spielern sein, die
jetzt ohne Script wochenlang ueben muessen, (oder sie riskieren es, beim
Scripten erwischt zu werden).
Ich glaube, da waere es schon schoener, wenn man lieber paar Quests loest,
anstatt zu ueben, ueben, und ueben.

Ich hoffe, Rochus laesst sich das mal durch den Kopf gehen.

  Slyfox

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



Re: Questen statt ueben (Yantro, 12. Dez 1996, 08:41:04):
~#! rn=Slyfox rt=850319781
~#! tid=850319781
Ich muss Slyfox mal rechtgeben.... questen in einer Gilde ist nett und sollten
alle Gilden haben... ausserdem find ich stark, wie die Kaempfer mit den
verschiedensten Waffen umgehen koennen und wie Zauberer die Magie
beherrschen... Rochus, koenntest du dir nicht ueberlegen, dass auch
einzufuehren?... 

An effektivsten waere es sicher, wenn die std/gilde einfach die Kaempfer und
die Zauberer ganz mit beinhaltet.... ach ja... Hochzeiten zelebrieren ist
spassig... sollten Karatekas auch koennen... hmm was haetten wir denn noch?
Ach ja... das Bierschuettler billiger tanken koennen, ist eine nette Idee und
ich denke, dass sollte auch noch rein..... blablabla

Wann schnallen hier endlich einige Leute, dass der zweck der Gilden ist, dass
sie sich UNTERSCHEIDEN??? 

Rochus, lass Deine Gilde einfach so, wie sie ist... ich find sie ok und wem
das nicht gefaellt, der kann ja was anderes machen, zB ins PKMud gehen, nae,
Sly?

Yantro

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



Re: Re: Questen statt ueben (Raffi, 12. Dez 1996, 18:21:41):
~#! rn=Yantro rt=850376464
~#! tid=850319781

> zB ins PKMud gehen,

Weiss nicht ob der da soviel Glueck haben wird .... im moment sind alle Gilden
abgehaengt :)

Gruss
H.

P.S.: Aender blos nix an den Karateka,Rochus, das perverse Dauerueben ist ja
gerade der Kern der Gilde :)

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



Re: Re: Questen statt ueben (Tanis, 13. Dez 1996, 22:01:02):
~#! rn=Yantro rt=850376464
~#! tid=850319781
schreiben kannst du ja ganz schoen, yantro, aber hast du schon mal versucht
nen karateka selbst hoch zu spiele? scheinbar nicht, denn dann wuestest du,
das slyfox recht hat, mit dem was er schreibt.

Tanis

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



Re^3: Questen statt ueben (Mysterious, 14. Dez 1996, 00:00:19):
~#! rn=Tanis rt=850510862
~#! tid=850319781
halloele...
also ich faende so fernwest-bezogene quests gar nicht mal so schlecht..
die passen dann ganz schick in die atmosphaere der gilde....
z.B. die quests lan wun's tasche und schriftrolle des konfusius, um in eine
bestimmte stufe aufzusteigen...
sodel...duiiiiii

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



Re^4: Questen statt ueben (Jasper, 14. Dez 1996, 08:32:59):
~#! rn=Mysterious rt=850518019
~#! tid=850319781
achwas quests, das gehoert nicht in die gilde.
wer mit dem 8.dan rumlaufen will der soll hat 30online tage scr^H^H^Hueben,
wie das imma schon so war, und wers halt nicht will der geht in eine
der bluemchen-pfluecker-gilden :)

Aender ja nix, sonst tritt mein testie aus der gilde aus *droh*

Chaoshobbit

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



Re^4: Questen statt ueben (Ulo, 14. Dez 1996, 19:30:45):
~#! rn=Mysterious rt=850518019
~#! tid=850319781
Du sprichst mir aus dem Herzen, mehr fernwestbezogene Quests.....jaaa,
das waere schoen. Jetzt stellen wir nur noch fest, wer sie schreiben soll.
Das ist naemlich leider das zentrale Problem. Ich werd dafuer wohl so schnell
keine Zeit haben. (Geplanter Fertigstellungstermin fuer meine naechste
Quest: Weihnachten 1997). Aber vielleicht fuehlt sich ja an anderer Magier
angesprochen.....

Ulo.

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



Re^5: Questen statt ueben (Jariel, 15. Dez 1996, 17:03:04):
~#! rn=Ulo rt=850588245
~#! tid=850319781

Ich denke, dass ich mittlerweile zu den Karatekan gehoere, die sich 
daruebe ein Urteil erlauben koennen, ob es besser waere solche Quests
einzufuehren oder nicht. (Nach 50-Online-Tagen Training kein Wunder)

Und ich bin fuer solche Miniquests.

Jariel (ist immernoch kein Seher).

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



Re^3: Questen statt ueben (Rochus, 16. Dez 1996, 16:05:47):
~#! rn=Tanis rt=850510862
~#! tid=850319781
Erschaffe ein schwarzes Loch neben der Erde, so dass die Zeit
auf 72 Stunden/Tag gedehnt wird und ich schreibe einige Miniqests
und werde vielleicht noch nebenbei mit anderen Dingen fertig.

  Rochus

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



Re^4: Questen statt ueben (Grimmborn, 16. Dez 1996, 17:27:21):
~#! rn=Rochus rt=850748747
~#! tid=850319781
Ich erlaube mir anzumerken, dass Du, nachdem ich das schwarze Loch erschaffen
habe, ganz andere Probleme als Miniquesten oder Detailbeschreibungen hast.
Denn wenn es gross genug ist um was zu bewirken verarbeitet Dich die
Gezeitenkraft zu einer Spaghetti...

Aber Kopf hoch, wenn die Masse des Weltraums rund viermal hoener ist als man
momentan annimmt leben wir die ganze Zeit in einem schwarzen Loch. Und
vielleicht ist das auch gut so, denn sonst haette der Tag vielleicht nur 3
Stunden, und die reichen ja nichtmal zum schlafen...

Grimmborn der Atheist


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



Re^6: Questen statt ueben (Fyt, 17. Dez 1996, 00:32:00):
~#! rn=Jariel rt=850665784
~#! tid=850319781

Ich bin dagegen. Karate lernen ist scripten ohne sich erwischen lassen,
oder Handgelenke ruinieren oder beides. Das war schon immer so, das war
schon immer Sinn der Gilde, und es gibt keinen Grund, das zu aendern.

Fyt, sich fragend, welcher seiner Bekannten sich noch an seine zuletzt
geloeste Quest erinnern kann.

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



Re^4: Questen statt ueben (Methedras, 17. Dez 1996, 19:13:07):
~#! rn=Rochus rt=850748747
~#! tid=850319781
Huch, bei 'nem schwarzen Loch neben der Erde dehnt sich die Zeit?
Ich dachte, nur die Zeit relativ von einem anderen Blickpunkt weiter
entfernt vom schwarzen Loch liefe schneller ab als die Zeit naeher
am schwarzen Loch. Ach so, ja, hm, die Sonne ist ja dann weiter vom
schwarzen Loch entfernt und damit laeuft die Zeit... nee, da denk
ich lieber zuhause drueber nach. :) Und ohne Licht schreibts sichs
ja sowieso recht schlecht, so 'ne Quest.

  Caradhras - muss mal wieder nach der Formel der Zeitdilatation
              wuehlen

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



Re^5: Questen statt ueben (Kretek, 18. Dez 1996, 11:19:05):
~#! rn=Methedras rt=850846387 rg=gilden.karate
~#! tid=850319781
Muell nicht rum, Caradingenskirchen! :-)

K.

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



Funakoshi (Gordo, 26. Dez 1996, 23:35:30):

Wie waers wenn Funakoshi auch auf dem Karate Kanal was sagen wuerde,
da ist sonst immer so ruhig;).z.B.wenn jemand eine pruefung ablegt oder in die
Gilde ein- oder austritt
Achja auf die fragen "karate" und "gilde" sollte er meiner meinung schon ne
Antwort wissen;).

G.

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



schaetz (Khidar,  8. Feb 1997, 01:52:09):
Koennte mal der schaetz-spruch noch ne staerkenangabe enthalten, wenn das ziel
karate kann. da steht naemlich dann nix.
Danke, Khidar.

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



Re: schaetz (Nichts,  8. Feb 1997, 02:32:58):
~#! rn=Khidar rt=855363129 rg=gilden.karate
~#! tid=855363129

Ja, und leider scheint sich der Schaetz-Spruch an den maximalen 
Lebenspunkten zu orientieren... spricht etwas dagegen, das auf die 
aktuellen Lebenspunkte abzuaendern? Waer passender - und geschickter ;-)

""


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



Re: Re: schaetz (Mysterious, 10. Feb 1997, 10:01:36):
~#! rn=Nichts rt=855365578 rg=gilden.karate
~#! tid=855363129
hoi..
naja, der schaetz-spruch sagt doch, inwiegut dein gegner ungefaehr karate
kann..
bei nem ork-karateka sagte er mir, dass wir in etwa gleich gut karate
koennen...
nach fuenf runden nahm ich die beine in die hand und suchte das weite ;-)

sodele...duiiiiiiiiii

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



Funakoshis Redefreude (Mysterious, 11. Apr 1997, 14:58:06):
moin....
ich weiss nich, ob so ne diskussion schonmal gefuehrt wurde, aber trotzdem:
ich finde, funakoshi koennte ruhig etwas redsamer werden...
z.B.:
er koennte posten, wenn ein spieler eine neue gildenstufe erreicht hat (das is
ja nich allzuhaeufig 8))
dann koennte er vielleicht noch sagen, wenn er die top-liste aktualisiert
hat..
er koennte natuerlich auch noch, wenn ein spieler der gilde beigetreten ist,
die mithoerer des kanals informieren...
das sind so die sachen, die mir jetzte einfallen....ich faends ganz nett..

sagt, was ihr davon haltet und dann koennen wir ja vielleicht rochus ins ohr
huepfen und ihn dann mit sehr gelungenen ytgk's bearbeiten ;)

sodele...sich hoeflich verneigend...myst*

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



Re: Funakoshis Redefreude (Tunixgut, 14. Apr 1997, 07:38:15):
~#! rn=Mysterious rt=860763486 rg=gilden.karate
~#! tid=860763486
Da ich ja generell erschtemal alles in Frage stelle, was so'n stinkender
Dreckself von sich gibt, will ich auch gleich dazu meinen Senf dazuseiern...

Also, zunaechst einmal: Was kuemmert's mich, ob jemand in die Gilde eintritt
oder aufsteigt, das geht mir doch meilenweit am Ar&%$ vorbei!!!
Und ob ich nun diesen oder jenen in der Top-Liste ueberholt habe is mir auch
scheissegal!!!
(Dich kriege ich eh nicht mehr ein...)

Weissu, Mysti, es mag Gilden geben, da isses ganz vanuenftich, zu hoeren, wer
neu aufgenommen wird, ich denke da an die Bet-Brueder, aba nur, weil da alle
halbe Jahre eina aufgenommen wird, bei uns huepfen sie alle herein und
pruegeln sich trotzdem mit Ihre Schwerta weiter und wundan sich, warum sie
nicht aufsteigen... Wenn ich jedesmal 'ne Meldung bekomme, wenn wieda so eina
hier eintritt, dann nervt mich das eher, als es mich interessiert...

TuNixGut - mag Funa genau so, wie er ist... (Und traut sich eh nicht, Rochus
zu bearbeiten ;o) )

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



Re: Re: Funakoshis Redefreude (Mysterious, 14. Apr 1997, 14:47:49):
~#! rn=Tunixgut rt=860996295 rg=gilden.karate
~#! tid=860763486
halloele...
so du schmuddeliger, goldgeiler stinke-zwerg, hier mal meine antwort ;)

ich finde, dass es was 'gruppendynamisches' hat, wenn man mitbekommt, dass
wieder einer mehr (zum loben) oder weniger (zum dissen) unserer elenden
scripter-gilde beigetreten iss 8)..ich finde, das schafft einen groesseren
zusammenhalt, naehe zum volk *schwafel*......

das mit der top-liste: inzwischen will ich auch nich sehen, wer noch vor mir
is und wer nich...es geht darum, dass ich bei best. prozenten etwas bestimmtes
tun moechte (z.b. leveln)...und da waer es ganz nett, wenn ich wuesste, ob ich
soweit bin, wie mein gestecktes ziel war oder ob ich noch soundsoviel stunden
warten muss, bis die top-liste aktualisiert wurde....

sodele...
duiiiiiiiiii

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



Re^3: Funakoshis Redefreude (Tunixgut, 14. Apr 1997, 15:08:53):
~#! rn=Mysterious rt=861022069 rg=gilden.karate
~#! tid=860763486
Also, stinkender Lanzen-Traeger,

zunaechst einmal wollte ich schon mit dem letzten Artikel ruebergebracht
haben, dass es gerade in unserer Gilde gar nix aussagt, wenn jemand neu
eintritt, mein Schnuckelchen ist gemeinsam mit mir eingetreten und immer noch
Anfaengerin, ich glaube, die hat keine 5 Schlaege gemacht und greift auch des
weiteren nur mit Waffen an!!! Vielleicht kann man melden, wenn jemand Level 3
geschafft hat, dann weiss man, dass selbige Person ein ECHTES Mitglied der
Gilde is!!!

Im uebrigen: Naehe zum Volk??? Naehe zu pissigen Elfen - nein danke! ;o)))

Ausserdem bin ich ein klitzekleines bisken geneigt, Dir in der
Top-Listen-Frage recht zu geben, aba bild Dir da bloss nix drauf ein. Die
Tatsache, das Dir ein Zwerg ein klitzekleines bisken Recht geben will, aendert
nix an der Tatsache, dass Du als Elf ohnehin nur Mist von Dir gibst!!!!
(*Stichel*)

TuNixGut - ZWERCH! - Karate-Zwerch - leider erst bei 20%!

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



friede (Widewitt, 16. Apr 1997, 13:26:20):
Tach ihr beiden !!
Ich als hobbit finds irgendwie nich ok das ihr euch dauernd streitet, was
haben elfen un zwerge nur gegeneinander?! ;)

Und ausserdem find ich es ne unterstellung, das alle anfaenger sich weiterhin
mit waffen rumschlagen, ich hab bis jetzt noch nie ( naja fast nie) ne waffe
gezueckt.


gezeicnet, ein begeisterter karateka

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



Re: friede (Tunixgut, 16. Apr 1997, 13:28:52):
~#! rn=Widewitt rt=861189980 rg=gilden.karate
~#! tid=861189980
Was Zwerge und Elfen gegeneinander haben???
ELFEN STINKEN! (*kicher*)

Im uebrigen will ich das mit den Waffen nicht verallgemeinern, es machen aba
VIELE, wenn nicht die meisten so!!!

TuNixGut - ebenfalls hochbegeisterter Karateka!

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



Re: Re: friede (Tzuiop, 16. Apr 1997, 13:37:07):
~#! rn=Tunixgut rt=861190132 rg=gilden.karate
~#! tid=861189980
Elfen stinken ? Das ist nur die Scheisse, die Dir in der Nase klebt !
Was kriecht ihr auch immer im Dreck rum ...

Tzuiop

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



Re^3: friede (Luigi, 16. Apr 1997, 13:39:12):
~#! rn=Tzuiop rt=861190627 rg=gilden.karate
~#! tid=861189980
Doch: Elfen stinken !
Aber : Zwerge sind doof und stinken !

Aber das ist doch alles laengst bekannt ;))


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



Re^3: friede (Tunixgut, 16. Apr 1997, 13:44:20):
~#! rn=Tzuiop rt=861190627 rg=gilden.karate
~#! tid=861189980
Neeeee, Tzui-Schnuckelchen, wir zwerge buddeln zwar, aber die kriecher, dat
war'n die Kaempfer! ;o)))

TuNixGut - Karate-Zwerch!

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



Re^4: friede (Gnome, 16. Apr 1997, 14:52:09):
~#! rn=Tunixgut rt=861191060 rg=gilden.karate
~#! tid=861189980
also nee, tunixgut...
nochmal so eine beleidigung und ich fuehle mich verpflichtet, dich in der
arena zurechtzuweisen...   M:-(

gnOme, der kampfzwerg 

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



Re: friede (Alpha, 16. Apr 1997, 21:11:28):
~#! rn=Widewitt rt=861189980 rg=gilden.karate
~#! tid=861189980
Elfen haben wenigstens guten Sex nen paar Mal am Tag. Zwerge? Wie denn? Zwerge
halt.
Alpha ist gluecklich.

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



Re: Re: friede (Anatol, 16. Apr 1997, 21:15:34):
~#! rn=Alpha rt=861217888 rg=gilden.karate
~#! tid=861189980

Zwerge haben auch Sex! Mehr als nur einmal jaehrlich, so heisst es zumindest.
Ihr Nachteil ist nur, dass sie immer erst danach wissen, ob sie sich nun
homo- oder bisexuell verhalten haben...

Anatol, Elf

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



Re: Re: friede (Jasper, 16. Apr 1997, 23:31:06):
~#! rn=Alpha rt=861217888 rg=gilden.karate
~#! tid=861189980
elfen sind schwul und haben spitze ohren.

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



Re^3: friede (Gnome, 17. Apr 1997, 01:50:44):
~#! rn=Jasper rt=861226266 rg=gilden.karate
~#! tid=861189980
ausserdem, man versuche sich vorzustellen: 2 elfen (je 2,20 m) versuchen
ihre insgesamt 8 Extremitaeten (mind 1,20 m) beim sex _koordiniert_ im
bette unterzubringen, gleichzeitig aber wild zu werden... ergebnis: ein
9,60 m langer Elfensalat und ein peinlicher anblick... *lach*

gnOme, ZWERG

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



Re^4: friede (Tunixgut, 17. Apr 1997, 07:40:47):
~#! rn=Gnome rt=861234644 rg=gilden.karate
~#! tid=861189980
Ey, Boah, ey, wer haette gedacht, was ich hier fuer ein schlafendes Monster
geweckt habe! (*kicher*)

Aber das mit den 8 Extremitaeten musst Du mir noch mal erklaeren, Gnome! Da
ich mit einer Elfe verlobt bin, interessiert mich das natuerlich BRENNEND!
(*GRINS*)

TuNixGut - auch Zwerg, aber in einer *anstaendigen* Gilde (*Stichel*)

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



Re^5: friede (Grimmborn, 17. Apr 1997, 10:05:01):
~#! rn=Tunixgut rt=861255647 rg=gilden.karate
~#! tid=861189980
Jeder Elf hat zwei Arme und zwei Beine, macht zusammen acht (bei zwei Elfen).
Wo ist das Problem?

Und Zwerge vermehren sich bekanntlich durch Bartosmose.

Grimmborn der Atheist. Im Grunde Zwerg.

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



Re^6: friede (Anatol, 17. Apr 1997, 10:07:25):
~#! rn=Grimmborn rt=861264301 rg=gilden.karate
~#! tid=861189980

Na, wenn Dir Bartosmose Spass macht...

Anatol. Elf. Nicht nur im Grunde.


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



Re^7: friede (Wargon, 17. Apr 1997, 11:12:59):
~#! rn=Anatol rt=861264445 rg=gilden.karate
~#! tid=861189980
BARTOSMOSE?
Ich dachte immer, die kleinen Zwerge werden von Papa Zwerg und Mama Zwerg in
einem geheimen Stollen aus dem Floez gemeisselt?
  Wargon
    (dessen Weltbild gerade zusammen gebrochen ist)

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



Re^8: friede (Tunixgut, 17. Apr 1997, 12:08:43):
~#! rn=Wargon rt=861268379 rg=gilden.karate
~#! tid=861189980
Mist, kann ich mich nicht mehr dran erinnern..... ;o))
Aber ich kenn ja nicht einmal Mama Zwerg und Papa Zwerg!

BTW: Was kommt eigentlich raus, wenn man Elfen und Zwerge kreuzt? behaarte
Riesen - Yetis? Von Baum zu Baum springende Wollknaeuel???

TuNixGut - ueberlegt sich, ob seine Verlobung mit einer Elfe eigentlich noch
zu verantworten is..

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



Re^3: friede (Alpha, 17. Apr 1997, 14:24:58):
~#! rn=Jasper rt=861226266 rg=gilden.karate
~#! tid=861189980
Elfen sind so spitz wie ihre Ohren und ueberhaupt eher selten schwul - dazu
gibt es viel zu viel gute weiblich Gelegenheiten die man nicht auslassen kann
ehe man sich Maennern zuwenden muss.
Die freie Natur ist sowiso der beste Platz um ....
Alpha, wartet auf den Sommer ;)

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



Re^4: friede (Lacrimosa, 17. Apr 1997, 14:27:00):
~#! rn=Alpha rt=861279898 rg=gilden.karate
~#! tid=861189980
um was ? auf den baeumen rumzuhuepfen ? wie einst tarzan einen schrei
ausstossen und DEN Elfenjane zu retten um dann mit Ihm gemeinsam beeren aus
einer hoelzernen schale zu essen.

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



Re^4: friede (Tunixgut, 17. Apr 1997, 14:30:23):
~#! rn=Alpha rt=861279898 rg=gilden.karate
~#! tid=861189980
Jup, die freie Natur is aba auch wirklich nur im Sommer der beste Platz, um
.... (*kicher*)
Tja, da ha'm wir Zwerge's besser, in unsere Hoehlen is schoen warm - Da kommt
dat Moos auf eure Baeume nicht ran!!!

TuNixGut - bedauert die Elfen, die 3/4 des Jahres enthaltsam leben.... ;o)

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



Re^5: friede (Alpha, 17. Apr 1997, 14:35:09):
~#! rn=Tunixgut rt=861280223 rg=gilden.karate
~#! tid=861189980
Wir Elfen leben 3/4 des Jahres nicht enthaltsam sondern halten uns fit, damit
wir 1/4 des Jahres .... von ungeahnter Qualitaet zu geniessen. Empfehle ich
auch Euch Zwergen, ein paar Stuendchen Extase tut euch gut, wo ihr doch nur
muffige Gaenge und Keller kennt.
Alpha denkt . o O (Der Sommer kann kommen)

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



Re^6: friede (Lacrimosa, 17. Apr 1997, 14:38:02):
~#! rn=Alpha rt=861280509 rg=gilden.karate
~#! tid=861189980
ja ihr muesst euch fit halten, damit ihr dann bei euer 'extase' nicht vom ast
fallt und euch eine von den zwei gehirnzellen kaputt geht.
Ausserdem in den dunklen hoehlen ist es bei feuerschein viel romantischer
als irgendwo auf ner dorrigen eiche zu hocken und auf den naechsten schwulen
liebhaber zu warten. Und unsere frauen sind viel zu schade fuer euch
stinkende rumjaulende ueberalles meckernde keine gaenge grabenden elfen

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



Re^6: friede (Tunixgut, 17. Apr 1997, 14:39:57):
~#! rn=Alpha rt=861280509 rg=gilden.karate
~#! tid=861189980
Ein paar stuendchen extase?????
Wenn Du wuesstest! (*kicher*)
So 'ne Hoehle kann ein schoen abgelegenes Plaetzchen sein....
Mal abgesehen davon halten sich Zwerge nicht fit, Zwerge SIND fit, von Natur
aus! Was steht bei Dir hinter kraft in klammern??? :o)
Mal abgesehen davon? Was geniesst Ihr denn??? Rinde schaelen??? Von Ast zu Ast
huepfen???

TuNixGut

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



Re^7: friede (Tunixgut, 17. Apr 1997, 14:42:04):
~#! rn=Lacrimosa rt=861280682 rg=gilden.karate
~#! tid=861189980
Besser haette ich das auch nicht ausdruecken koennen, Lacri! (*WAELZ*)

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



Re^7: friede (Alpha, 17. Apr 1997, 14:43:13):
~#! rn=Lacrimosa rt=861280682 rg=gilden.karate
~#! tid=861189980
Wiso Eichen? Der Waldboden oder ne kuschelige nette sonnendurchflutete
Lichtung, duftende Graeser und Baeume...also wenn das NICHT romantischer ist
als ne Mffhoehle mit Silberfischen und Gott weiss...An Zwergenstelle wuerde
ich die Frauen auch vor uns Elfen verstecken, weil wir bekannt sind fuer die
Glut, die wir in ihnen entfachen koennen.
Alpha ist stolz auf seine meerblauen Augen

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



Re^8: friede (Snibril, 17. Apr 1997, 14:45:33):
~#! rn=Alpha rt=861280993 rg=gilden.karate
~#! tid=861189980
Wieso Frauen? Elfen kennen den Unterschied zwischen Maennern und Frauen
doch eh nicht.
Snibril ist stolz auf seinen Zwergenbart.

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



Re^8: friede (Lacrimosa, 17. Apr 1997, 14:45:54):
~#! rn=Alpha rt=861280993 rg=gilden.karate
~#! tid=861189980
Die blauen augen hast du doch auch bloss weil du, wenn du von baum zu baum,
huepfst abundzu gegen den Stamm knallst, oder hast du sie etwa gar von euren
Frauen. Man muesst Ihr gut sein, wenn sie euch blaue Augen verpassen. Was soll
romantisch daran sein auf ner Wiese zu liegen, dann liegt man innig versunken
da, der Elf weiss aber nicht was er mit der Frau tun soll, weil er nur mit
anderen Elfen rummacht. Und gerade dann, kriecht so ein Insekt Ihr auf den
Ruekcken und sie schreit auf und haut ab. Und das nennst du romantik. 

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



Re^9: friede (Dieder, 17. Apr 1997, 14:47:05):
~#! rn=Lacrimosa rt=861281154 rg=gilden.karate
~#! tid=861189980
Jo macht weiter so, ich lach mir hier nen Ast :)))

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



Re^10: friede (Tangalur, 17. Apr 1997, 14:47:58):
~#! rn=Dieder rt=861281225 rg=gilden.karate
~#! tid=861189980
Na pass auf Dieder nacher sitzt auf dem ast ein Elf

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



Re^9: friede (Alpha, 17. Apr 1997, 14:48:09):
~#! rn=Snibril rt=861281133 rg=gilden.karate
~#! tid=861189980
Stimmt, Zwergenfrauen und Zwegenmaenner auseinander zu halten, das gelingt nur
den erfahrenen Elfen. Sind ja alle dick und klein.
Alpha steht auf gross und schlank.

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



Re^8: friede (Tunixgut, 17. Apr 1997, 14:48:20):
~#! rn=Alpha rt=861280993 rg=gilden.karate
~#! tid=861189980
duftende Graeser??? Du meinst, die Fussel von den Pusteblumen in den haaren,
Brennesseln im Gesicht, kletten im bart....
Im uebrigen: Was fuer 'ne Glut? Ich hoer' imma bloss was von zerbrechlichen
langen viechern mit zerbrechlichen kurzen etwasen...

TuNixGut - Liebt die wohlige Waerme und hasst schnecken, die ihm durch's
gesicht krabbeln...

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



Re^11: friede (Dieder, 17. Apr 1997, 14:48:52):
~#! rn=Tangalur rt=861281278 rg=gilden.karate
~#! tid=861189980

Ich bin ueberzeugter Elf, du stinkender, ungepflegter, unartiges Zwerglein :)

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



Re^12: friede (Tangalur, 17. Apr 1997, 14:50:52):
~#! rn=Dieder rt=861281332 rg=gilden.karate
~#! tid=861189980
ICH BIN EIN KATER !!!!!!!!

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



Re^9: friede (Alpha, 17. Apr 1997, 14:51:47):
~#! rn=Tunixgut rt=861281300 rg=gilden.karate
~#! tid=861189980
Das etwas ist in etwas proportional zur Koerpergroesse, Zwerch.

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



Re^13: friede (Tunixgut, 17. Apr 1997, 14:52:12):
~#! rn=Tangalur rt=861281452 rg=gilden.karate
~#! tid=861189980
Kater sind willkommen, die sind auch so verfusselt wie unsereins! (*kicher*)

TuNixGut - Fellknaeuel!

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



Re^5: friede (Snibril, 17. Apr 1997, 14:54:37):
~#! rn=Lacrimosa rt=861280020 rg=gilden.karate
~#! tid=861189980
Also wenn das nix mit karate zu tun hat, dann hab ich das mit karate noch
nicht ganz verstanden.
Snibril 

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



Re^10: friede (Tunixgut, 17. Apr 1997, 14:54:38):
~#! rn=Alpha rt=861281507 rg=gilden.karate
~#! tid=861189980
Nu erzaehl mir bloss noch, ihr Elfen wuesstet was von Kongruenz-Saetzen oder
gar Relativitaet

Du weisst doch gar nicht, was Proportional heisst!

TuNixGut

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



Re^15: friede (Astar, 17. Apr 1997, 14:58:23):
~#! rn=Hadra rt=861281572 rg=gilden.karate
~#! tid=861189980
Thread 1000 ???

Astar

PS: -----> schmarrn

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



Re^11: friede (Alpha, 17. Apr 1997, 14:58:34):
~#! rn=Tunixgut rt=861281678 rg=gilden.karate
~#! tid=861189980
Hmm...seit dem ich inZacharias Eispalast erstmals einen Blick in ein
Mathematikbuch gewagt habe...also ich weiss nur, dass die Begierde der Frau im
Quadrat zur Groesse waechst. Deinen Bart meine ich abber nicht.

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



Re^12: friede (Tunixgut, 17. Apr 1997, 14:59:41):
~#! rn=Alpha rt=861281914 rg=gilden.karate
~#! tid=861189980
Frach' mal Achakzai (*WAELZ*)

TuNixGut

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



Re^12: friede (Augra, 17. Apr 1997, 15:06:41):
~#! rn=Alpha rt=861281914 rg=gilden.karate
~#! tid=861189980
Verbal-Karate...die Tiefschlaege klappen schon ganz gut:)

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



Re^13: friede (Lacrimosa, 17. Apr 1997, 15:08:24):
~#! rn=Tunixgut rt=861281981 rg=gilden.karate
~#! tid=861189980
hmm der eispalast bugt dann wohl, den theoretisch haette beim Elfen ein Buch
mit weissen Blaettern oder ein Buch mit sieben Siegeln kommen muessen.

Und wieso immer Sommer Alpha ? Heisst das, das ihr elfen schon
Dr. Sommer zu rate ziehen muesst. Ihr seid wirklich arm.

Ausserdem ich find es ziemlich oede jeden tag aufn baum zu sitzen und
rumzupfeifen. (frauen nachpfeifen wohl eher, aber die frauen beachten euch ja
nicht) wir
graben uns wenigstens durch gaenge, verzieren sie schoen und verewigen uns
dadurch. 
Achja, wann findet der diesjaehrige: Zwergen-Baum-faell-Marathon statt ?
Ich wuerde mich naemlich gern auf der Teilnehmerliste eintragen.

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



Re^14: friede (Alpha, 17. Apr 1997, 15:14:20):
~#! rn=Lacrimosa rt=861282504 rg=gilden.karate
~#! tid=861189980
Schade eigentlich, dass du keien Frau bist. Wenn ich mir das so vorstelle, du
holzt uns beiden ne kleine Lichtung frei und kommst dabei natuerlich ins
Schwitzen. Lecker lecker, da koennte ich nicht wiederstehen. Wenn du nur ne
Frau waerst koennten wir beide gleich die Lichtung einweihen - und der Geruch
von frisch geschlagenem Holz - oi oi oi.
Alpha wird da auf gaanz boese Ideen gebracht, hier im RTL.

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



Re^14: friede (Tunixgut, 17. Apr 1997, 15:15:05):
~#! rn=Lacrimosa rt=861282504 rg=gilden.karate
~#! tid=861189980
Ich stell mir gerade den Elfen-Baum-faell-Marathon vor, Baeume, wie Elfen -
lang und duerr....
Gewinner ist, wer einen ganzen schafft! ;o))

TuNixGut

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



Re^15: friede (Lacrimosa, 17. Apr 1997, 15:16:30):
~#! rn=Alpha rt=861282860 rg=gilden.karate
~#! tid=861189980
ja nur ich bin zwerg, also diese Elfen, lassen frauen fuer sich schuften um
dann sich an den geruch des schweisses in extase zu versetzen, kein wunder
das die miestviecher schwul sind. Und dann frisch geschlagenes Holz, ich
dachte immer Ihr weint da drauf los wenn Ihr sowas sieht. Aber ihr
Elfen seid ja schon so verweichlicht, totale Weicheier seid Ihr. 

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



Re^16: friede (Sidolin, 17. Apr 1997, 15:17:45):
~#! rn=Lacrimosa rt=861282990 rg=gilden.karate
~#! tid=861189980
Ihr nervt. Alle miteinander.

Sidolin. Laechelt muede. SEHR muede.

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



Re^16: friede (Tunixgut, 17. Apr 1997, 15:18:23):
~#! rn=Lacrimosa rt=861282990 rg=gilden.karate
~#! tid=861189980
Jetzt, wo Du das sachst, Lacri, Mensch Alpha, koenntest Du denn da ruhich
zugugge, wenn Dir eina den Ast zum draufsitzen umnietet????

TuNixGut - wundert sich!

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



Zwerge  YEACH (Phygos, 18. Apr 1997, 11:19:03):
Zwerge   wie kann man nur. Ekelhaft.
Zwerge stinken. Warum. Naja die Elfen haben die Hygiene erfunden. Und seit
diesem Zeitpunkt leiten sie Ihre Abwasserrohre am Baum vorbei, direkt in die
naechste Hoehle.  Weshalb die Zwerge auch bis zum Hals in der Sch...., stehen.
Ergo bilden sich Gase in den Hoehlen. Giftige Gase, Die druecken aufs Hirn.
Stoeren das Wachstum. Ergo sind Zwerge klein und stinken. Ausserdem schaedigen
die Gase die Gesundheit des Hirns. Ergo sind Zwerge klein, dumm und stinken. 
Aber weil sie so nuetzlich sind, duerfen sie weiterhin unsere Kanalisation
bewohnen >:)

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



Re: Zwerge  YEACH (Jariel,  2. Mai 1997, 21:51:50):
~#! rn=Phygos rt=861355143 rg=gilden.karate
~#! tid=861355143

und ich dachte, e gibt was neues von der Karate-Gilde....

Naja, hat wohl nicht sollen sein.

Jariel.

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



gilden.karate Top-Liste (Telya, 11. Jun 1997, 19:14:37):
Waere es nicht angebracht, Karatekas erst ab einem Gesamtprozent in der
Top-Liste anzuzeigen ?
Meiner unmassgeblichen Meinung sind da ziemlich viele Karteileichen mit Null
Prozent drin.
Telya (mag selbstbeweihraeucherung ohne zu langes Scrollen)

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



Re: gilden.karate Top-Liste (Mysterious, 13. Jun 1997, 10:42:41):
~#! rn=Telya rt=866049277 rg=gilden.karate
~#! tid=866049277
jau, telya, da gebe ich dir recht....

das hatte ich auch schonmal vor einiger zeit aufgegriffen, aber unser
gildenmag hatte sich bis jetze dazu nich geaeussert...(hmm, das war vorn paar
monaten)...

also ich bin auch dafuer, die ganzen nuller aus der liste zu nehmen (sind ja
so um die 150) und auch die, die gar nich mehr existieren 8))...

und dann waere es auch ganz nett, die testis aus der liste rauszunehmen *so
denk an zyr und killerkarl*...
das wuerde mir z.b. 2 plaetze bringen..*gier, lechz* >:)

naja...also...raus mit den leichen 8-)

sodele.....
*sich hoeflich verneigend* dA mYsTA

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



Aenderungen (Rochus, 26. Aug 1997, 13:11:58):
1. Mit 0 MP kann man nicht mehr ausweichen
2. Ausweichen gegen mehrere Gegner ist schwieriger
3. Man kann sich jetzt vornehmen, seltener besonders gut zu treffen
   oder auszuweichen.
Syntax: konzentration angriff|ausweichen 0-100
Erwartet aber nicht, dass Ihr Eure Reflexe damit immer unterdruecken koennt :)

  Rochus

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



Re: Aenderungen (Tunixgut, 26. Aug 1997, 13:31:15):
~#! rn=Rochus rt=872593918 rg=gilden.karate
~#! tid=872593918
iiiiiiiiiiiiiieeeeeeeeeeeeks....

's Karate-Zwerchle...

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



Konzentration (Householder, 26. Aug 1997, 17:34:01):
Hm das hoert sich ganz gut an ... besonders konzentration auf Ausweichen !
konzentration auf angriff bringt aber eigentlich nur etwas, wenn man soviel
lag hat, dass man beim vorbeilaufen an autoattack-monstern sehr gelungene
schlaege austeilt, da man bei laengeren Kaempfen lieber seine MP schnell
verbraet, um ohne MP immer noch fast (?) genausogut zu kaempfen wie mit
konzentration angriff 0 s. Extrem nuetzlich waere es, wenn man den
MP-Verbrauch abstellen koennte und dann halt so schlecht kaempfen wuerde wie
ohne MP (oder meinetwegen noch etwas schlechter) , damit man sich die MP fuer
die starken Gegner aufheben kann (so wie man es in jeder anderen Gilde tun
kann :-) )

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



Re: Konzentration (Key, 26. Aug 1997, 18:07:34):
~#! rn=Householder rt=872609641 rg=gilden.karate
~#! tid=872609641
Und jede gilde die ihre mp einteilen kann hat das bitter noetig!
Nen Karateka haut auch ohne mp noch ordentlich rein, haste dir mal ne andere
gilde ohne mp angesehen??

Key

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



Konzentration (Householder, 26. Aug 1997, 18:27:23):
Kampfer mit einem hohen Waffenskill haun ohne MP mindestens genausogut rein.
~.


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



Re: Aenderungen (Fyt, 26. Aug 1997, 18:32:57):
~#! rn=Rochus rt=872593918 rg=gilden.karate
~#! tid=872593918

Fein ;-)

Fyt.

PS: Hilfeseiten? ;-)

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



Re: Re: Konzentration (Asmodis, 26. Aug 1997, 20:42:13):
~#! rn=Key rt=872611654 rg=gilden.karate
~#! tid=872609641
Das ist auch unser einziger Vorteil, haste dir mal unseren MP-Verbrauch
angesehen, und die Anfaelligkeit gegen magische Angriffe ??

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



Re^3: Konzentration (Key, 26. Aug 1997, 20:43:46):
~#! rn=Asmodis rt=872620933 rg=gilden.karate
~#! tid=872609641
Ich kenne die Gilde, keine Sorge :)

Key

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



Re^4: Konzentration (Ringor, 26. Aug 1997, 20:44:44):
~#! rn=Key rt=872621026 rg=gilden.karate
~#! tid=872609641
Glaube ich Dir sofort - oft genug probegestorben bist du ja mit deinen
Karate-Xties schon ;^)

-> schmarrn

Ringor

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



Karate-Topliste (Mango, 28. Okt 1997, 12:16:23):
Waere es moeglich in der Topliste mit anzuzeigen seit wann man in der Gilde
Mitglied ist, falls sich das noch nachvollziehen laesst?

Und es saehe sicher schoener aus wenn mal die ganzen Karatekas die nicht mehr
in der Gilde sind aus der liste rausgenommen werden oder die 0% Leute
rausnehmen, denn die Liste nimmt ja gar kein Ende mehr.

Mango.


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



Re: Karate-Topliste (Mysterious, 28. Okt 1997, 23:43:08):
~#! rn=Mango rt=878037383 rg=gilden.karate
~#! tid=878037383
ni hao!!

sachma, du fruechtchen, hast du dir in den letzten monaten die liste mal
angesehen?? :)

die wurde nach dem sommertreff in muenster von rochus veraendert...

aber leider is nixi mit 9.dan und 43% immer noch drin *staun*
und kein 0%-karateka is momentan verzeichnet...

*hoeflich verneig*

dA mYstA

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



Re: Re: Karate-Topliste (Mango, 29. Okt 1997, 10:27:27):
~#! rn=Mysterious rt=878078588 rg=gilden.karate
~#! tid=878037383
*streu Asche auf mein Haupt*

aber die Sache mit dem Eintrittsdatum faend ich aber dennoch interessant.

Mango, neugierig.


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



Kleine gegner (Deepblue, 18. Feb 1998, 00:14:29):
Wie kaempft man am Besten gegen minigegner wie Kroeten, Ameisen etc?


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



Re: Kleine gegner (Drogo, 18. Feb 1998, 10:31:07):
~#! rn=Deepblue rt=887757269 rg=gilden.karate
~#! tid=887757269
Draufsetzen ??
Drogo. Bierschuettlerin.

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



Re: Re: Kleine gegner (Mysterious, 18. Feb 1998, 11:03:51):
~#! rn=Drogo rt=887794267 rg=gilden.karate
~#! tid=887757269
ni hao!

nunja, techniken, die ich als elf gegen kleine gegner anwende sind
'otoshi-empi-uchi' und 'fumikomi-geri'

letzteren koenntest du vielleicht schon lernen mit deinem lvl...

kleineres gewuerms kann aber bestimmt auch andere techniken anwenden..


duiiiii
        dA mYstA


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



Re^3: Kleine gegner (Deepblue, 19. Feb 1998, 19:18:08):
~#! rn=Mysterious rt=887796231 rg=gilden.karate
~#! tid=887757269
Also Fumikomi-geri geht in gewissem sinne, bringt aber auch nicht den effekt,
wenn ich ne Heuschrecke 30 x mit fumikomi-geri angreifen muss. (bei 30% sind
das ja auch mindestens 10 treffer)

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



Lerntempo (Rochus, 11. Mar 1998, 19:17:24):
Da mir immer wieder gesagt wurde, die Gilde sei ohne Skript unspielbar,
habe ich einige Anpassungen am Lerntempo vorgenommen.
1. Wenn man kaempft verbessert man mit jeder Kampftechnik, bei der man aus
   seinem Fehler lernt, auch alle Kampftechniken der gleichen Gruppe,
   also z.B. bei einem Mae-Empi-Uchi auch alle anderen Ellbogenschlaege.
   Damit Skripter dadurch keinen zu grossen Vorteil haben ist dabei eine
   Lernbeschraenkung aktiv, die zumindest in der Theorie bewirken muesste,
   dass man mit einem Skript nicht schneller lernt als durch normalen Kampf
   (mal sehen wie die Praxis aussieht :-)
   Die Staerke des Lerneffekts bei jeder Technik in der Gruppe ist uebrigens
   davon abhaengig, wie schwierig diese verglichen mit der angewandten ist.
2. Einen minimalen(!) Lerneffekt gibt es jetzt auch bei gelungenen
   Kampftechniken im Kampf gegen wuerdige(!) Gegner.
   Je wirkungsvoller der Angriff ist desto staerker muss die Abwehr des
   Gegners sein damit man auch bei gelungenen Angriffen was lernt.
   Fuer die Abwehr gilt das entsprechnde mit dem Angriff des Gegners.
Ich hoffe, meine Aenderungen haben den gewuenschten Effekt
und Paracelsus hat nichts dagegen :-)

  Rochus

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



Re: Lerntempo (Yaren, 12. Mar 1998, 01:24:31):
~#! rn=Rochus rt=889640244 rg=gilden.karate
~#! tid=889640244
Endlich mal eine brauchbare Aenderung! Scripte unnuetz machen, statt sie zu
verbieten, das lob ich mir :-))

Yaren.

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



Re: Re: Lerntempo (Mysterious, 16. Mar 1998, 13:59:13):
~#! rn=Yaren rt=889662271 rg=gilden.karate
~#! tid=889640244
konni-chi-wa!


bravo! ich glaube, das is ne tolle idee von rochus

auch wenn ich das nich testen kann (nein, ich wunesche mir keinen
faehigkeits-verlust bei nicht-anwenden einer technik)), wird dadurch wohl das
ewig droege, langweilige, sehnenschscheidentzuendende geuebe etwas gelindert..

das is fein und die vollskripte muessen jetzt wohl verbessert werden <:)

also, nicht 100%ige.. uebt schoen.. wir haben schon lange mehr keinen 8.dan
gesehen, so ka?


duiiii
              dA mYstA

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



neue ideen :) (Mysterious, 31. Mar 1998, 16:18:13):
 1  ni hao!
     2
     3  drei anregungen, die die attraktivitaet der gilde erhoehen koennten..
     4  yaren und ich haben uns dazu (als einzige anwesende 1sti-karateka)
bei der party zusammengesetzt und sind zu folgenden ideen gekommen:
     5
     6  1) meditation
     7        - aehnlich dem beten der kleriker, nur dass die wirkungszeit
     8          der meditation gegenueber der glaeubigkeit verringer wird
     9          (schliesslich is das ja eine zustandsform, die eigentlich
    10          nicht durch kaempfe unterbrochen werden sollte)
    11        - das ganze vielleicht mal als skill, damit man was zu lernen
    12          hat und die meditationszeit verlaengert werden kann
    13        - evtl. koennen bei erfahrenen meditierenden auch noch
    14          zusaetzlich bewusstseinserweiternde drogen eingesetzt werden;
    15          ich denke da z.B. an gewisse kraeuter aus djel* o.ae.
    16          die unerfahrenen erleben evtl. ein negatives ereignis, das
    17          ihre allg. kampfkraft schwaecht
    18        - WIRKUNG (nich ganz unwichtig):
    19          zwei alternativen:
    20
    21          a) aufgrund der enstandene harmonie mit der welt und der
natur
    22             ergibt sich auch eine groessere verbundenheit mit den
    23             elementen und folglich auch ein besserer schutz gegen
    24             eben diese (besser gesagt: ueberhaupt ein schutz gegen
sie)
    25          b) aufgrund der inneren ruhe und ausgeglichenheit gelangt der
    26             karateka zu besserer koerperbeherrschung und kann
schneller
    27             kaempfen (also ein zusaetzlicher angriff pro runde). da
dies
    28             aber extrem anstrengend ist, wirkt das auch nur fuer kurze
    29             zeit
    30
    31  2) schleichen
    32        - da karateka ja sehr gewand sind und eine sagenhafte koerper-
    33          beherrschung besitzen, ist es ihnen moeglich, sich dem gegner
    34          von hinten anzuschleichen (s. katzenkrieger)... maw.:
    35          auto-attack monster greifen _nicht_ automatisch an..
    36        - n skill waere auch hier von vorteil
    37
    38  3) kampfschrei
    39        - marke 'banzai' (wer hat sowas nich schon in sonem doofen
    40          kung-fu film gesehen)
    41        - bisweilen wird die strenge und asketische lehre des senseis
    42          zur qual, mittels eines erleichternden 'HAHHHH' koennen
    43          diese stresshormone abgebaut werden und wirken sich dann
    44          bei NPCs so aus:
    45        - aufgrund eines markerschuetternden schreis zuckt der gegner
    46          veraengstigt zusammen ->
    47          seine kampfkraft laesst nach oder
    48          im extremfall verlaesst er sogar den raum und fluechtet
    49        - auch hier wieder n skill (jaja, ich gebs ja zu.. nach 1y
entzug
    50          will ich wieder n bissel was lernen muessen fuer die gilde
    51          *tatter*)
    52
    53  also: sag(t) was dazu und stimme/t ein:
    54
    55  'singt und schwingt das bein, lasst den funa, funa sein...'
56
    57
    58  yours, faithfully
    59                           dA mYstErIoUs-sAn
    60

(sorry, entschuldigt die zeilennummern, aber wenn mir jemand sagt, wie ich die
beim 'vi' rauskriege)

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



Re: neue ideen :) (Grimmborn, 31. Mar 1998, 23:20:04):
~#! rn=Mysterious rt=891353893 rg=gilden.karate
~#! tid=891353893
killall vi
emacs filename

Gern geschehen,
                Grimmborn der Atheist

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



Re: Re: neue ideen :) (Anatol, 31. Mar 1998, 23:30:42):
~#! rn=Grimmborn rt=891379204 rg=gilden.karate
~#! tid=891353893
:%s/^ *[0-9]* *//

Anatol

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



Re: neue ideen :) (Trekan,  1. Apr 1998, 13:11:30):
~#! rn=Mysterious rt=891353893 rg=gilden.karate
~#! tid=891353893
mmh .. war das n editor fuer basic?
Trekan -> schmarrn

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



Re: neue ideen :) (Tunixgut,  1. Apr 1998, 13:15:59):
~#! rn=Mysterious rt=891353893 rg=gilden.karate
~#! tid=891353893
Zustimmung auf GANZER Linie! :o)
Klasse Idee, Mysta! :o)
Und Damit das nicht zum umgebrochenen Einzeiler verkommt: DANKE Rochus, feine
Sache!

s Karate-Zwerchle - wuerde vor allem das Schleichen gern mal ausprobieren...

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



Re: Re: neue ideen :) (Yaren,  1. Apr 1998, 13:41:07):
~#! rn=Tunixgut rt=891429359 rg=gilden.karate
~#! tid=891353893
Nene, Du hast das falsch verstanden, TNG: wir haben uns das ueberlegt als
VORSCHLAG. Da ist von Rochus noch kein Kommentar zu gekommen. Wir wollten
bloss mal diese Ideen vorstellen, vor allem da wir festgestellt haben, dass
wir auf der Party wohl die einzigen Karate-Ersties waren. Scheint also damit
zu tun zu haben, dass die Gilde gerade in den hoeheren Dan-Graden nicht so
attraktiv ist. Daher wollten wir von Spielern (und natuerlich auch von Rochus)
Meinungen dazu hoeren.

Yaren.

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



Re^3: neue ideen :) (Tunixgut,  1. Apr 1998, 13:42:50):
~#! rn=Yaren rt=891430867 rg=gilden.karate
~#! tid=891353893
Neeee, da hab'sch euch schon richtich verstanden, das Danke galt dem uebe-Teil
von Rochus!

's Karate-Zwerchle

PS: DANKE fuer die gutdurchdachte Wunschliste! ;o)

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



Re^3: neue ideen :) (Highlander,  1. Apr 1998, 14:13:16):
~#! rn=Anatol rt=891379842 rg=gilden.karate
~#! tid=891353893
Noe, so nicht. Das sind die nur vom vi angezeigten Nummern. Abhilfe hier:
:set nonu
Und Grimmborn: Antworte auf die Frage, nicht mit Religious War Versuchen.
    HrT

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



Re^3: neue ideen :) (Key,  1. Apr 1998, 15:05:04):
~#! rn=Yaren rt=891430867 rg=gilden.karate
~#! tid=891353893
Das hat damit zu tun das es fast unmoeglich war sich hier als Karate-Erstie zu
behaupten.

Key

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



Re^4: neue ideen :) (Mysterious,  1. Apr 1998, 17:50:26):
~#! rn=Highlander rt=891432796 rg=gilden.karate
~#! tid=891353893

danke highlander :)

sowas wollte ich wissen...

anatol: hmm... aber gilt das nich nur fuer die daten, die im text stehen?
        will sagen: die nummern kommen doch vom vi (und nicht aus dem text)
       hab die sachen per cut'n'paste ruebergeholt..

aber ich bin eh ein depp.. haetts mir ja dann mit 'more' anzeigen lassen
koennen *schlag an hinterkopf*


danke tunixgut :)

key: denk doch mal an die grooossen karateka so wie slyfox und asmodis :-)

uebrigens koennte von mir aus im gegenzug zur verstaerkung die
lerngeschwindigkeit wieder verringert werden *fies grins*

duiii
*hoeflich verneig*
                     dA mYstA

[NAH]: "Gebt schon den Kindergartenkindern Waffen in die Haende, dann wissen
       sie auch in der Schule damit umzugehen, und leisten nicht so 
        stuemperhafte Arbeit wie in Arkansas!"

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



Re: neue ideen :) (Jimdigriz,  2. Apr 1998, 17:13:24):
~#! rn=Mysterious rt=891353893 rg=gilden.karate
~#! tid=891353893

:set nonumber

der Kampfschrei heisst ueberigens Ki-Ai und ist
ueberlichweise ein sehr wichtiger Bestandteil von Karate.

Jim DiGriz

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



Re: Re: neue ideen :) (Wurzel,  4. Apr 1998, 00:05:00):
~#! rn=Jimdigriz rt=891530004 rg=gilden.karate
~#! tid=891353893
da war doch was... wenn ich mich recht erinnere, war "banzai" der ruf von
den jungs, die sich ganz allein in ihren kleinen kisten auf die grossen
amerikanischen flugzeugtraeger gestuerzt haben.
waere vielleicht auch mal eine nette idee, so dass dann zwei namen
simultan auf dem moerderkanal und auf tod ausgegeben werden... als letzte
hoffnung sozusagen :)

wurzel

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



Re^3: neue ideen :) (Asmodis,  4. Apr 1998, 12:58:06):
~#! rn=Wurzel rt=891641100 rg=gilden.karate
~#! tid=891353893
'banzai' ist ueblicherweise der Ausruf eines Wrestlers, bevor
er sich auf seinen Gegner setzt :)
Naja, jedenfalls bei Yokozuna

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



nachtrag (Smarte, 13. Apr 1998, 23:17:30):
ich hab auch noch einen wunsch wie waere es wenn man den uebungsraum mit den
zombiekaratekas unter die karateke gilde verlegen wuerde 
vorteil waere wir kaemen schneller hin und sie wuerde allgemein auch mehr oder
ueberhaupt genutzt
mein zweiter wunsch waere wenn von den einzelnen zombies also zb von den
grossen mehr da waeren und das auch von identischer staerke 
ich hab die erfahrung gemacht das die die immer recht schnell tot sind wenn
ich da trainiere

so dat isset
Smarte (erstie) klettert noch zum 1.Dan . 
:)

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



Dojokneipe Fernwest (Li, 24. Apr 1998, 10:20:35):
~#! on=Li ot=893405779 og=d.fernwest
ni hao!
Da ich weiss, dass es euch am meisten interessiert: Die Kniepe am Dojo des
Gruaens ist geandert. Ein neues Getraenk und die Ente wirkt anders. Ich werde
denmaechst noch ein wenig mehr veraendern, aber ich hoffe, vorerst reicht es
erstmal.
bis denn,
Li

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



Re: Dojokneipe Fernwest (Sharia, 24. Apr 1998, 12:42:50):
~#! rn=Li rt=893406035 rg=gilden.karate
~#! tid=893406035
Danke :-)))))

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



Lan Fu (Li, 29. Apr 1998, 10:40:43):
In Lan Fus Wonne, der Kneipe in Xian, haben sich Preise und Wirkung von
Ginsengtee und Herbstschwein leicht geaendert. Ich hoffe zum Vorteil :-)
Li

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



Karate Anfaenger (Catweazle, 29. Mai 1998, 22:37:13):
~#! on=Songoku ot=896446406 og=allgemeines
Nur ein kleiner Kommentar.
Ich habe gerade in der Kartategilde angefangen und dachte dann kann man
eventuell etwas besset kaempfen.
Aber jetzt stellt sich raus, das die Karategilde effektiv fuer Anfaenger
absolut sinnlos ist, da mab eigentlich erstmal zig Tage trainieren muss, bis
man ueberhaupt was trifft. 
Da ich eigentlich hier bin um zu spielen und nicht um mich vor Fliegen und
Ameisen zu fuerchten ein Vorschlag von mir:
Wenn man zu einer Gilde kommt 8ich denke mal bei den anderen ist es aehnlich)
bekommt man die erste kampffertigkeit auf einem etwas hoeheren level, damit
man nicht als Karateka mit nem 2Haender durch die gegend laufen muss.

Son Goku

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



Re: Karate Anfaenger (Catweazle, 29. Mai 1998, 22:37:15):
~#! on=Mahatma ot=896448783 og=allgemeines
~#! rn=Songoku rt=896446406 rg=allgemeines
~#! tid=896446406
Aller Anfang ist schwer, besonders in der Karategilde. Aber das ist nun mal
eine sehr uebungsintensive Gilde, und wenn es nicht so waere, haette das mit
Karate noch weniger zu tun, als jetzt ohnehin schon. Ausserdem ist ein Oi-Zuki
auch nicht sonderlich geeignet, um ne Ameise zu toeten, und mit nem Age-Uke
wirst Du Dich auch kaum dagegen verteidigen koennen, wenn sie nicht gerade 2
Meter gross ist ;).

Mahatma (RL-Karate-Anfaenger und ausser Luft nichts treffend)

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



Re: Re: Karate Anfaenger (Catweazle, 29. Mai 1998, 22:37:43):
~#! on=Songoku ot=896448957 og=allgemeines
~#! rn=Mahatma rt=896448783 rg=allgemeines
~#! tid=896446406
es ist aber trotzdem etwas zu heftig (vorallem, wnn man vor ne Ente (die
Karate-Ente) fluechten muss:((

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



Re^3: Karate Anfaenger (Catweazle, 29. Mai 1998, 22:37:47):
~#! on=Yaren ot=896451947 og=allgemeines
~#! rn=Songoku rt=896448957 rg=allgemeines
~#! tid=896446406
Vielleicht sollte so etwas mal in 'hilfe gilden' oder beim Eintritt in eine
solche vom Gildenoberhaupt nochmal erwaehnt werden. Gerade die Karategilde ist
nunmal so uebungsintensiv und verlangt wenigstens volle Intellegenz zum
Lernen, dass ich jedem vorschlage (der es hoeren will *kicher*), er soll erst
volle Stats haben, bevor es sich in das Unglueck stuerzt und Karateka wird.
Bis dahin haelt man es doch als Abenteurer aus, oder? ;-)

Yaren (hat damals auch viel zu frueh und viel zu klein angefangen)

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



Re: Re: Karate Anfaenger (Schoko, 30. Mai 1998, 01:56:49):
~#! rn=Catweazle rt=896474235 rg=gilden.karate
~#! tid=896446406
Hihi, wenn ich mir jetzt Mahatma im weissen Kittel beim Karate vorstelle.....

Schoko *kichernd*

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



Re: Karate Anfaenger (Asmodis, 31. Mai 1998, 23:07:26):
~#! rn=Catweazle rt=896474233 rg=gilden.karate
~#! tid=896474233
Aehm, falls du es nicht weisst, in den ersten Leveln
ist es in jeder Gilde schwer, ich erinnere nur an diese
Zauberer-Adepten, die regelmaessig auf der Hochebene 
metzelten, oder Kampfwuerste, die bei diversen Schmetterlingen
draufgehen.
Allgemein gilt: Solange du keine guten stats hast,
ist es in jeder Gilde (ausser Abenteurer und vielleicht
Bierschuettler) schwer, zufriedenstellende Kampfkraft
zu erlangen.

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



Re: Re: Karate Anfaenger (Teddy,  1. Jun 1998, 01:21:51):
~#! rn=Asmodis rt=896648846 rg=gilden.karate
~#! tid=896474233
Hm, Ringor ist letztens auch an nem Schmetterling gestorben, ist er jetzt auch
ne Kampfwurst? ;-)

Teddy ->schmarrn
SCNR

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



Re^3: Karate Anfaenger (Ringor,  1. Jun 1998, 01:29:59):
~#! rn=Teddy rt=896656911 rg=gilden.karate
~#! tid=896474233
Wieso "jetzt"? War ich das nicht schon immer?

Gegenteilige Behauptungen sind nur ueble Nachrede. 

Ringor. Metzelt Monster eh nur mit Bugs.

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



Re^4: Karate Anfaenger (Sting,  1. Jun 1998, 01:52:26):
~#! rn=Ringor rt=896657399 rg=gilden.karate
~#! tid=896474233
ALSO DOCH!!!

Sting, hat es immer gewusst :))

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



Re^3: Karate Anfaenger (Morgoth,  1. Jun 1998, 15:42:53):
~#! rn=Teddy rt=896656911 rg=gilden.karate
~#! tid=896474233
Wieso jetzt? Er war immer schon einer.
M*

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



Re^4: Karate Anfaenger (Asmodis,  1. Jun 1998, 17:57:44):
~#! rn=Morgoth rt=896708573 rg=gilden.karate
~#! tid=896474233
Ich glaube, wir sind uns alle einig :)

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



funakoshi (Telya,  3. Jun 1998, 10:51:29):
Es waere schoen, wenn Funakoshi, sobald man ihn nach einer Faehigkeit fragt,
auch sagt, wie gut Mann/Frau diese kann.
Weiterhin waere es schoen, wenn man ihn nach seinen Faehigkeiten in Abwehr und
Angriff fragen koennte, da man beides zusammen nur schwer auf den Bildschirm
bekommt.
Telya

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



Abfrage (Twinsen, 27. Jun 1998, 19:43:47):
Es waere schoen wenn man Funakoshi wenigstens aus der ferne fragen koennte ob
man erhoehen kann ...
Sonst muss man IMMER wieder hinfahren zumindest als spieler.

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



Re: Abfrage (Key, 27. Jun 1998, 19:44:47):
~#! rn=Twinsen rt=898969427 rg=gilden.karate
~#! tid=898969427
Gibt nix.
Lauf doch oder frag freundliche Seher.

Key

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



Re: Re: Abfrage (Twinsen, 27. Jun 1998, 20:13:27):
~#! rn=Key rt=898969487 rg=gilden.karate
~#! tid=898969427
aber warum denn?
man kann es doch fuer spieler etwas bequemer machen...
Bitte :)

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



Re^3: Abfrage (Anatol, 27. Jun 1998, 20:15:34):
~#! rn=Twinsen rt=898971207 rg=gilden.karate
~#! tid=898969427
Weisst Du, hinter solchen unbequemen Kleinigkeiten verbergen sich
erste Ansaetze von "Spielatmosphaere"... das ist nicht unbedingt
leicht zu verstehen, aber irgendwann wirst Du begreifen, was es
damit auf sich hat. Geniess' einfach, dass Funakoshi keine Viertel-
stunde braucht, um Dich einer eingehenden Pruefung zu unterziehen, 
bevor er sein Urteil abgibt :)

Anatol, einschlaegige (AUA) Karawanen-Erfahrung gesammelt habend


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



Re^4: Abfrage (Tunixgut, 29. Jun 1998, 07:28:30):
~#! rn=Anatol rt=898971334 rg=gilden.karate
~#! tid=898969427
Es gibt etliche andere Dinge, die man der Karate-Gilde schenken koennte - Was
tut schon so verdammt weh, wenn Du etwas ueber den "erhoehe"-Punkt
hinaus-uebst???
Viel mehr aergert mich, dass so viele andere gute Ideen, die fuer mehr Feeling
und Spass an der Gilde gesorgt haetten, so lautlos verhallt sind. :o(

's Karate-Zwerchle...

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



Re^5: Abfrage (Nixihou, 29. Jun 1998, 09:59:23):
~#! rn=Tunixgut rt=899098110 rg=gilden.karate
~#! tid=898969427

wie waere es, wenn karateka im Dan-grad anderen Karateka im kyu-rang
sagen koennten ob sie soweit sind, in den naechsten kyu-grad aufzusteigen?
(ist ja auch im RL so.... *ok ist kein argument*)

nixi, linst zu rochus rueber

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



Re^5: Abfrage (Key, 30. Jun 1998, 09:09:37):
~#! rn=Tunixgut rt=899098110 rg=gilden.karate
~#! tid=898969427
Ideen die das Feeling erhoehen? 
Sags Silvana ....

Key

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



Re^6: Abfrage (Tunixgut, 30. Jun 1998, 11:11:00):
~#! rn=Key rt=899190577 rg=gilden.karate
~#! tid=898969427
Was hat Silvana denn mit der Karate-Gilde zu tun???
Ideen gab's hier schon HAUFENWEISE!
's Karate-Zwerchle...
PS: Ich sammel mal - wer was hat - zu mir!

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



Re^7: Abfrage (Songoku,  1. Jul 1998, 12:14:54):
~#! rn=Tunixgut rt=899197860 rg=gilden.karate
~#! tid=898969427
Du wolltest Ideen?
1. Begrenzung fuer Starter (es hat einfach keinen Sinn, wenn mann als
Anfaenger in die Karategilde geht (man ist effektiv werlos)
2. Wie waere es mit Umkleideraeumen fuer die Karatekas? (abschliesbar, damit
man waerend dem Training seine Sachen ablegen kann) (solange was im Spind ist
kann man auch nicht von fernwest weg, damit man das nicht als save benutzt)
3. Macht die Gilde am anfang etwas weniger uebungsintensiv (so dass man nicht
ein paar wochen auf das MG verzichten muss, nur weil man dauernd am lernen ist
(das koennte auch diese "ich habe einen Auftankzeitie" vermeiden) (von den
Scriptern mal abgesehen, die dauernd gegen die Waende laufen)
4. Schreibe mal einer eine Uebersetzung fuer die Angriffe und Abwehrtechniken
(ich kann nicht so viel japanisch)

Das wars eigentlich.

..

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



Re^8: Abfrage (Key,  1. Jul 1998, 12:22:17):
~#! rn=Songoku rt=899288094 rg=gilden.karate
~#! tid=898969427
1. Wer zu frueh reingeht ist selber Schuld.
2. Die Uebersetzung gibbet seit ewigkeiten ... such mal rynes haus auf.
3. Das ueben ist bereits leichter .... um einiges ...

Key

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



Re^9: Abfrage (Sharia,  1. Jul 1998, 12:25:19):
~#! rn=Key rt=899288537 rg=gilden.karate
~#! tid=898969427
zu 1.:
Ein Anfaenger im Mud (und sei er level 5) wird sicher nicht wissen dass es in
der Karategilde als Erstie und in so nem niedrigen Level nicht allzutrivial
ist ....

Sharia

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



Re^10: Abfrage (Songoku,  1. Jul 1998, 12:48:24):
~#! rn=Sharia rt=899288719 rg=gilden.karate
~#! tid=898969427
ich war karateka befor ich ueberhaupt wusste, wass Zaubertraenke sind
(geschweigeden, wo ich das orakel finde)
(Stufe1)

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



Re^10: Abfrage (Key,  1. Jul 1998, 12:49:01):
~#! rn=Sharia rt=899288719 rg=gilden.karate
~#! tid=898969427
Ach das wird der frueher oder spaeter merken ;)

Key

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



Re^11: Abfrage (Anatol,  1. Jul 1998, 13:57:43):
~#! rn=Songoku rt=899290104 rg=gilden.karate
~#! tid=898969427
Dann, Songoku, bist Du Karateka aus Ueberzeugung geworden und haettest
Dich von der Warnung, dass Karate am Anfang ueberdurchschnittlich (wenn auch
laengst (!) nicht mehr so schlimm wie anfangs) uebungsintensiv ist, nicht
abschrecken lassen.

Zum Thema Uebersetzung wird nicht nur Rynes Karate-FAQ, sie liegt auch in
Tex-Form auf dem MG-ftp-server, behilflich sein, Sensei Funakoshi selbst
ist sowohl des Fernwestlichen als auch des "common dawn" maechtig.

Anatol


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



Re^8: Abfrage (Tunixgut,  3. Jul 1998, 06:54:47):
~#! rn=Songoku rt=899288094 rg=gilden.karate
~#! tid=898969427
Ich denke auch, dass es bei den Karateka einfach dazugehoert, anfaenglich 'ne
Wurst zu sein... Ich bin ja auch immer noch eine! ;o) Da sehe ICH persoenlich
keine Aenderungswuensche! Funakoshi erklaert Dir uebrigens auch, was die
einzelnen Schlaege und Tritte bedeuten...
PS: Umkleidekabine is notiert...
PPS: Ich wollte eigentlich etwas fuer mehr FLAIR, nicht fuer einfacheren
Aufstieg - Ich erinner mich, dass hier mal eina vorschlug, das meditieren
einzufuehren - um die Treffsicherheit danach fuer eine Weile zu erhoehen - DAS
hat meiner Ansicht nach mit FLAIR zu tun, meinetwegen kann dann auch das ueben
wieder schwerer oder die Schlaege normal schwaecher werden - bevor hier wieder
die ersten anfangen, zu schreien! ;o)

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



Re^9: Abfrage (Songoku,  3. Jul 1998, 13:12:04):
~#! rn=Tunixgut rt=899441687 rg=gilden.karate
~#! tid=898969427
Ich meinte nur, dass es etwas bloede ist, wenn man als Karateneuling mit ner
Ritterruestung rumlatschen muss, nur weil man sonst von jeder Ameise gekillt
wir ist auch nicht so FLAIRig ;)
Umkleidekabiine: wenn moeglich als Temporaerer Raum (nur von "Besitzer" zu
betreten (eventuell auch von einer DIEBESGILDE) und keine Spinde wie im
Diamond-Quest (es ist etwas bloede jeden sack auslehren zu muessen))
Schoen waere es auch, wenn man den Uebe Befehl auch auserhalb des Dojo
benutzen koennte (da steigert er keine Werte jedoch koennen alle sehen was man
kann (also eine Art fester EMOTE)

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



Re^10: Abfrage (Cassandra,  3. Jul 1998, 14:29:53):
~#! rn=Songoku rt=899464324 rg=gilden.karate
~#! tid=898969427
Ich geb ja zu das es als Karateka am anfang etwas schwer ist, aber deswegen
gleich zur Ruestung greifen. Karate ist nunmal etwas was man viel ueben muss,
wer der Gilde beitritt muss sich halt darauf einstellen.
Ich bin eigendlich auch zufrueh eingetreten, aber Ruestungen hab ich deswegen
trotzdem nicht getragen, dass passt einfach nicht zum Karateka.
Die Idee des meditieren von TNG find ich uebrigens gut.
Cassy, ganz kleiner Karateka

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



Re^11: Abfrage (Yaren,  3. Jul 1998, 16:07:16):
~#! rn=Cassandra rt=899468993 rg=gilden.karate
~#! tid=898969427
Ich krame nochmal die Sachen raus, die Mysti und ich uns auf der letzten Party
in DO ueberlegt haben ... ich glaube im wesentlichen waren das:

 - Kampfschrei um die Initiative zu haben oder den Gegner zu demoralisieren
   (Abzuege fuer den Gegner bei seiner Parademoeglichkeit)
 - Meditieren um Haut zu verhaerten (Resistenzen steigen)
 - Schleichen (aehnlich dem der Katzenkrieger)

Yaren (kramt aber nochmal genauer nach ...)

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



Re^12: Abfrage (Mysterious,  8. Jul 1998, 22:45:17):
~#! rn=Yaren rt=899474836 rg=gilden.karate
~#! tid=898969427
ni hao!

ja, haett ich mir den artikel von damals mal aufgehoben *seufz*

so, mal kram im gehirn....

ich glaub bei meditation hatten wir noch als alternative zur steinhaut, das
was tunixgut in ungefaehr bereits erwaehnte...
also ich waere ja fuer ein, zwei runden nen angriff mehr oder so pro runde,
wenn man meditiert hat.. meditieren kann man so ca. einmal pro online-h...

hmm.. ansonsten -> ls: *karate*: No such file or directory..

soo.. machts gut karateka und der rest: kuso kurae >;)

dA mYstA

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



Kleine Aenderung (Rochus, 27. Jul 1998, 16:50:25):
Auf Wunsch des EMs fuer Gildenbalance habe ich in der Karategilde
absolute Obergrenzen fuer die Staerke der Angriffe/Abwehren eingebaut.
Normalerweise duerftet ihr davon nicht viel bemerken (jedenfalls sind
laut meiner Statistik zumindest die Durchschnittswerte noch deutlich
unter diesen Grenzen), seid aber etwas vorsichtig bevor ihr Euch auf
das Ausweichen verlasst, das ist jetzt naemlich von der maximalen
Wirkung her beschraenkt.

  Rochus

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



Re: Kleine Aenderung (Songoku, 28. Jul 1998, 10:10:47):
~#! rn=Rochus rt=901551025 rg=gilden.karate
~#! tid=901551025
Na das juckt mich noch nicht.

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



Re: Kleine Aenderung (Mysterious, 31. Jul 1998, 10:21:48):
~#! rn=Rochus rt=901551025 rg=gilden.karate
~#! tid=901551025
ni hao!

hmm.. schade.. da kann ich den weghier wohl nich mehr atomisieren oder
vernichten ;)

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



Drunken Master/Drunken Monkey (Songoku, 17. Nov 1998, 13:48:12):
Ich wollte nur mal meinen unmut darueber loswerden, dass man hier nicht karate
trainiert sondern eher die kungFu Art Drunken Monkey/Master, da die ganzen
Karatekas eh dauernd besoffen sind. 
Koennte man da nicht ne anderee Art zum Auftanken erfinden?? (z.B. Meditation
oder ein paar katas?)

Nur so als vorschlag.   


SonGoku (der immer noch kein KameHameHa kann)

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



Re: Drunken Master/Drunken Monkey (Pryde, 17. Nov 1998, 15:22:29):
~#! rn=Songoku rt=911310492 rg=gilden.karate
~#! tid=911310492
Hmm... dauernd besoffen ?
Kann ich nicht nachvollziehen...

    Pryde kommt vor Stolz (meist nuechtern)

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



Re: Drunken Master/Drunken Monkey (Teddy, 17. Nov 1998, 16:03:12):
~#! rn=Songoku rt=911310492 rg=gilden.karate
~#! tid=911310492
Du kannst zum einen wunderbar alkfrei tanken und zum anderen gibt es im MG
reichlich Heilstellen, auch in FW.
Teilweise sogar recht stimmungsvolle.

Teddy

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



Re: Re: Drunken Master/Drunken Monkey (Key, 17. Nov 1998, 16:58:13):
~#! rn=Pryde rt=911316149 rg=gilden.karate
~#! tid=911310492
*hust*
Aeh Pruede mein Schatzi ... also ... aeh ...
Du kommst also vor lauter Stolz? Aeh wie soll ich das verstehen??

Key schaut fragend

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



Re^3: Drunken Master/Drunken Monkey (Pryde, 17. Nov 1998, 17:00:25):
~#! rn=Key rt=911321893 rg=gilden.karate
~#! tid=911310492
Key, in Dein Spatzenhirn wird das wohl nie reingehen.
Musst Du alles ins Laecherliche ziehen ? Hast Du wirklich nur eine 
Sache in der Ruebe ?

     Pryde weder pruede noch sonstwas

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



Re^4: Drunken Master/Drunken Monkey (Key, 17. Nov 1998, 17:09:50):
~#! rn=Pryde rt=911322025 rg=gilden.karate
~#! tid=911310492
Ich hab nur meine Pruede in der Ruebe ;)

Key
P.S.: ->Muell ;)

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



Re^5: Drunken Master/Drunken Monkey (Pryde, 17. Nov 1998, 17:10:53):
~#! rn=Key rt=911322590 rg=gilden.karate
~#! tid=911310492
Soso... ich und Muell in einem Artikel!
Das merk ich mir!

--> weg damit ;)

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



Re^6: Drunken Master/Drunken Monkey (Householder, 17. Nov 1998, 19:10:23):
~#! rn=Pryde rt=911322653 rg=gilden.karate
~#! tid=911310492
schatzi
he key du sack pryde ist mein schatzi !

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



Re^7: Drunken Master/Drunken Monkey (Pryde, 17. Nov 1998, 19:18:37):
~#! rn=Householder rt=911329823 rg=gilden.karate
~#! tid=911310492
aehem *raeusper* Duhuuu Charlie ? Ich glaub Du hast da eine Winzigkeit
falsch verstanden...
*kuschel* aba danke fuer Deine Hilfe gegen diesen doofen Key.

wieso ist das noch in der Rubrik ? ;)

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



Re: Re: Drunken Master/Drunken Monkey (Songoku, 19. Nov 1998, 10:39:47):
~#! rn=Teddy rt=911318592 rg=gilden.karate
~#! tid=911310492
Heul ich bin zu bloed :(((
Was sind eigentlich heilstellen?? 
Und alkfrei tanken geht leider nur an wenigen stellen, die ich kenne.

SonGoku (der keinen Alk mehr sehen kann)

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



Re^3: Drunken Master/Drunken Monkey (Teddy, 19. Nov 1998, 14:15:20):
~#! rn=Songoku rt=911471987 rg=gilden.karate
~#! tid=911310492
Also wenn du mal von Funakoshi aus osten, norden, westen, lies karte tippst,
wirst du die Menuekarte der naechstgelegenen Gaststaette lesen koennen.

Dort stehen alleine 5 verschiedene ALKOHOLFREIE Teesorten (Zu erkennen an dem
N wie Nein unter der Abkuerzung alc wie naja musst du schon selber drauf
kommen ;) )

Das ich jetzt hier keine Heilstellen in die MPA poste magst du mir bitte
verzeihen, aber ich hab keine Lust rituell hingerichtet zu werden. ;-)

Kleiner Tip, geh mal in Fernwest in jedes Gebaeude rein, wirst auf genau das
stossen, was du gefordert hast schaetze ich.

Teddy

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



Re: Drunken Master/Drunken Monkey (Jiddu, 19. Nov 1998, 18:40:54):
~#! rn=Songoku rt=911310492 rg=gilden.karate
~#! tid=911310492
Die Idee hatten schon einige Spieler - und da wurde glaub ich auch ne mail an
unseren gildencheff geschrieben, hab dann aber nie mehr was davon gehoert :(
die gilde braucht UMBEDINGT eine aufwertung - und zwar in sachen flair und
schoenheit!!!

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



Re^4: Drunken Master/Drunken Monkey (Jiddu, 19. Nov 1998, 18:42:25):
~#! rn=Pryde rt=911322025 rg=gilden.karate
~#! tid=911310492
haetteste mal die klammer ein wort frueher zu gemacht - so hat Key genau das
gedacht was da steht (wie ich auch;)

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



Re^4: Drunken Master/Drunken Monkey (Jiddu, 19. Nov 1998, 18:45:43):
~#! rn=Teddy rt=911484920 rg=gilden.karate
~#! tid=911310492
Na die Zeremonie die du meinst Teddy (denk ich mal) is zwar wunderschoen --
aber zum tanken recht ungeeignet, grad mal besser als ideln... uebrigens wer
das wort Portal schon mal gehoert hat und seher is kann SEHR GUT unALCisch
tanken..
JIddu (haengt noch bei 90%)
..

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



Re^5: Drunken Master/Drunken Monkey (Teddy, 19. Nov 1998, 21:36:48):
~#! rn=Jiddu rt=911501143 rg=gilden.karate
~#! tid=911310492
Er hat ne Art Meditation gefordert und genau sowas ist die Zeremonie fuer
mich.

Nur mal so am Rande.

Teddy

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



Re^4: Drunken Master/Drunken Monkey (Songoku, 20. Nov 1998, 11:51:57):
~#! rn=Teddy rt=911484920 rg=gilden.karate
~#! tid=911310492
Ich wollte eigentlich nicht nur in FW tanken (dort ist der Tee wirklich gut)
(und Teuer)
Warum willst du nicht rituell hingerichtet werden (versteht das nicht so ganz)
(und die zeremonie kenne ich (habe nur nicht gedacht, dasz die gemeint ist))

Sayonara!


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



Re: Re: Drunken Master/Drunken Monkey (Songoku, 20. Nov 1998, 11:55:12):
~#! rn=Jiddu rt=911500854 rg=gilden.karate
~#! tid=911310492
Wegen Flair habe ich ja auch die Katas als "auflademoeglichkeit"
vorgeschlagen. (sieht bestimmt gut aus, wenn ein paar karatekas mitten auf der
Strasze ihre uebungen absolvieren (gibt es eigentlich auch huete, in die man
Geld reinwerfen kann?))
Und aufwertung NUR in Flauir und Schoenheit (ein kamHameHa waere zwar ganz
nett aber musz ja nun wirklich nicht sein)


Sayonara!


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



Re^5: Drunken Master/Drunken Monkey (Songoku, 20. Nov 1998, 11:58:20):
~#! rn=Jiddu rt=911501143 rg=gilden.karate
~#! tid=911310492
Seher???
Ich bin Loeffel 7/5 (Portal und so ist da noch nich oder?/oder ist das jetzt
ne reine Sehergilde? Dann sollte hier mal renoviert werden oder die Gilde ins
Para gebeamt werden)

Sayonara!


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



Re^6: Drunken Master/Drunken Monkey (Songoku, 20. Nov 1998, 12:02:04):
~#! rn=Teddy rt=911511408 rg=gilden.karate
~#! tid=911310492
Ja. die teezeremonie ist ne Meditation. 
Aber NICHT das, was ich gemeint habe. Ich dachte eher daran, dasz man sich
mitten auf der Strasze auf den Boden setzt (lotossitz natuerlich) und
meditiert 
q
q

und dass die anderen das auch sehen (und einen eventuell auch mal schubsen
koennen, um die meditation zu stoeren (es soll ja solche lerute geben ;))

Sayonara!

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



Re^7: Drunken Master/Drunken Monkey (Anatol, 20. Nov 1998, 13:36:56):
~#! rn=Songoku rt=911563324 rg=gilden.karate
~#! tid=911310492
Um beim Titel des Threads zu bleiben: Alkoholeinfluss koennte sowohl
Kampfleistung als auch Lernrate massiv nachteilig beeinflussen - waer'
eine leicht zu machende und optimale Loesung des Problems, oder?

Kriegt gleich von seinem Karateka Schlaege,
Anatol :o)


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



Re^8: Drunken Master/Drunken Monkey (Songoku, 20. Nov 1998, 13:41:39):
~#! rn=Anatol rt=911569016 rg=gilden.karate
~#! tid=911310492
Ja das waere es, aber nur, wenn es ne andere moeglichkeit zum tanken gibt,
oder die Lernrate erheblich verbessert wird!

Sayonara!


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



Re^8: Drunken Master/Drunken Monkey (Alpha, 20. Nov 1998, 15:16:09):
~#! rn=Anatol rt=911569016 rg=gilden.karate
~#! tid=911310492
Hm...die Lernrate wird doch schon erheblich nachteilig durch Alkohol
beeinflusst - zumindest geht das Geruecht..
Naja, egal. Aber ich denke mal, das betrunkene Karateka mindestens so gut
kaempfen wie ihre nuechternen Kollegen. Unter Alkeinfluss ist man doch sehr
viel euphorischer und traut sich Schlaege anzubringen, die man nuechtern in
dieser Art nie gemacht haette, Oder?
Alpha.

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



Re^9: Drunken Master/Drunken Monkey (Boing, 20. Nov 1998, 15:18:39):
~#! rn=Alpha rt=911574969 rg=gilden.karate
~#! tid=911310492
Allerdings vergisst Du, dass sich die Reaktionszeit unter Alkoholeinfluss
deutlich verschlechtert. Das fuehrt zum einen dazu dass Du Dich schlechter
verteidigen kannst, weil Du die Schlaege zu spaet kommen siehst. Ausserdem
triffst Du den Gegner seltener, weil er sich meistens schon gar nicht 
mehr dort befindet, wo Du das eben noch erwartet hast. :)
Ist auf alle Faelle ne lustige Sache ... ;)
  Boing

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



Re^9: Drunken Master/Drunken Monkey (Anatol, 20. Nov 1998, 15:21:28):
~#! rn=Alpha rt=911574969 rg=gilden.karate
~#! tid=911310492
Jau. Und durch die grandiose Selbstueberschaetzung kriegst Du so
dermassen eine auf die Fresse, dass Du Dir vornimmst, nie wieder ein
Bier anzuruehren ;o).

Shikin Haramitsu Daikomyo,

Anatol :o)


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



Re^9: Drunken Master/Drunken Monkey (Deepblue, 20. Nov 1998, 22:52:07):
~#! rn=Songoku rt=911569299 rg=gilden.karate
~#! tid=911310492
Iste es nicht schon so? Zumindest beim Trainig in der Gilde)

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



Re^3: Drunken Master/Drunken Monkey (Jiddu, 20. Nov 1998, 23:26:31):
~#! rn=Songoku rt=911562912 rg=gilden.karate
~#! tid=911310492
Deine Artikel sind etwas unuebersichtlich... und fuer mich teilweise recht
unverstaendlich (was meinst du ?!) wenn karateka meinen ne Kata mitten auf der
strasse machen zu muessen .. bitte sollen sie doch - hier im mud wird
rollenspiel SO klein geschrieben ... is nich schoen aber poasst ins Mg
Gesammtkonzept ;)
Jiddu, flair fordernd.

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



Re^7: Drunken Master/Drunken Monkey (Jiddu, 20. Nov 1998, 23:28:10):
~#! rn=Songoku rt=911563324 rg=gilden.karate
~#! tid=911310492
Oh ja .. geh mal nach Schmarrn() oder war das konstruktiv?

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



Re^10: Drunken Master/Drunken Monkey (Jiddu, 20. Nov 1998, 23:31:06):
~#! rn=Boing rt=911575119 rg=gilden.karate
~#! tid=911310492
Kommt vielleicht auf die massen an... aber insgesammt wuerd ich das auch so
sehn wie Boing.

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



Re^5: Drunken Master/Drunken Monkey (Teddy, 22. Nov 1998, 12:31:16):
~#! rn=Songoku rt=911562717 rg=gilden.karate
~#! tid=911310492
Also wenn du nicht nur in FW tanken gehst kann ich dich endgueltig nichtmehr
verstehen.
Es gibt jede Menge andere KNeipen die alkfreie SSachen zum tanken anbieten mit
denen man sehr gut leben kann.
AUsserdem gibts auch noch jede Menge anderer Heilstellen.

Zum rituellen Hinrichten, als Chaot ist das meine Aufgabe, deswegen kann ich
nicht nselber hingerichtet werden. ;)

Teddy, versteht eigentlich garnichts mehr.

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



Re^9: Drunken Master/Drunken Monkey (Teddy, 22. Nov 1998, 12:33:24):
~#! rn=Songoku rt=911569299 rg=gilden.karate
~#! tid=911310492
Um nochmal auf deinen Tee zu sprechen zu kommen: Mein 2tie schafft es voellig
problemlos nach FW zu gehen, dort zu ueben und zu tanken und Geld zu metzeln
ohne FW verlassen zu muessen.

Teddy

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



Re^10: Drunken Master/Drunken Monkey (Tunixgut, 23. Nov 1998, 08:19:39):
~#! rn=Teddy rt=911738004 rg=gilden.karate
~#! tid=911310492
Ich tanke seit Jahr und Tag ohne einen einzigen Tropfen Alkohol. Zu
Seherzeiten isses sicherlich einfacher, wenn man problemlos schnell in die
Friedhofskneipe oder weiss der Geier wohin kommt, sicher, aber die Tees in FW,
zumindestens der Mingcha, sind eigentlich recht gut ihr Geld wert...
Ich hab' jedenfalls nie nicht ueber Tankmoeglichkeiten zu noelen gehabt...

's Karate-Zwerchle - auch PRO Zuwachs an Flair...

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



Re^4: Drunken Master/Drunken Monkey (Songoku, 23. Nov 1998, 10:39:05):
~#! rn=Jiddu rt=911604391 rg=gilden.karate
~#! tid=911310492
Das Problem ist jense, dasz ein Karateka eingach keine Katas machen kann, da
es nicht eingebaut ist.
Und wenn ein karateka Katas praktizieren kann, erhoeht dies meiner meinung
nach das Rollenspiel eher, als sich in ner kneipe zuzusaufen (egal ob mit Bier
oder Tee)

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



Re^8: Drunken Master/Drunken Monkey (Songoku, 23. Nov 1998, 10:40:48):
~#! rn=Jiddu rt=911604490 rg=gilden.karate
~#! tid=911310492
War eigentlich konstruktiv gemeint. warum?

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



Re^6: Drunken Master/Drunken Monkey (Songoku, 23. Nov 1998, 10:43:06):
~#! rn=Teddy rt=911737876 rg=gilden.karate
~#! tid=911310492
Ich finde kneipen zum Auftanken einfach etwas BLOEDE!
Es gibt (imNho) viel bessere moeglichkeiten ... laber laber (siehe vorherige
postings)
Sayonara.

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



Re^10: Drunken Master/Drunken Monkey (Songoku, 23. Nov 1998, 10:43:59):
~#! rn=Teddy rt=911738004 rg=gilden.karate
~#! tid=911310492
Ich wuerde das auch schaffen, aber ich will auch etwas in der Welt rumkommen.
Sayonara!


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



Re^7: Drunken Master/Drunken Monkey (Key, 23. Nov 1998, 12:40:49):
~#! rn=Songoku rt=911817786 rg=gilden.karate
~#! tid=911310492
Dann benutz halt keine tanken und geh heulen wenn Du dann nen problem hast.

Key einzeilend

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



Re^8: Drunken Master/Drunken Monkey (Tunixgut, 23. Nov 1998, 12:42:41):
~#! rn=Key rt=911824849 rg=gilden.karate
~#! tid=911310492
Ley, Key, Key...
Hier geht's um FLAIR!!!
Wenn es Dich als Chaot gluecklich macht, Dich zu besaufen, prima, dafuer biste
Chaot.
Wenn es Songoku NICHT gluecklich macht, dann lass ihn doch Vorschlaege machen!

ein Karate-Zwerchle - dem sowas gar nicht unrecht waere...

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



Re^9: Drunken Master/Drunken Monkey (Key, 23. Nov 1998, 12:48:28):
~#! rn=Tunixgut rt=911824961 rg=gilden.karate
~#! tid=911310492
Wenns konstruktive Vorschlaege waeren .....
Andererseits geht aber auch niemand hin und macht das Ritual mit, weil das ja
wieder dauert ...
Was um Jofs willen wollt ihr dann?
Ne andere Beschreibung beim Tee saufen?

z.B.: 
Du setzt Dich hin, Blabla schenkt Dir einen Tee ein, Du trinkst den Tee
gemuetlich, fuehlst Dich entspannt, und ausgeruht.
Das darf dann natuerlich net lange dauern, sagen wir das bringen wir in ner
Sekunde rueber, dann sind wir gluecklich.

*zuck*

Oder mal gescheite Ideen?

Key der nix dagegen hat fuer Flair auch Zeit zu opfern

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



Re^7: Drunken Master/Drunken Monkey (Novastorm, 23. Nov 1998, 14:01:06):
~#! rn=Songoku rt=911817786 rg=gilden.karate
~#! tid=911310492
>Ich finde kneipen zum Auftanken einfach etwas BLOEDE!
*waelz*
Klar, statt dessen laufe ich ne Kata und bin danach topfit...
Wer auch nur eine leise Ahnung hat von Karate, wuerde sowas als Moeglichkeit
nie auch nur ansatzweise in Betracht ziehen.
Soyowasauchimma...
    Nova, nach Hyongs oder Katas meist ziemlich knuelle

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



Re^8: Drunken Master/Drunken Monkey (Songoku, 23. Nov 1998, 14:16:25):
~#! rn=Key rt=911824849 rg=gilden.karate
~#! tid=911310492
Warum soll ich heulen?? 
Sayonara!

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



Re^10: Drunken Master/Drunken Monkey (Songoku, 23. Nov 1998, 14:18:42):
~#! rn=Key rt=911825308 rg=gilden.karate
~#! tid=911310492
Ich habe von KATAS geredet. das sind Uebungen (aehnlich einer Meditation), die
von Karatekas gemacht werden. DAS HGAT NIX MIT DER TZ ZU TUN (hust sorry wegen
dem geschreihe)
Sayonara!
 .

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



Re^8: Drunken Master/Drunken Monkey (Songoku, 23. Nov 1998, 14:23:03):
~#! rn=Novastorm rt=911829666 rg=gilden.karate
~#! tid=911310492
Ja trittmich ;)
Ich finbde es nunmal etwas besser, als ne Kneipentour.
(und wer was von religion versteht, weisz auch, dasz es nur wenige Priester
gibt, die zaubern koennen (nur so als schlechtes beispiel))
Da du dich so gut auskennst, hoffe ich auf konstruktive kritik zu diesen
Thema. Danke! 
Sayonara!

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



Re^7: Drunken Master/Drunken Monkey (Alpha, 23. Nov 1998, 14:24:05):
~#! rn=Songoku rt=911817786 rg=gilden.karate
~#! tid=911310492
Was schreibst Du da fuern Bloedsinn, Songoku?
"Ich finde kneipen zum Auftanken einfach etwas BLOEDE!"
Was ist an Kneipen bloede? 
Fuer solche Auesserungen gehoerst Du vor ein Bierschuettlertribunal. Bei der
Urteilsvollsteckung werden sicherlich noch andere Gildenmitglieder
helfen...aber da Du ja keine Kneipen benutzt....
Naja.

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



Re^8: Drunken Master/Drunken Monkey (Hangover, 23. Nov 1998, 14:26:05):
~#! rn=Alpha rt=911831045 rg=gilden.karate
~#! tid=911310492
Nun mal auf dem Teppich bleiben...
Wenn Songoku meint, dass Schnelltanken in Kneipen (am besten noch mit
Schnaepsen) nicht dem Konzept oder der Athmosphaere einer Karategilde
entspricht, ist das doch seine Sache.

-Hangover
(versteht die Aufregung nicht)

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



Re^8: Drunken Master/Drunken Monkey (Songoku, 23. Nov 1998, 14:27:02):
~#! rn=Alpha rt=911831045 rg=gilden.karate
~#! tid=911310492
Ich dachte die Sache haetten wir gerade vor 5 min auf den Kanaelen geklaert.
(oder war da schon zuviel A... im spiel??)
Sayonara!

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



Re^9: Drunken Master/Drunken Monkey (Anatol, 23. Nov 1998, 14:31:07):
~#! rn=Songoku rt=911830983 rg=gilden.karate
~#! tid=911310492
Ach ja, Du willst also zwischen Kata und Kata unterscheiden. Und Du meinst
im Speziellen (fuer uns Laien, nicht wahr) eher die Katas, die ein wenig
an Schattenboxen/Tai Mon-Chi-chi erinnern, also langsame indeed medidativ
anmutende Bewegungen.

Fein, das braucht dann ebenfalls eine geraume Zeit, kann nicht beliebig oft
angewandt werden, erfrischt zwar den Geist, erschoepft aber den Koerper,
bedarf viel Uebung, um Effekte zu erzielen und eines Spielers/Magiers, der
sich damit auskennt und sich zutraut, die entsprechenden Ph(r)asen zu
schreiben bzw. eines Magiers, der das dann auch fuer unsere speziellen 
Freunde implementiert.

Bis dahin, trink' weiter - oder heul doch.
Anatol


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



Re^10: Drunken Master/Drunken Monkey (Songoku, 23. Nov 1998, 14:32:08):
~#! rn=Anatol rt=911831467 rg=gilden.karate
~#! tid=911310492
Ja. das habe ich gemeint.
sayonara.

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



Re^10: Drunken Master/Drunken Monkey (Alpha, 23. Nov 1998, 14:36:54):
~#! rn=Anatol rt=911831467 rg=gilden.karate
~#! tid=911310492
Hm...vieleicht kann man Implementieren, das irgendwelche
was-auch-immer-Uebungen  dazu beitragen, dass man seine Lernrate in der
Karateausbildung etwas steigert. Das waer ganz nett. Aber von einem 100%
Karateka zu verlangen, anstatt in die Kneipe zu laufen, wild
was-auch-immer-Uebungen durchzufuehren, und das ihm auch nur noch begrnzt zu
erlauben zeigt doch wohl Realitaetsferne.
Alphas Karatboys tanken gerne und viel!

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



Re^11: Drunken Master/Drunken Monkey (Novastorm, 23. Nov 1998, 14:42:50):
~#! rn=Alpha rt=911831814 rg=gilden.karate
~#! tid=911310492
Aehm... Flair heisst das... und schon gar nicht Realitaetsferne.
Nur, fakt ist... die meisten 'Metzler' hier im Mud legen mehr wert auf die
Geschwindigkeit beim Tanken, statt der Geschichte drumherum.
Von daher muesste sich zumindestens erst einmal ein 'netter' Magier finden
der gewillt ist Alternativen zu schaffen. 
Achja... koennte der Threat langsam dem Ende zugefuehrt werden ? :)
    Nova

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



Re^8: Drunken Master/Drunken Monkey (Felpur, 23. Nov 1998, 16:40:58):
~#! rn=Novastorm rt=911829666 rg=gilden.karate
~#! tid=911310492
Er meint sicherlich ne Kata im Tai Chi Stil, naja sowas dauert dann sagen wir
mal auch 10 min, in der Zeit sind deine punkte auch auf normalen weg wieder
oben und du hast vieleicht nochwas anderes dabei gemacht.

Felpur, hat Ahnung von Katas macht die schon seit aehem 9? Jahren oder wars
laenger? Will meine ich trainiere Karate schon seit neun Jahren RL.

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



Re^11: Drunken Master/Drunken Monkey (Songoku, 23. Nov 1998, 16:54:24):
~#! rn=Alpha rt=911831814 rg=gilden.karate
~#! tid=911310492
Kneipe + Katas??
Nur so als Vorschlag, damit sich niemand benachteiligt fuehlt)
Sayonara!

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



Re^6: Drunken Master/Drunken Monkey (Jiddu, 23. Nov 1998, 17:26:02):
~#! rn=Teddy rt=911737876 rg=gilden.karate
~#! tid=911310492
naja lass mch raten.. Son* ist kein magier und will wohl in FW umbedingt ueben
und muss folglich dort tanken (oder mit der karawane zum tanken fahren ;) dazu
faellt mir allerdings nur Heul doch Son* ein ;)
Jiddu, konstruktiv.

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



Re^5: Drunken Master/Drunken Monkey (Jiddu, 23. Nov 1998, 17:28:13):
~#! rn=Songoku rt=911817545 rg=gilden.karate
~#! tid=911310492
Mein reden.
Jiddu, einzeilig.

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



Re^7: Drunken Master/Drunken Monkey (Songoku, 23. Nov 1998, 17:29:18):
~#! rn=Jiddu rt=911841962 rg=gilden.karate
~#! tid=911310492
Tja Son* ist eine Wurst und will NICHT nur in FW ueben (sondern auch mal in
Gefilden, wo man nicht so leicht tanken kann)
Sayonara!
Son*

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



Katas (Rochus, 23. Nov 1998, 17:51:15):
Um die Diskussion abzukuerzen:
Ich habe keine Zeit das zu programmieren.

Und dann gibt es noch das Problem mit Kata-Scripts...

  Rochus

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



Re: Katas (Songoku, 23. Nov 1998, 17:53:48):
~#! rn=Rochus rt=911843475 rg=gilden.karate
~#! tid=911843475
1. verstehe ich (grmbl)
2. verstehe ich nicht (bin doof)
3. Sayonara!

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



Re^9: Drunken Master/Drunken Monkey (Jiddu, 23. Nov 1998, 18:06:30):
~#! rn=Songoku rt=911830585 rg=gilden.karate
~#! tid=911310492
Warum nicht?

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



Re^8: Drunken Master/Drunken Monkey (Jiddu, 23. Nov 1998, 18:11:31):
~#! rn=Alpha rt=911831045 rg=gilden.karate
~#! tid=911310492
Bierschuettler raus ... ich stimm S*dingsda* in einigen punkten zu, das
kneipen gerenne ist nicht gerade das was mir als Karateka vorschwebt,
Katas/Maditation schon.
Jiddu.

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



Re^10: Drunken Master/Drunken Monkey (Jiddu, 23. Nov 1998, 18:22:03):
~#! rn=Anatol rt=911831467 rg=gilden.karate
~#! tid=911310492
Katas sind ja nu (sagt hier der leihe, ich) festgelegte reihenfolgen von
angriffs- und abwehrfolgen, die einen kampf (ohne gegner) simulieren...
*quaetsch das wort 'meditativ' irgendwo rein* die kata kostet also wohl
entsprechend dem wert in der bestimmten technik und dem gildenlvl weniger -
wie mp im kampf?

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



Re^12: Drunken Master/Drunken Monkey (Jiddu, 23. Nov 1998, 18:24:49):
~#! rn=Novastorm rt=911832170 rg=gilden.karate
~#! tid=911310492
wer den thread nicht lesen will kann ihn ignorieren oder?

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



Re^13: Drunken Master/Drunken Monkey (Novastorm, 23. Nov 1998, 18:26:09):
~#! rn=Jiddu rt=911845489 rg=gilden.karate
~#! tid=911310492
Gratulation Jiddu, Du bist der erste der es bei mir geschafft hat, ein
Mpa.ignoriere hervorzuzaubern...

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



Re^14: Drunken Master/Drunken Monkey (Patryn, 23. Nov 1998, 18:27:13):
~#! rn=Novastorm rt=911845569 rg=gilden.karate
~#! tid=911310492
setz mich gleich dazu, wo er recht hat, hat er naemlich recht, nova

------
patryn

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



Re: Drunken Master/Drunken Monkey (Jiddu, 23. Nov 1998, 20:03:27):
~#! rn=Pfeife rt=911851278 rg=gilden.karate
~#! tid=911310492
Erfahrung hier gildenlevel?

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



Re^11: Drunken Master/Drunken Monkey (Anatol, 23. Nov 1998, 22:35:28):
~#! rn=Jiddu rt=911845323 rg=gilden.karate
~#! tid=911310492
Jein. Natuerlich kann man die Art Kata, die Du meinst, sozusagen in
Originalkampfgeschwindigkeit durchziehen. Aber das ist weder meditativ
noch regenerierend und waere hoechstens als Uebemoeglichkeit in Betracht
gekommen. Der Punkt wurde schon kurz nach Anschluss der Karategilde vor-
gebracht und wegen der viel zu leichten Scriptbarkeit wieder verworfen.

Man kann (manche?) Kata auch langsam und bewusst durchfuehren, also nicht
irgendwas im post. pariet. cortex arbeiten lassen. Einfache Atemuebungen
helfen dem Laien ja auch schon zur Entspannung... :o).

Anatol - keine Ahnung von Karate ;)


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



Re^12: Drunken Master/Drunken Monkey (Jiddu, 23. Nov 1998, 23:25:54):
~#! rn=Anatol rt=911860528 rg=gilden.karate
~#! tid=911310492
Das klingt sinnvoller, ja ;) 
Allerdings scheint es ja eh nicht von belang zu sein, da sich wohl nichts mehr
aendern wird..

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



Re^12: Drunken Master/Drunken Monkey (Felpur, 24. Nov 1998, 08:57:13):
~#! rn=Anatol rt=911860528 rg=gilden.karate
~#! tid=911310492
In diesen Punkten stimme ich Dir voll zu Anatol. 
Felpur

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



Re^6: Drunken Master/Drunken Monkey (Xenon, 27. Nov 1998, 12:37:37):
~#! rn=Songoku rt=911563100 rg=gilden.karate
~#! tid=911310492
Schau Dich bitte mal um, ehe Du jammerst.
Ich bin Zauberer, fuer mich ist Alk bestimmt noch gefaehrlicher als fuer Dich.
Aus diesem Grund kenn ich mich in der Richtung ein bisschen aus.
Und ich kann nur sagen, fast ueberall im MG kann man ohne Alk gut und billig
tanken.

Also nicht nur Karate ueben auch mal umgucken im MG.

Xenon

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



Re^7: Drunken Master/Drunken Monkey (Songoku, 27. Nov 1998, 13:22:17):
~#! rn=Xenon rt=912170257 rg=gilden.karate
~#! tid=911310492
Mir ging es nicht um die gefahr (die ist naemlich kaum vorhanden (wenn
ueberhaupt) sondern darum, dass ich es laecherlich fand. (also nicht
rumnoergeln sondern Mails auch lesen)
sayonara!

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



Karate und Allohol : Prost (Phygos, 27. Nov 1998, 13:37:42):
Kleine gemeine Frage.
Jetzt stellen also wieder einige Bratnasen, aus vollkommen unerfindlichen
Grunden, die Ueberlegung an, ob Aklohol bzw alkoholhaltige Getraenke
demnaechst Auswirkungen auf Karate haben sollten.
Ich bemerke dabei besonders viele Halbgare, die mit Karate nichts oder nur
wenig am Hut haben. Also nach dme Prinzip diskutieren ----> krieg ich keinen
hoch, darf`s auch kein anderer! Naja ?! Diesen Spezialisten moechte ich nun
einmal anraten, ein wenig Ihre Gruetze in gebrauch zu nehmen. Alkohol wird
offensichtlich nicht nur Zauberern und ( moeglw. i. Zukunft ) Karatekas
schaden, sondern jedem stoffwechselbetriebenen Wesen egal welcher Gilde oder
Rasse.  Dementsprechend plaediere ich dann dafuer, das Alkohol grundsaetzlich
zu Abzuegen bei diversen Faehigkeiten fuehren moege. Bei allen Rassen, und bei
allen Gilden.
Und wenn jetzt unsere hoehenmaessig benachteiligten Rassen an kommen, und von
groesserer Alkoholvertraeglichkeit reden, dage ich nur eines.  Alkohol
interessiert sich nicht fuer Rassen sondern fuer Promille. Und die rechnet
sich ausschliesslich ueber das Fuellvolumen im Trinkenden.  Ach ja, beinahe
vergessen. 
Wenn schon in diesen Unsinn einsteigen, dann muss ich aber auch noch einen
oben auf setzen. Plaediere fuer Dauerschaeden bei intensivem
Langzeitmissbrauch mit Alkohol. ( Permanente Abzuege auf die Grundstats!!)
Und nun Ironie off
vergesset doch einfach diese ganze bleode Diskusson und lasst es wie`s ist.

kopfschuettelnd.........
Phygos

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



Re: Karate und Allohol : Prost (Boing, 27. Nov 1998, 13:40:41):
~#! rn=Phygos rt=912173862 rg=gilden.karate
~#! tid=912173862
Du hast es nicht kapiert.
Es geht hier nicht darum Alkohol fuer Karateka schaedlich zu machen
sondern eine stimmungsfoerdernde, alkoholfreie und ZUSAETZLICHE Methode
zum Tanken zu schaffen.
  Boing

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



Kata (Mahatmu, 27. Nov 1998, 13:41:54):
Die Idee an sich finde ich nicht dumm.
Als Tanke waer es wohl eher missraten, mit Level- und Ortrestriktionen ist
es aber fuer Newbies vielleicht ein kleines Plus. D.h. eine 30 s -
Meditation (Kata) heilt Dir soundsoviel Punkte/Magiepunkte
Ich schaetze, Songoku, wenn Du mit Rochus privat plauderst und ihm dann
10 kByte an ganz feinen Texten dafuer gibst, laesst er sich breitschlagen
und delegiert die Arbeit an einen anderen um es nur absegnen zu muessen.
Glaub ich jedenfalls. Schaetze, keine Gildenmagier wird einer guten Idee
im Weg stehen. Nur ist die Arbeit manchmal etwas zuviel und Feeling
beruht vor allem auf viel Text.
Aber letztendlich wird es wohl wie in guild.bierschuettler laufen:
Viel Geschrei um eine neue Idee und dann machen die, welche
sich am lautesten darauf 'gefreut' haben die Klappe zu, machen
doch nichts und das Thema stirbt ...

Gloin


PS: Wann kommt endlich ed fuer den Newseditor :) ?

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



Schriftrollrn (Deepblue, 18. Dez 1998, 19:43:39):
Koennte man die Dinger ev. zusaetzlich woanders verkaufen? Die staendige
Kutschiererei bei Nichtsehern nervt

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



kampfmodus (Deepblue, 14. Jan 1999, 16:46:52):
Koennte man einen Kurzkampfmodus einbauen, mo man nur noch angezeigt bekommt
ob getroffen oder nicht? 
Die ganzen technikmeldungen sind zwar gut, wenn man metzelt um zu trainieren
oder zu metzeln, in quests bzw beim Forschen nervt der scroll aber, wenn man
auf Autoattacks trifft und schnell die Raumbeschreibung lesen will. Brachte
mir schon einige besuche bei Lars ein, weil ich nicht wusste, wie ich fliehen
kann...

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



Re: kampfmodus (Key, 14. Jan 1999, 16:53:38):
~#! rn=Deepblue rt=916332412 rg=gilden.karate
~#! tid=916332412
angriffsmeldungen

Key

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



Re: Re: kampfmodus (Mahatmu, 15. Jan 1999, 12:22:53):
~#! rn=Key rt=916332818 rg=gilden.karate
~#! tid=916332412
Soll sich doch Ringors perve^H^H^H^H^Hsubjektiv bewertbares
TF-Script ziehen.

Mahatmu

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



Re: Re: kampfmodus (Deepblue, 15. Jan 1999, 18:28:51):
~#! rn=Key rt=916332818 rg=gilden.karate
~#! tid=916332412
Leider gibts da keine Hilfeseite, und bei angriffsmeldung wird nur der
aktuelle stand ausgegeben. Wie aender ich das?
(Bin kein Seher)

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



Re^3: kampfmodus (Key, 15. Jan 1999, 19:18:56):
~#! rn=Deepblue rt=916424931 rg=gilden.karate
~#! tid=916332412
angriffsmeldungen ein, angrissmeldungen aus? .)

Key

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



Re^4: kampfmodus (Yaren, 15. Jan 1999, 19:36:10):
~#! rn=Key rt=916427936 rg=gilden.karate
~#! tid=916332412
das heisst angriffsmeldung ... kein EN hinten dran ... aber ich muss auch
bemaengeln: undocumented feature ...

Yaren.

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



Re^5: kampfmodus (Zeuss, 15. Jan 1999, 19:37:43):
~#! rn=Yaren rt=916428970 rg=gilden.karate
~#! tid=916332412
Das iss kein Feature das iss ein Bug...;)

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



Re^4: kampfmodus (Deepblue, 15. Jan 1999, 20:51:33):
~#! rn=Key rt=916427936 rg=gilden.karate
~#! tid=916332412
Tnx, aber verbessert nicht viel, da immer noch alle neuen Meldungen kommen,
und wenn man mehrere Techniken anwendet (ist effektiv) wechselt es jedes
mal...

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



Feature (Deepblue, 15. Jan 1999, 20:52:37):
gibt es weitere solche features wie angriffsmeldungen?

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



Re: Feature (Yaren, 17. Jan 1999, 20:09:24):
~#! rn=Deepblue rt=916433557 rg=gilden.karate
~#! tid=916433557
konzentration angriff <prozent> 
konzentration ausweichen <prozent> 

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



Re: Re: Feature (Acrimon, 19. Jan 1999, 21:01:04):
~#! rn=Yaren rt=916603764 rg=gilden.karate
~#! tid=916433557
Steht noch nicht in der Hilfeseite. Schreibs bitte rein.

Acrimon

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



Re: Re: Feature (Yaren, 20. Jan 1999, 00:15:37):
~#! rn=Yaren rt=916603764 rg=gilden.karate
~#! tid=916433557
haeh? bin spieler. und inaktiver noch dazu ;-)

Yaren.

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



Kleine Aufwertung :-) (Rochus, 27. Jan 1999, 20:23:59):
Karateka koennen jetzt ab dem ersten Dan Kraft ihres Geistes
Laehmungen abschuetteln. Der Spruch heisst "Nemoku-Owaru"
und entspricht im wesentlichen dem Kampfwillen der Trves.
Ihr koennt Euch uebrigens bei Silvana fuer die schnelle
und unbuerokratische Genehmigung bedanken :-)

  Rochus

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



Re: Kleine Aufwertung :-) (Householder, 27. Jan 1999, 20:24:55):
~#! rn=Rochus rt=917468639 rg=gilden.karate
~#! tid=917468639
Coool :-) 

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



Re: Kleine Aufwertung :-) (Teddy, 27. Jan 1999, 23:02:04):
~#! rn=Rochus rt=917468639 rg=gilden.karate
~#! tid=917468639
Klasse, wieder ne Moeglichkeit weniger :-(
Endlich wieder ne Gilde ohne Nomagicprobleme die Spells ausweicht und Paralyse
abschuettlet.

Teddy, streicht nen halbes Dutzend NPCs von seiner Liste.

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



Re: Re: Kleine Aufwertung :-) (Anatol, 28. Jan 1999, 00:19:39):
~#! rn=Teddy rt=917478124 rg=gilden.karate
~#! tid=917468639
"Ohne Probleme" trifft nur bei NPCs zu, denen unendlicher Vorrat an
Konzentrationspunkten zur Verfuegung steht. Schlag Morgoth, nicht Rochus.

Anatol


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



Re^3: Kleine Aufwertung :-) (Teddy, 28. Jan 1999, 00:20:41):
~#! rn=Anatol rt=917482779 rg=gilden.karate
~#! tid=917468639
Ich finds nur daneben, das die Karatekas regelmaessig die faehigkeiten von den
Kaempfern uebernehmen, teilweise ogar ohne Skill.

Teddy

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



Re^4: Kleine Aufwertung :-) (Mindblade, 28. Jan 1999, 00:51:38):
~#! rn=Teddy rt=917482841 rg=gilden.karate
~#! tid=917468639
Also da kann ich Dir nun wirklich nicht ganz folgen Teddy, die Karateka sind
die EINZIGE Gilde gewesen, die nach ner Paralyse nur noch den Raum verlassen
konnten und sonst nix. Dass das dem Spielspass nicht so ganz foerderlich ist,
sollte wohl klar sein. Jetzt kann man wengstens auch vor nem Karateka mal
wieder Angst haben!:)

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



Re^5: Kleine Aufwertung :-) (Teddy, 28. Jan 1999, 00:53:29):
~#! rn=Mindblade rt=917484698 rg=gilden.karate
~#! tid=917468639
Allerdings weichen die schon dem Schaden meistens aus, haben nen Fokus und ne
geile Offensive/Defensive.

Ich fand das ganz OK bislang.

Teddy

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



Re: Kleine Aufwertung :-) (Jiddu, 28. Jan 1999, 01:01:38):
~#! rn=Rochus rt=917468639 rg=gilden.karate
~#! tid=917468639
Ich bin zwar noch -nie- gelaehmt worden.. aber cool, dass ich jetzt was
dagegen tun koennte :)
Jiddu, ueber jede Aufwertung uebergluecklich.

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



Re: Re: Kleine Aufwertung :-) (Morgoth, 28. Jan 1999, 08:57:02):
~#! rn=Teddy rt=917478124 rg=gilden.karate
~#! tid=917468639
Wechsel doch die Gilde, wenn Dir Deine zu schwach ist, oder hoer auf zu
jammern.

Morgoth, nett wie immer

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



Re^4: Kleine Aufwertung :-) (Ringor, 28. Jan 1999, 09:15:48):
~#! rn=Teddy rt=917482841 rg=gilden.karate
~#! tid=917468639
Ist das gerade der Heul-und-Quengel-Modus, oder hab ich bei den Karateka was
verpasst?

So wie ich das sehe, ist das das *erste* Mal, dass die Karateka etwas von den
Kaempfern "uebernehmen". Im uebrigen haben sich Kaempfer dafuer eingesetzt und
Rochus die Idee schmackhaft gemacht.

Wenn jede Gilde ihre Vorteile so stark mit Nachteilen bezahlen muesste, wie
die Karateka, dann haette es hier eine Menge Balance-Diskussionen weniger
gegeben ...

Ringor

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



Re^3: Kleine Aufwertung :-) (Teddy, 28. Jan 1999, 14:54:32):
~#! rn=Morgoth rt=917513822 rg=gilden.karate
~#! tid=917468639
Was mischst du dich da eigentlich hein? Hab ich dich um irgendeinen Kommentar
gebeten?
Wenns nicht Magier wie dich geben wuerde die der Meinung sind, ihren
KarateNPCs mal eben (fast?) unendlich MPs zu geben gaebs damit keine Probs,
den Spielern goenn ich ihr abschuetteln naemlich jederzeit, nur nen NOC, der
eh schon ein paarmal pro Runde Breit oder Pulvert, diversen Zauberspruechen
ausweicht und jetzt noch Paralyse abschuettelt kann ich ziemlich abhaken.
Wenn man da noch die reinraus-regelung reinrechnet, die ich bislang eigentlich
ganz ok fand, gibts da massiv Probleme und die hab wohl kaum nur ich.

Teddy, versuchts trotzdem mal sachlich.

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



Re^4: Kleine Aufwertung :-) (Key, 28. Jan 1999, 14:55:41):
~#! rn=Teddy rt=917535272 rg=gilden.karate
~#! tid=917468639
unt paket:
289 Wurfsterne.

Key

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



Re^4: Kleine Aufwertung :-) (Rochus, 28. Jan 1999, 16:15:08):
~#! rn=Teddy rt=917482841 rg=gilden.karate
~#! tid=917468639
Also, die Karateka konnten a) Spruechen schon ausweichen bevor es
irgend eine andere Gilde gab, geschweige denn Kaempfer,
b) schau mal wieviel das einen Karateka an Konzentrationspunkten kostet
und c) wird das je nach Schadenstyp sehr schwierig, bei einigen sogar
unmoeglich.

  Rochus

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



Re^5: Kleine Aufwertung :-) (Teddy, 28. Jan 1999, 16:16:44):
~#! rn=Rochus rt=917540108 rg=gilden.karate
~#! tid=917468639
Wie gesagt, Spielern goenn ich das ja, aber bei NPCs mit gefixten oder extrem
hohen MPs seh ich da etwas Probs.

Teddy

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



Re^6: Kleine Aufwertung :-) (Deepblue, 28. Jan 1999, 18:22:14):
~#! rn=Teddy rt=917484809 rg=gilden.karate
~#! tid=917468639
Wieso bist Du da Chaot und nicht Karateka?

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



Re^6: Kleine Aufwertung :-) (Morgoth, 28. Jan 1999, 23:59:41):
~#! rn=Teddy rt=917540204 rg=gilden.karate
~#! tid=917468639
Es steht in irgendeiner Doku, dass die MPs bei NPCs einen festen Wert haben
SOLLEN! Und wenn Du die alleine nicht schaffst, hast Du doch immer noch ein
starkes Team hin^h^h^hvor Dir, die Dir helfen koennen.

M*, auch sachlich

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



Re^4: Kleine Aufwertung :-) (Acrimon, 29. Jan 1999, 20:49:41):
~#! rn=Teddy rt=917535272 rg=gilden.karate
~#! tid=917468639
Dasz Rein-Raus frueher ging, war eigentlich ein konzepttechnischer Bug.
Zum Glueck ist der Bug jetzt etwas abgemildert (leider noch nicht ganz
beseitigt);
es muessen halt nur noch die Monster angepaszt werden, die aufgrund dieses
Bugs unrealistische Werte bekamen.
Die Probleme sind daher bei der reinraus-Taktik und bei ueberdimensionierten
Monstern zu suchen.

Acrimon, der Rote Ritter

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



Re^5: Kleine Aufwertung :-) (Jiddu, 29. Jan 1999, 23:04:02):
~#! rn=Acrimon rt=917642981 rg=gilden.karate
~#! tid=917468639
Was kostet der Nemoku-owaru denn an MP? Nur mal so ne Frage, ich konnts bis
jetzt noch nich probieren..
Jiddu

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



Nemoku-Owaru vielleicht erst debuggen, dann anhaengen? (Karam, 31. Jan 1999, 23:57:50):
Ich finde das ja eigentlich gar nicht so schlecht, dass mich der Bruder des
Schwertmeisters jetzt gar nicht mehr paralysieren kann, aber vielleicht
ist das Debugging doch noch etwas zu kurz gekommen.

> u
Ein tiefer Schacht.
Es gibt viele sichtbare Ausgaenge: oben, unten, osten, sueden, westen, norden,
suedwesten, nordwesten, nordosten und suedosten. 
Der Bruder des Schwertmeisters.
Eine Lichtruestung. (3)
Ein Bruder des Schwertmeisters versucht irgendeinen fiesen Schlag gegen Dich,
doch er erzielt damit keine Wirkung.
Du siehst einen Fehler im Raum-Zeit-Gefuege.
<Hick>! Oh, Tschuldigung.
 
> rm bruder
Ok
> Du hast jetzt 194 Lebenspunkte und 194 Konzentrationspunkte.
  Du greifst den Bruder des Schwertmeisters mit einem sehr gelungenen
Mae-geri-kekomi an.
Ein Bruder des Schwertmeisters pariert die naechsten Angriffe mit einem
Schwert.
Ein Bruder des Schwertmeisters macht ploetzlich schnelle, gefaehrlich
aussehende Schlaege, die zwar sehr aggressiv sind, die Deckung aber niemals
oeffnen.
Der GameDriver teilt Dir mit: Dein Herzschlag hat ausgesetzt!
e
Ein Bruder des Schwertmeisters ist jetzt hinter Dir her.
Ein tiefer Schacht.
Es gibt viele sichtbare Ausgaenge: oben, unten, osten, sueden, westen, norden,
suedwesten, nordwesten, nordosten und suedosten. 
> Der GameDriver teilt Dir mit: Dein Herzschlag hat wieder eingesetzt.

--
Karam (der Sekunden spaeter das ganze Mud crashen sah. Ein Zufall?)

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



Re^6: Kleine Aufwertung :-) (Asmodis,  1. Feb 1999, 23:40:29):
~#! rn=Teddy rt=917484809 rg=gilden.karate
~#! tid=917468639
Nunja, die geile Offensive/Defensive haben andere Gilden auch, wobei Kleriker
mehr Defensive und Trves ne bessere Offensive haben ...

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



Re^7: Kleine Aufwertung :-) (Key,  2. Feb 1999, 08:31:28):
~#! rn=Asmodis rt=917912429 rg=gilden.karate
~#! tid=917468639
Und der Rest schuetzt sich mit Ruesrtungen, bei denen Karas probleme kriegen
koennten :)

Key

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



Re^5: Kleine Aufwertung :-) (Jasper,  3. Feb 1999, 01:35:05):
~#! rn=Mindblade rt=917484698 rg=gilden.karate
~#! tid=917468639
huch??? man sich noch bewegen nach dem man paralysiert worden ist???
das muss ein bug sein :P
wenn man gelaehmt wird sollte man im raum stehen bleiben und furchtlos
schlaege einstecken :)

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



Re^6: Kleine Aufwertung :-) (Asmodis,  4. Feb 1999, 22:11:35):
~#! rn=Jasper rt=918005705 rg=gilden.karate
~#! tid=917468639
Sicher und Trves duerften eigentlich nur mit Vorsicht 0 kaempfen.
Sterben kann man hier auch so oft genug ...

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



Nemoku-Owaru (Slyfox, 28. Feb 1999, 16:00:52):
Hat der Nemoku-Owaru einen Skill, d.h. kann man den ueben oder nicht, und
wenn ja, wie frage ich den ab?

   Slyfox

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



Re: Nemoku-Owaru (Deepblue, 28. Feb 1999, 20:35:42):
~#! rn=Slyfox rt=920217652 rg=gilden.karate
~#! tid=920217652
Soviel ich rausgefunden habe, lernt man das bei Funakoshi und kann es dann.
Wenn man paralysiert wird, ruft man einfach Nemoku-Owaru auf.

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



Re: Re: Nemoku-Owaru (Slyfox,  1. Mar 1999, 17:12:40):
~#! rn=Deepblue rt=920234142 rg=gilden.karate
~#! tid=920217652
Das ist mir schon klar, aber man kann es sehr schlecht und paralysiert sich
oft noch mehr. Was ich wissen wollte, ist, ob man durch Ueben sich verbessern
kann oder nicht.

(Kapieren die Leute so schlecht oder drueck ich mich immer so schlecht aus?)

  Slyfox

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



Re^3: Nemoku-Owaru (Deepblue,  1. Mar 1999, 17:28:26):
~#! rn=Slyfox rt=920308360 rg=gilden.karate
~#! tid=920217652
Zumindest bei Funa kannst Du nicht ueben. Ob Du das durch anwendung lernst
weiss ich nicht
sc

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



meditation (Jerrico, 25. Mar 1999, 17:28:01):
ein skill 'meditation' oder so waere nicht schlecht, wobei man dann schneller
heilt waehrend man idlet :)

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



Re: meditation (Anatol, 25. Mar 1999, 17:52:52):
~#! rn=Jerrico rt=922382881 rg=gilden.karate
~#! tid=922382881
Wenn Deine Ideen wenigstens neu waeren...

Anatol


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



Re: Re: meditation (Songoku, 25. Mar 1999, 21:25:46):
~#! rn=Anatol rt=922384372 rg=gilden.karate
~#! tid=922382881
da faellt mir noch was ein...
koennte man nicht Katas einb   

Ok ich bin ja ruhig :)

Sayounara!

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



Neuerungen (Rochus,  1. Apr 1999, 16:37:07):
Aus aktuellem Anlass bekommen Karateka einige neue Schadenstypen.
Diese sind jedoch nur ueber Umwege zu erreichen.
So gibt es jetzt eine Moeglichkeit, die Haende eines Karatekas
zu weihen. Wer herausfinden will, wie, sollte mal Kyrio und Jean-Claude
im Kampf zusehen...
Unheiligen Schaden gibt es natuerlich auch, ein Besuch in der Daemonenburg
koennte sich da als nuetzlich erweisen (danke Zardoz!)
Was es in der Feuerebene zu holen gibt brauche ich sicherlich
nicht naeher erlaeutern :-)
Auch Giftmischerin Chilana erweist sich neuedings als sehr kooperativ.
Der uebermaessige Genuss von Coca-Cola soll bei Karateka
Hyperaktivitaet zur Folge haben, was sich in mehreren Angriffen
pro Runde auswirkt.
Allzu deutliche Hinweise darauf, wie man Parakarateorks herbeibeschwoert,
die einem im Kampf helfen, moechte ich nicht geben, weil diese Moeglichkeit
doch sehr maechtig ist. Verraten sei nur soviel, dass Patryn und Morgoth
dies in einiger Zusammenarbeit ermoeglicht haben.

  Rochus

PS:
Ach ja, und weil Anfaenger immer so grosse Muehe hatten, Ameisen zu
plaetten, habe ich noch den Fumikoomi-Tobi-Geri eingefuehrt.

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



Re: Neuerungen (Thufhir,  1. Apr 1999, 16:38:59):
~#! rn=Rochus rt=922977427 rg=gilden.karate
~#! tid=922977427
Danke Rochus. Das macht das Leben deutlich leichter.

Thufhir, im Auftrag von Sohnemann. ;)

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



Re: Neuerungen (Yendi,  1. Apr 1999, 16:49:18):
~#! rn=Rochus rt=922977427 rg=gilden.karate
~#! tid=922977427
Hmmm... muessen die Karateka, um wegen durch Colakonsum induzierter
Hyperaktivitaet in den Genuss (sorry, war unabsichtlich) mehrerer Angriffe pro
Runde zu kommen, sich nicht vorher zur Rasse "Colakiller" genmanipulieren
lassen zwecks resistenterer Magenschleimhaeute?

Oh, habe ich jetzt zuviel verraten?

Zerknirscht,
             Yendi



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



Re: Re: Neuerungen (Asmodis,  3. Apr 1999, 02:19:36):
~#! rn=Yendi rt=922978158 rg=gilden.karate
~#! tid=922977427
Magenschleimhaut ? Cola-Konsum schadet doch gar nicht, ich trinke auch
durchschnittlich 1 Liter Cola am Tag.

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



Re: Neuerungen (Tunixgut,  6. Apr 1999, 17:35:14):
~#! rn=Rochus rt=922977427 rg=gilden.karate
~#! tid=922977427
Oh, alles, was ich schon immer haben wollte! ;o)

Danke Rochus...

's Karate-Zwerchle - auf dem Weg zu Chilana! ;o)

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



Re^3: Neuerungen (Songoku,  7. Apr 1999, 19:47:45):
~#! rn=Asmodis rt=923098776 rg=gilden.karate
~#! tid=922977427
Nur??
Und wie ueberlebst du bei solch geringen Dosen?

Sayounara!
SonGoku (der jetzt endlich Ameisen plaetten kann :)

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



Re: Re: Neuerungen (Teddy, 11. Apr 1999, 03:48:52):
~#! rn=Yendi rt=922978158 rg=gilden.karate
~#! tid=922977427
Dafuer muessen die Karatekas bei den Katas dann demnaechst auch noch den Skill
Pipi halten lernen.

Teddy

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



Re^3: Neuerungen (Householder, 11. Apr 1999, 17:09:57):
~#! rn=Teddy rt=923795332 rg=gilden.karate
~#! tid=922977427
HarHar hervorragend ... und wenn man den noch nicht so gut kann rutscht es
einem mitten in der kata aus und man wird fuer die naechsten 3 online-stunden
zum dojo-schrubben verdonnert :-)

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



Muss mal sein! (Songoku,  7. Jun 1999, 18:22:16):
achtung:
...
...
...
...
KARATEKAS AUFWERTEN!!


Sayounara ;)

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



Re: Muss mal sein! (Householder,  7. Jun 1999, 20:06:08):
~#! rn=Songoku rt=928772536 rg=gilden.karate
~#! tid=928772536
klaklaklakla

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



Re^18: Yrdsteine (Bierchen, 16. Jun 1999, 05:13:25):
~#! on=Isnogood ot=929021777 og=d.unterwelt
~#! rn=Ulo rt=929010109 rg=d.unterwelt
~#! tid=928519874
Wie waere es denn, wenn man Funakoshi eine aehnliche Funktion wie das Heimweh
von Llystrathe bescheren wuerde. Damit koennte kein Uebungsskripter etwas
anfangen, aber Gildenmitglieder muessten auch nicht immer per Karawane zum
Meister.
Isno*

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



Re^19: Yrdsteine (Bierchen, 16. Jun 1999, 05:13:35):
~#! on=Householder ot=929028021 og=d.unterwelt
~#! rn=Isnogood rt=929021777 rg=d.unterwelt
~#! tid=928519874
fuer einen karateka (besonders in jungen jahren) ist der lange und muehsame
weg nach fernwest eine willkommene gelegenheit zur meditation und abhaechtung
... so ein weichei-gedoenst wie teile funakoshi mit heimweh ist daher voellig
unangebracht ...

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



Re^19: Yrdsteine (Bierchen, 16. Jun 1999, 05:16:04):
~#! on=Hood ot=929085176 og=d.unterwelt
~#! rn=Isnogood rt=929021777 rg=d.unterwelt
~#! tid=928519874
ganz klar, und llystrathe verteilt in zukunft schwarze guertel...

------
patryn

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



Statusmeldung (Night, 17. Jun 1999, 15:50:25):
Hi!

Koennte man die Antwort von Funakoshi bezueglich der Statusabfrage nicht in 2
Teile teilen?
Jedesmal, wenn ich ihn frage sausen die ersten Angriffe schon ueber den
Bildschirmrand hinaus und ich kann hier manchmal nicht zurueckscrollen. 
Ich glaube, dass das keine so schwer einschneidende Neuerung waere, das man
sie gleich abwuergen muss und ich glaube, dass es vielen anderen auch so geht.
:)
Oder bin ich die einzige ?

         Good Night

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



Re: Statusmeldung (Songoku, 17. Jun 1999, 16:05:48):
~#! rn=Night rt=929627425 rg=gilden.karate
~#! tid=929627425
Stimmt das waere gut.
(es gibt Leute, die oefters mit normalem Telnet reinmuessen. (pur unter Linux
ohne irgendwas) 

Sayounara!

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



Re: Re: Statusmeldung (Trance, 17. Jun 1999, 21:48:57):
~#! rn=Songoku rt=929628348 rg=gilden.karate
~#! tid=929627425

ich brauch sowas nicht, weil ich mit scripten arbeite. Dass ich das mache,
liegt allerdings schon daran, dass die originalausgabe praktisch nicht zu
gebrauchen ist ;)

Falls Du tf benutzt, fniger mal yaren und such auf seiner Web-Page. 

Telnet Benutzer sind leider nach wie vor bloed dran ...

Trance

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



Re^3: Statusmeldung (Wum, 18. Jun 1999, 04:57:01):
~#! rn=Trance rt=929648937 rg=gilden.karate
~#! tid=929627425
technisch waere das ein einzeiler, nagut, wenn man es genau nimmt, ein
zweizeiler. dafuer braucht man keine komischen scripte, frag deinen gildenmag
und erinner ihn an den More...

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



Re^4: Statusmeldung (Trance, 18. Jun 1999, 14:18:26):
~#! rn=Wum rt=929674621 rg=gilden.karate
~#! tid=929627425
[ ] Du kennst die Statusmeldung fuer Karateka.
[x] Du glaubst ein more wuerde helfen.
[x] Ohne Auswertescripte ist ein Karateka aufgeschmissen.

Trance, dreizeilend

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



Re^4: Statusmeldung (Jiddu, 18. Jun 1999, 17:16:58):
~#! rn=Wum rt=929674621 rg=gilden.karate
~#! tid=929627425
man BRAUCHT keine komischen scripte.. naja wie du meinst. ich hab es eben gern
komfirtabel aufgegliedert, informativ und uebersichtlich. ja, ich hoere schon
die "weichei"-rufe.
Jiddu.

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



Re^5: Statusmeldung (Householder, 18. Jun 1999, 18:52:14):
~#! rn=Jiddu rt=929719018 rg=gilden.karate
~#! tid=929627425
du erbaermliches weichei jiddu :-)

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



Re^5: Statusmeldung (Wurzel, 18. Jun 1999, 19:29:14):
~#! rn=Jiddu rt=929719018 rg=gilden.karate
~#! tid=929627425
weichei. heul doch.

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



Innovatives ?! (Ark, 20. Okt 1999, 21:03:05):
Also, statt dem ganzen Featuregeraffel wuerde ich als Teilbetroffener es
lieber sehen, wenn wir statt der 95% Abenteuerpunktegrenze zum letzten Dan ein
paar Gildenquests in Fernwest haetten. Deshalb der Aufruf (nicht in eigener
Sache :-) ) an wirklich ambitionierte Neumagier, die ein Gebiet suchen ->
Fernwest haette mal Neues dringend noetig. Wer also meint, ein bisschen was
fuer die Stimmung und die Gilde tun zu koennen, der sollte Rochus und die RMs
treten (BEVOR er dort proggt!).
Damit waere der Gilde eher geholfen als mit zig "neuen" Faehigkeiten/Skills,
die von anderen Gilden mehr oder weniger abgekupfert werden. Ist natuerlich
auch eine viel groessere Herausforderung, aber man ist ja Optimist *schluck*.

Hoffentlich hab' ich da nix Schlimmes angestossen :-)


              *** ARK * the * Magnificent ***


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



Re: Innovatives ?! (Householder, 22. Okt 1999, 00:13:38):
~#! rn=Ark rt=940446185 rg=gilden.karate
~#! tid=940446185
also magischer schnickschnack und so was passt wirklich nicht zu der gilde das
kann man einsehen ... was aber wunderbar passen wuerde und der gilde
vielleicht wieder ein bischen attraktivitaet verleihen koennte waere ein
schnellspruch :-) ... 

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



Attraktivitaet (Lolli, 22. Okt 1999, 11:01:46):
mein kleiner hat mir ja auch schon mal so sein leid geklagt, deswegen bin ich
auch ein bisschen informiert.
es gibt ein paar sachen die ich an der gilde fuer verbesserungswuerdig halte.
zum einem is da mal die sache dass man Funakoshi nur im dojo zu den
faehigkeiten befragen kann. das ist als nicht-seher sehr nervig wegen dem
daemlichen karawane-gefahre (ich weiss, es gibt nen weg durch die katakomben
der schnell gehen soll, aber nicht jeder kennt den).
es waere wuenschenswert wenn man einbauen koennte dass man diese sachen auch
mit 'teile mit' erfaehrt.
zum anderen ist es die sache mit dem licht. es is dem kleinen schon einige
male passiert, dass er mit fackeln irgendwo gelatscht ist und dann ging der
saft aus. ich denke es widerspricht nicht den grundprinzipien der gilde wenn
man so eine art 'licht-mach-faehigkeit' einbaut.
die angesprochene 'schnell'-moeglichkeit wuerde mein kleiner auch natuerlich
sehr begruessen. die mittel eines karatekas sind ja doch relativ
beschraenkt...



LOLLI --> stellvertretend fuer den Kleinen

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



Re: Attraktivitaet (Bendeigid, 22. Okt 1999, 12:05:12):
~#! rn=Lolli rt=940582906 rg=gilden.karate
~#! tid=940582906
Ich kenn mich ja nu ueberhaupt nicht mit den Karatekas aus, werde aber dennoch
mal meinen Senf dazugeben:
Die Diskussion um die Fernabfrage und die Lichtmach-Diskussion sind schon zu
Fruezeiten der Gilde gekommen, und sie sind immer abgelehnt worden. Teile-mit
wegen seinem "teilmagischen" Character, das Lichtmachen aus dem einfachen
grunde, dass "funkenschlagen" mit den Haenden wohl nicht sinnig ist.
Ausserdem: wenn der Gag mit dem Dunkel/hellunterschied durch praktisch
uneingeschraenktes Licht (wie es auch diese leidigen Pfirsische tun... aber
das ist eine andere Diskussion! ;)) zunichte gemacht wird, dann schlage ich
vor, wir erleuchten das komplette mud und lassen Dunkelheit nicht mehr zu.
Sehr stimmungsvoll, natuerlich....

Bendeigid

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



Re: Re: Attraktivitaet (Sharia, 22. Okt 1999, 12:11:01):
~#! rn=Bendeigid rt=940586712 rg=gilden.karate
~#! tid=940582906
das bringt mich auf ne alte Diskussion: Tag/Nacht-System ? :-)

Sharia

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



Re^3: Attraktivitaet (Boing, 22. Okt 1999, 12:17:28):
~#! rn=Sharia rt=940587061 rg=gilden.karate
~#! tid=940582906
Nein.

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



Re: Re: Attraktivitaet (Sublime, 22. Okt 1999, 12:22:25):
~#! rn=Bendeigid rt=940586712 rg=gilden.karate
~#! tid=940582906
Ich hab zwar auch eigentlich keinen plan von den Karatekas,
ich weiss nur, dass mir die ganzen Namen der Taktiken zu
kompliziert sind ;) Na gut, aber andres thema ...
Das mit der Fernabfrage ist z.T. fuer Nichtseher zum
Vorteil, aber macht es nicht die Stimmung kaputt ? Ich, z.B.
als Kaempfer bin bis ich Seher geworden bin immer mit dem
Schiff ins Verlorene Land, von da aus nach Akhar Nth'Tar und
dann quer ueber die Insel. Das war zwar manchmal nervig,
aber ich hab die Zeit dann genutzt und mal wieder meine 
stats abgefragt.
Zum Thema Licht, das Zauberer nen Lichtzauber haben ist
logisch (wenn man Zaubis mal als real ansieht), die Sache
mit der Ueberstaerke der Zaubis lassen wir lieber mal
aussen vor. Aber ich kann nur sagen, neben dem Elfendorf
gibts ein Fackelgeschaeft und Geldprobs hat hier wohl 
niemand im MG ausser die jungen characs, die man doch
auch ganz gern mal unterstuetzt.
Fazit : Ich finde so ne Idee wie den Lichtzauber oder 
das abfragen ziemlich dumm, zumal es ja auch nichts
neues ist. Wenn man sowas machen moechte, kann man immer
noch die Gilde wechseln ;)
Die Idee mit dem Schnellkampf finde ich allerdings gut.
Man stelle sich einen Karateka im Schnellkampf vor im
Gegensatz zum vollgeruesteten Kaempfer ;)

Sublime

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



Re^3: Attraktivitaet (Darkwing, 22. Okt 1999, 12:24:15):
~#! rn=Sublime rt=940587745 rg=gilden.karate
~#! tid=940582906
wollte nur mal anmerken dass es gar nicht so einfach ist, es mal dunkel zu
bekommen. Hier leuchtet echt jeder Mist :-)

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



Re^3: Attraktivitaet (Tiamak, 22. Okt 1999, 12:25:15):
~#! rn=Sublime rt=940587745 rg=gilden.karate
~#! tid=940582906
Also wer als Kaempfer zur Gilde faehrt, um seine Skills abzufragen, hat
irgendwas nicht richtig verstanden.

Tiamak

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



Re^4: Attraktivitaet (Sublime, 22. Okt 1999, 12:27:47):
~#! rn=Tiamak rt=940587915 rg=gilden.karate
~#! tid=940582906
War ja klar, das mindestens meine Worte mal wieder umdreht ;)
Na gut, damits auch der letzte Doedel kapiert,...im Struv
kann man noch einige Dinge mehr machen, als Azubis anmelden
und in der Folterkammer trainieren. Und zur Aufklaerung :
Ich habs natuerlich gelernt, mich selber einzuschaetzen, ...

Subl

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



Re^5: Attraktivitaet (Sublime, 22. Okt 1999, 12:28:16):
~#! rn=Sublime rt=940588067 rg=gilden.karate
~#! tid=940582906
argl, und fehler im ersten satz ;) egal !"

Subl

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



Gilde-Quests (Slash, 22. Okt 1999, 14:39:25):
wie waers wenigstnes mit klitzekleinen gildenquests..
z.B. rette den Bonsai von Bruce Leih....

slash

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



Re: Re: Attraktivitaet (Mahatmu, 22. Okt 1999, 15:38:53):
~#! rn=Bendeigid rt=940586712 rg=gilden.karate
~#! tid=940582906
Ich bin schon fuer, das zu implementieren:
> mache licht
Du reibst Deine Haende schneller und immer schneller aneinander. Sie
werden ziemlich warm.
Deine linke Hand faengt an zu brennen. Du kannst wieder etwas sehen.
Deine rechte Hand faengt an zu brennen.
...
Deine linke Hand verlischt.
Es wird dunkel als Deine rechte Hand verlischt.
...
Du hast nicht genug Haende frei.

*g* Mahatmu

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



Re^4: Attraktivitaet (Heromcfly, 22. Okt 1999, 15:56:49):
~#! rn=Boing rt=940587448 rg=gilden.karate
~#! tid=940582906
*waelz*

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



Re: Attraktivitaet (Alpha, 22. Okt 1999, 16:03:44):
~#! rn=Lolli rt=940582906 rg=gilden.karate
~#! tid=940582906

Fernabfrage, dass passt wirklich nicht zur Gilde...aber vielleicht sollte ein
100%iger 8daniger Karateka auch die Faehigkeit haben, andere Karateka in ihren
Faehigkeiten einzuschaetzen weil der kann ja eh alles, was Funakoshi kann.

Vielleicht sollte Funakoshi ein paar leichte Lichtzauberrollen verkaufen? DAS
wiederspraeche dem Gildengedanekn der Magieunfaehigkeit nicht und loeste auch
das Problem.

Alpha.

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



Re: Re: Attraktivitaet (Boing, 22. Okt 1999, 16:14:56):
~#! rn=Alpha rt=940601024 rg=gilden.karate
~#! tid=940582906
Ich verstehe das Lichtproblem ehrlichgesagt nicht ganz, wieso sollte
Funa* Lichtspruchrollen verkaufen wenn es doch Fackeln und diverse
andere Lichtgegenstaende gibt? Ich bitte um Erleuchtung. :)
  Boing

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



Re^3: Attraktivitaet (Sublime, 22. Okt 1999, 16:16:14):
~#! rn=Boing rt=940601696 rg=gilden.karate
~#! tid=940582906
Die Antwort liegt doch klar auf der Hand !
Noch mehr Karatekas moechten mit der
Karawane in ihre Gilde reisen, um nur da
die Fackeln zu kaufen ! ;)
Jetzt kommts drauf an, wie schnell wir
die Karawane machen ...


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



Re^4: Attraktivitaet (Sublime, 22. Okt 1999, 16:16:30):
~#! rn=Sublime rt=940601774 rg=gilden.karate
~#! tid=940582906
pardon, lichtspruchrollen ;)

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



Re^3: Attraktivitaet (Alpha, 22. Okt 1999, 16:16:36):
~#! rn=Boing rt=940601696 rg=gilden.karate
~#! tid=940582906
Na weil Fackeln unheimlich schweer sind? Und weil man davon nicht gleich 10-20
Stuecker kaufen kann.
...was bei laengeren Questen/Aufenthalten in der Dunkelheit unvorteilhaft sein
kann.
Alpha.

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



Re^4: Attraktivitaet (Teddy, 22. Okt 1999, 16:17:04):
~#! rn=Sublime rt=940601774 rg=gilden.karate
~#! tid=940582906
Am besten macht mans in der Karawane dunkel und wer kein Licht hat, verlaeuft
sich in der Wueste, damit sich die Fackeln auhc gleich wieder verbrauchen auf
dem Weg.

Teddy

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



Re^4: Attraktivitaet (Teddy, 22. Okt 1999, 16:17:50):
~#! rn=Alpha rt=940601796 rg=gilden.karate
~#! tid=940582906
Schonmal von Lampen mit Lampenoel gehoert?
Oder anderen kaufbaren Lichtquellen, gibts uebrigens beim Elfendorf im
Dutzend.

Teddy


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



Re^4: Attraktivitaet (Hight, 22. Okt 1999, 16:18:26):
~#! rn=Darkwing rt=940587855 rg=gilden.karate
~#! tid=940582906
Stimmt ueber mangel an lichtquellen kann sich hier wiklich keiner beschweren
... 
Ok fuer karatekas fallen leuchtetde ausruestungen flach ... abba pfirsiche
gibts umsonst und sind nicht schwer zu holen 
man muss ja nich ins luptal rennen wenn die hydra gerade da is ... und wenn
die kommt krigt das jeder mit .o)

ansonsten leuchtet jeder hier im mg wie n weihnachtsbaum .o)))

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



Re^3: Attraktivitaet (Tarina, 22. Okt 1999, 17:20:43):
~#! rn=Sublime rt=940587745 rg=gilden.karate
~#! tid=940582906

Man kann den Weg der Karatekas mit dem der Kaempfer nicht vergleichen.

Als Kaempfer benutzt man zwar 2 Schiffe... aber die Schiffe kommen doch seit
der 
Einfuehrung der Orkgaleere recht haeufig vorbei, so das keine zu grossen
Wartezeiten
entstehen.

Ich weiss nicht, wie lange man genau auf die karawane warten muss. Aber ich
habe diverse
Male gewartet und mir kam das so vor, als wenns mindestens 10 Minuten Abstand
zwischen den
zeit
Karawanen sind. Das ist zu lange. Das macht keine Stimmung, sondern nervt.

Abgesehen davon gibts fuer Karatekas auch keine Abkuerzung von der Gilde nach
Port Vain
wie fuer die Kaempfer. Also nochmal 10 Minuten drauf. Ich seh nicht, wo das
Stimmungsfoerdernd ist.

Tarina

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



Re^4: Attraktivitaet (Isis, 22. Okt 1999, 17:24:37):
~#! rn=Tarina rt=940605643 rg=gilden.karate
~#! tid=940582906
Also wenn mich jemand fragt, bin ich immer gerne bereit jemand zu nem Ritt mit
Pegasus einzuladen...das dauert keine Minute von Port Vain aus...

Isis...findet Karate sollte so bleiben wies ist...

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



Re^5: Attraktivitaet (Sensi, 22. Okt 1999, 17:29:04):
~#! rn=Isis rt=940605877 rg=gilden.karate
~#! tid=940582906
Wie waers wenn wenigstens hoehere karatekas den niedrigeren sagen koennen ob
sie aufsteigen koennen
es muessen ja nicht die genauen % sein, aber so nach dem motto du bist ewig
weit weg vom aufstieg oder sehr sehr nah am aufstieg

Sensi, wundert sich etwas ueber die entwicklung des thread

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



Re: Attraktivitaet (Ark, 22. Okt 1999, 18:26:52):
~#! rn=Lolli rt=940582906 rg=gilden.karate
~#! tid=940582906
Tja, und grad beim Licht-machen, da sind wir schon wieder beim Thema
abkupfern. Brauchen wir nicht, wenn wir gut planen, haben wir zig
Moeglichkeiten zu. Stinkt Funakoshi? Der Sensei ist nicht nur zum "Anschreien"
aus der Ferne da, der Meister will eben persoenlich mit seinen Schuelern in
Kontakt bleiben. Schnell? Wieder mal kopiert, ausserdem hat man als hoher
Level (sowas will eben gelernt sein) ab und an 2 Angriffe die Runde (und jetzt
werdet halt gierig und verlangt mehr). Karawanefahren nervt? Fernwest soll
nicht so einfach erreichbar sein, wenn die Distanz nervt, naja, dann uebt in
FW, wenn das zu langweilig ist, nun, dafuer war ja auch mein Aufruf an
ambitionierte Magier gedacht :-)
Ich werde den Verdacht nicht los, dass die Attraktivitaet einer Gilde bei
vielen Leuten nur am Metzelskill und an den bequemen Faehigkeiten gemessen
wird. Tja, und so wird halt fleissig kopiert. Also eher keine Gildenquests,
was?


              *** ARK * the * Magnificent ***


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



Re: Gilde-Quests (Ark, 22. Okt 1999, 18:29:02):
~#! rn=Slash rt=940595965 rg=gilden.karate
~#! tid=940595965
sag merlin mach slash zum magier ?


              *** ARK * the * Magnificent ***


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



Re^4: Attraktivitaet (Ark, 22. Okt 1999, 18:30:44):
~#! rn=Alpha rt=940601796 rg=gilden.karate
~#! tid=940582906
Pfirsiche, Lichtstab (Autoloader), etc.
Am I missing here something or what?


              *** ARK * the * Magnificent ***


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



Re^5: Attraktivitaet (Gnome, 22. Okt 1999, 18:39:48):
~#! rn=Ark rt=940609844 rg=gilden.karate
~#! tid=940582906
denkt doch mal drueber nach, wie man die gilde wirklich etwas attraktiver
gestalten koennte.
und kommt jetzt bitte nicht mit: ich will einen licht/schaetz/schnellspruch.
sondern eher mit gildenqueste etc. 
und dann wendet euch vertrauensvoll per mail an rochus und unterbreitet
ihm eure vorschlaege.

gnOme

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



Re^6: Attraktivitaet (Mahatmu, 22. Okt 1999, 19:29:10):
~#! rn=Gnome rt=940610388 rg=gilden.karate
~#! tid=940582906
Noja die Idee des Schaetzens fuer den Aufstieg ist schon nicht schlecht.
Aber ich habe keine Lust an Rochus zu schreiben, weil ich kein Karatedings
bin. Ausserdem muss die Zeitung wieder mal voller werden. Zwischen den
Seminaren ist das MUD der einzige Quell an Unterhaltung.

gloin

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



Re: Re: Attraktivitaet (Friedel, 22. Okt 1999, 20:31:33):
~#! rn=Ark rt=940609612 rg=gilden.karate
~#! tid=940582906
ueben in fernwest?
ansich keine schlechte idee da auch nette monster vorhanden sind an denen
kleinere karas ueben koennen
sage das einzige was fehlt ist ne vernuenftige tanke!
als karateka braucht man nun mal ein paar KP und ich habe da oben noch keine
tanke gefunden die etwas im angebot hat das viele KP wiedergibt und nicht
gleich 500 muenzen oder mehr kostet

Friedel, auch nen karateka habend

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



Re^4: Attraktivitaet (Sublime, 23. Okt 1999, 11:25:42):
~#! rn=Tarina rt=940605643 rg=gilden.karate
~#! tid=940582906
Dann sollte vielleicht jemand gerechterweise eine Abkuerzung
von der Gilde nach PV machen. Ich kann mich aber auch an 
Kaempferzeiten erinnern, wo ich 5 min auf die doofe Barke warten
musste. Zeitmaessig sollte das fast gleich sein, ich brauchte
wohl ca. 8-10 min ins Struv. Gut, die Karawane ist nicht die 
schnellste, da haben die Karatekas anscheinend wirklich einen 
etwas laengeren weg ;)

Ne Abkuerzung von der Gilde waer aber erstmal schoen, oder ?
Und schwierig zu proggen ist das Ding, glaube ich, auch net.

Sublime

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



Re^3: Attraktivitaet (Ark, 23. Okt 1999, 12:03:55):
~#! rn=Friedel rt=940617093 rg=gilden.karate
~#! tid=940582906
Gemach, nicht immer muss es ja solche Tanken geben. Monster? Fuer Abwehr sind
die Bauern gut, auch die Kraehe. Gut, ich gebe zu, ich habe eine Elfin, die
bequem die kleinen Baueln velfehlen kann, weil sie so gross ist. Aber auch so
kann man da gut ueben, auch an den "gewoehnlichsten" Npcs. Zum Ueben habe ich
mich meine letzten 30% gar nicht mehr aus FW wegbewegt. Und dabei nur mit
Telnet gespielt :-) Ich tippe mal, euch fehlt ein bisserl die Geduld.


              *** ARK * the * Magnificent ***


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



Re^5: Attraktivitaet (Ark, 23. Okt 1999, 12:04:43):
~#! rn=Sublime rt=940670742 rg=gilden.karate
~#! tid=940582906
Here we go again :-), jetzt auch noch die Kaempfer *g*


              *** ARK * the * Magnificent ***


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



Re^6: Attraktivitaet (Sublime, 23. Okt 1999, 22:55:06):
~#! rn=Ark rt=940673083 rg=gilden.karate
~#! tid=940582906
jup ;)

Subl

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



Re^4: Attraktivitaet (Pyrdacor, 24. Okt 1999, 14:10:44):
~#! rn=Ark rt=940673035 rg=gilden.karate
~#! tid=940582906

Man lernt, wenn man total verfehlt ?? entweder habe ich mir das nur
eingebildet, oder ich habe dabei nicht einen hauch geuebt ... naja, vielleicht
bin ich auch zu jung dazu :)

Pyrdacor hat eh keine Ahnung

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



Verbesserung (Friedel, 24. Okt 1999, 15:24:49):
Wie waers denn wenn man bei Funakoshi ne art Kurse anbieten koennte
das uebe "name" bringt naemlich nicht besonders viel
man koennte versch. Sachen anbieten z.B.
einen kurs wo nur die abwehr vorm kopf geuebt wird oder nur der angriff auf
den kopf des gegners
so koennte man viel effektiver trainieren
sage so ein kurs koennte 10-15 minuten dauern und vielleicht auch ein bissl
kosten ;)

Friedel, glaubt das es das nicht mal irgendwo gibt ;) 

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



Re: Verbesserung (Householder, 24. Okt 1999, 17:32:00):
~#! rn=Friedel rt=940771489 rg=gilden.karate
~#! tid=940771489
ich faende funakoshi koennte besonders unseren juengeren karateka ruhig etwas
meditation beibringen ... diese heissporne tun den ganzen tag nix als wie die
irren rumzlaufen, zu saufen, zu fressen, sich gegenseitig und anderen npc's
die fresse einzuschlagen und was weiss ich noch alles. 

Da natuerlich nur solche aenderungen spass machen, die die kampfkraft erhoehen
koennte das meditieren ja fuer eine gewisse zeit die magieausweichfaehigkeit
etwas erhoehen/verbilligen bzw. etwas haeufiger einige extraschlaege
produzieren :-)

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



Re: Re: Verbesserung (Heromcfly, 24. Okt 1999, 21:01:22):
~#! rn=Householder rt=940779120 rg=gilden.karate
~#! tid=940771489

bilde ich mir das ein oder gabs die idee schonmal ? :)

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



Re^3: Verbesserung (Householder, 25. Okt 1999, 01:55:33):
~#! rn=Heromcfly rt=940791682 rg=gilden.karate
~#! tid=940771489
vielleicht werdn ja in dieser gilde ideen angedacht, wenn sie 10-20 mal
vorgetragen werden ....

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



Re: Re: Aufwertung (Widewitt, 25. Okt 1999, 13:28:11):
~#! rn=Gnome rt=940417815 rg=gilden.karate
~#! tid=940417365
Also so Magie ala Ninja finde ich im Karate ein bischen verfehlt ...

Und zum Thema Funaakoshi zu verteidigen, er kann das vielleicht ganz gut
selber, aber ein Sensei laesst das doch lieber Seine Schueler machen ... warum
sollte er die Arbeit uebernehmen. Kurz und Gut ich will nicht daneben sitzen
un zuschauen, wie irgendeiner versucht meinen Meister nieder zumachen !!

Widewitt

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



Re: Re: Attraktivitaet (Widewitt, 25. Okt 1999, 13:34:45):
~#! rn=Alpha rt=940601024 rg=gilden.karate
~#! tid=940582906
Die Idee, dass 8. DAN andere SWpieler einschaetzen koennen find ich gut. Sowas
koente man ja mit einer Vorfuehrung (Kata) des Schulers verbindne  .. 

Widewitt


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



Karate Aufwerten? (Phygos, 25. Okt 1999, 16:53:19):
Als Karateka kenn ich das Elend, dass die Kratategilde ( im Laufe der Zeit ) 
zu einer reinen
Liebhabergilde VERKOMMEN ist. Magier finden sie uninteressant, also setzt sich
auch keiner fuer sie ein. Alles pruegelt sich lieber um Zauberer oder
Kaempfer. Mittels Karate ist es vielfach kaum noch moeglich hoeherwertige
Items zu ermetzeln. ( ja ja  alleine soll man ja nicht. wozu gibt es teamkampf
)  ABER  als Karateka wird man in Teams ( die einem ja helfen keonnten sowas
zu besorgen ) nur noch als Balast angesehen. Warum solte einem ein Team auch
helfen einen Npc zu metzeln, bzw aufnehmen, wenn der Karateka dem betreffenden
Npc keinen schaden zufuegen kann. Naja vieleicht noch als Pruegelfaenger. Der
Npc kann schliesslich imemr nur einen treffen, also hilft der Karateka die
Pruegelmenge ztu verteilen.  Ok jetzt kqann man wohl kaum erwarten, das allen
NPC mit Pruegelresistenz diese wieder genommen wird, nur damit die Karatekas
auch mal was maxhen koennen. Trotzdem waere es  nett, wenn sich die
verantwortlichen, bzw diejenigen die nicht nur verantwortlich sondern auch
willens sind, den Karatekas unter die Arme greifen wuerden.   z.bsp die idee
mit dem schnellkampf   kann ich nur jain zu sagen    klar wuerde es die
kampfkraft erhoehen, loest aber nicht die hauptprobleme   oder ein
identifiziere ( in der art einer bibliothek im dojo, auf das alle Karas
zugriff haben, und in der mag. gegenstaende waffen etc niedergeschrieben
werden   dinge die dort dann staenden wuerden karas ab stufe XX? dann draussen
( zwar nicht magisch ) aber doch erlernt wieder erkennen. ( gidlenquest --->
bringe funa gegenstand XX wg. Bibliothek )   
vieleicht koennte man auch etwas aus dem bereich shaolin-kungfu in die gilde
einbauen ( nein ich meine nicht den unsinn aus den eastern-trashfilmen ) 
sondern nur das, was die shaolinmoenche tatsaechlich koennen
z.bsp  gewisse schmerzresistenzen ( zeitweilig )  oder gewisse akrobatische
tricks ( die leider ja schon von den kaempfern belegt werden ( wie heissen die
noch mal  kampfstoss kampfsprung kopfstoss  alles fertigkeiten, die man den
fernoestlichen kampftaktiken zuordnen wuerde )   
naja ist alles sicherlich nicht der weisheit letzter schluss, aber vieleicht
rafft sich ja irgendein mag oder sogar erzmag auf, und verpasst der
Karategilde nicht nr eine neue karosserie sondern auch einen neuen motor  
derzeot gleicht sie einem 1958 Gogomobil-Dreirad  400 Kubik 20 PS
Gruss  Phygos >:)

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



Re: Karate Aufwerten? (Faggu, 25. Okt 1999, 20:08:05):
~#! rn=Phygos rt=940863199 rg=gilden.karate
~#! tid=940863199
Alo ich kann nicht verstehen, warum hier alle so rumheulen. Ich kann mit
meinem kleinen Karateka so ziemlich alles metzeln was ich will. Einzige
Probleme sind Magiebegabte NPC und das entspricht genau dem Gildenfeeling. Die
einzige verbesserung koennte darin bestehen, dass endlich mal eine
Moeglichkeit geschaffen wird Feuerschaden zu erzeugen (hehe keinen reinen,
aber brennende Handschuhe waeren echt nicht schlecht) und weniger MP verbauch
in den hoeheren Level, da man sonst ziemlich schnell leer in sehr
gefaehrlichen Gegenden rummsteht.
Ansonsten kann ich nur sagen: weiter so! Ich hab jedenfalls nie Probleme ein
Team zu finden, wo auch ein Karateka willkommen ist und z.t. in manchen
Gegenden unabdingbar.

Faggu
Jeden heulenden Karateka in die Klerikergilde pruegelnd...

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



Re: Re: Karate Aufwerten? (Paracelsus, 25. Okt 1999, 21:48:51):
~#! rn=Faggu rt=940874885 rg=gilden.karate
~#! tid=940863199
Tss tss tss, sind Wasser, Magie, Eis und Saeure nicht genug?

Para* ;)

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



Re^3: Karate Aufwerten? (Mahatmu, 26. Okt 1999, 10:59:00):
~#! rn=Paracelsus rt=940880931 rg=gilden.karate
~#! tid=940863199
Vergisst Du nicht heiligen Schaden? :)
Gibt es eigentlich noch den Erzmagisterposten Wandlung?

Mahatmu

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



Herausforderung (Widewitt, 26. Okt 1999, 12:29:30):
TAch,

Da endlich mal n bischen was los ist in der Rubrik, lass ich das jetzt nicht
abbrechen :)

Mal ein ganz anderer Vorschlag, ich faende es stimmig, wenn man das dojo, also
funakoshi herausvordern koennte. Ein Karate Stil ist doch immer darauf
bedacht, seine Kuenste zu beweisen. Wie waers also, wenn ein nicht Karate-ka
funakoshi zu einem zweikampf herausfordern koennte, und funakoshi dann einen
seiner Schueler (der wuerdig ist!) befiehlt diesen Kampf anzunehmen :)

Meiner meinung nach wuerde das der Gilde noch mehr Flair verschaffen :)

Gruss Widewitt

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



Re: Herausforderung (Gnome, 26. Okt 1999, 15:45:18):
~#! rn=Widewitt rt=940933770 rg=gilden.karate
~#! tid=940933770
wieso sollte ich gegen einen andern kaempfen, wenn ich funa herausvordere?
da kann ich denjenigen gleich in die arena fordern, oder nicht?

gnOme

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



Re: Re: Herausforderung (Widewitt, 26. Okt 1999, 15:47:14):
~#! rn=Gnome rt=940945518 rg=gilden.karate
~#! tid=940933770
Naja, ich meinte das nicht als herausforderung gegen funa sondern gegen unsere
Schule !
Und solche herausforderungen laesst ein Soke normalerweise einen Schueler
erledigen, den er fuer wuerdig haelt!
Also nicht ein Wettkampf zwischen zwei Menschen sonder zwischen zwei
Kampfkuensten ..

Widewitt

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



Re^3: Herausforderung (Muadib, 26. Okt 1999, 17:17:41):
~#! rn=Widewitt rt=940945634 rg=gilden.karate
~#! tid=940933770
ein socke ???

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



Re^4: Herausforderung (Widewitt, 26. Okt 1999, 17:19:30):
~#! rn=Muadib rt=940951061 rg=gilden.karate
~#! tid=940933770
Soke = Familienoberhaupt  bzw. Oberster Chef eines Kampfstils

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



Re^5: Herausforderung (Apollonia, 27. Okt 1999, 08:14:54):
~#! rn=Widewitt rt=940951170 rg=gilden.karate
~#! tid=940933770
Warum bin ihcch jetzt bloss froh, dass ich mit Karate nix am Hut hab??? ;)

Apo* (grinsend)

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



geht doch :-) (Lolli, 27. Okt 1999, 09:09:10):
is doch echt erstaunlich. kaum schreibt man mal einen artikel in die zeitung
schon stuerzen sich alle drauf wie die geier. freut mich wenn ich etwas leben
in die rubrik gebracht habe. wuerde mir wuenschen wenn dem oefter so waere....
das is mit abstand die rubrik wo am wenigsten gepostet wird. oder seid ihr
alle rundum und ueberhaupt mit der gilde zufrieden ?!? :-)

na denn, nur mal so als kleiner einwurf nebenbei mal wieder.

mit freundlichen gruessen verabschiedet sich         LOLLI.

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



Konzentration (Widewitt, 27. Okt 1999, 12:39:57):
Und noch n Vorschlag!

Was ich _sehr_ nuetzlich faende, waere, wenn man nur konzentration aeintippt
kaeme auf wen man sich gerade konzentriert.

Auch waere es sehr hilfreich, wenn man abfragen koennte, wie stark man sich
auf das ausweichen bzw. auf das angreifen konzentriert !

Widewitt, die Rubrik belebend.

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



Re: Konzentration (Slash, 27. Okt 1999, 12:43:21):
~#! rn=Widewitt rt=941020797 rg=gilden.karate
~#! tid=941020797
und auch nicht schlecht waere eine abfrage bei funa, die mir nur diejenigen
techniken mit %-Satz anzeigt, die ich noch nicht auf 100% habe.

Slash, die Rubrik fuellend

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



Re: Herausforderung (Mindblade, 27. Okt 1999, 14:13:50):
~#! rn=Widewitt rt=940933770 rg=gilden.karate
~#! tid=940933770

Hm, wo fangen wir jetzt an...
a) Wie schon erwaehnt, solche Sachen kann man gut in die Arena verlegen.
b) Wie soll das ein fairer Kampf werden? Da kaempft doch eh wieder keiner mit
Gildenfaehigkeiten, sondern mit diversen Tools...
c) Was bringt es? Die Kaempfe dauern doch eh maximal 2 Runden, wo liegt da der
Spass?

Und mal ganz allgemein...ich hab hier kaum was gelesen, was das Gildenfeeling
erhoeht, sondern nur wie man die Gilde aufwerten kann. Ob berechtigt oder
nicht, lasse ich mal unkommentiert, aber eins ist ziemlich sicher: Sie wird
nicht aufgewertet werden, vergesst es!;)

Mind*

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



Re: Re: Herausforderung (Widewitt, 27. Okt 1999, 14:19:41):
~#! rn=Mindblade rt=941026430 rg=gilden.karate
~#! tid=940933770
zu a) Das ein Kaempfer meint die Arena sei gut is mir klar :)
zu b) Schade das, aber als Karate-ka werd ich mich auf meine Faeuste und
Fuesse verlassen !
zu c) Es geht nicht darum, was es bringt, sondern darum, dass man seinem
Seinsei gegenueber auch gewisse Pflichten hat, und ich stand schon mehrmals
hilflos daneben, wie Funa gekillt wurde, und das kann ich nicht gutheissen!

Und zum Rest, hab ich je nach Aufwertung geschrien ?

Widewitt

p.s. Kaempfer raus aus der Rubrik ;)

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



Re^3: Herausforderung (Slash, 27. Okt 1999, 16:09:22):
~#! rn=Widewitt rt=941026781 rg=gilden.karate
~#! tid=940933770
dann ein versuch eines konstruktiven Vorschlags:
Ein npc, speziell fuer karatekas zum umnieten, der anderen gilden schwer zu
schaffen macht. (oder gibts das schon und ich sollte endlich mal die alten
wege verlassen?)
Ansonsten kann ich widewitt nur zustimmen: es ist schon komisch, das die
nicht-karatekas am lautesten Gegenrede halten.

Slash, heute mal aals Slasher (oder ist das Anmassung?)

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



Re^4: Herausforderung (Slash, 27. Okt 1999, 16:15:13):
~#! rn=Slash rt=941033362 rg=gilden.karate
~#! tid=940933770
Oder mal was Neues:
Frag funakoshi nach Teezeremonie.
Funakoshi lehrt dich die Teezeremonie.
Und wenn man dann mal irgendwo idelt kann man sich selbst einen tee
zubereiten. Nettes Feature, tut keinem weh.

Slash

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



Re^4: Herausforderung (Mahatmu, 27. Okt 1999, 16:58:02):
~#! rn=Slash rt=941033362 rg=gilden.karate
~#! tid=940933770
*bah* *gaehn* Metzeln wird hier eh genug unterstuetzt. Ich hoffe, wenn
Rochus wieder Zeit hat, nimmt er sich der irgendwo oben stehenden Idee
mit den Katas an, die schon mal kam. Das waere Flair fuer Karateka.
Arena. Poeh. Bloedsinn.

Gloin ... legitimiert durch den letzten Schwachsinnkampf gegen Mango.

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



Re^5: Herausforderung (Anatol, 27. Okt 1999, 18:16:05):
~#! rn=Slash rt=941033713 rg=gilden.karate
~#! tid=940933770
Tut keinem weh? Also baut weder Alkohol/Fluessigkeit/Saettigung ab,
noch heilt sie? Toll! ;) Gut, dass Slash inzwischen gestanden hat, 
nur etwas geschrieben zu haben, weil er Langeweile hatte... O:-)

Anatol


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



Re^4: Verbesserung (Tunixgut, 27. Okt 1999, 23:14:24):
~#! rn=Householder rt=940809333 rg=gilden.karate
~#! tid=940771489
Dann will ich die chance mal nutzen, und den Scheiss nochmal hier
reinschreiben, den ich schon 5 mal verschickt habe:

- Zunaechst einmal finde ich die Idee mit der Tee-Zeremonie SUPER, die gab's
ja in diversen Ausfuehrungen schon ewig, aber ich finde sie immer wieder
interessant.

- vorgeschlagen wurde auch immer wieder der Kampfschrei zur Demoralisierung
der Gegner, das Meditieren mit verschiedenen Vorschlaegen zur Wirkung - ich
bevorzuge da das generell bessere Gelingen der Schlaege fuer einen gewissen
Zeitraum.

- Sehr interessant fand ich auch mal einen Vorschlag fuer diesen komischen
Schattenkampf oder so - was das nachher fuer Auswirkungen hat, muss man sehen,
fuer mich kommt das eigentlich der Meditation recht nahe.

's Karate-Zwerchle - auch nicht so ganz zufrieden mit dem, was is...

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



Re^5: Verbesserung (Anatol, 28. Okt 1999, 04:02:20):
~#! rn=Tunixgut rt=941058864 rg=gilden.karate
~#! tid=940771489
Ihr solltet wirklich nicht soviel Jodan trainieren, ohne
die Deckung oben zu lassen. Echt. Es hat euch nicht gut
getan. Das waren offenbar keine "leichten Schlaege".

Diejenigen, fuer die Karate zu langweilig ist und es fast
nicht mehr aushalten vor Untaetigkeit, moegen sich doch
Gedanken ueber *brauchbare* Verschoenerungen machen. Oder
sich den einfachen, aber wirkungsvollen Befehl zu Herzen
nehmen:
                 ''trete aus gilde aus''

Anatol


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



Re^5: Verbesserung (Nonne, 28. Okt 1999, 11:14:38):
~#! rn=Tunixgut rt=941058864 rg=gilden.karate
~#! tid=940771489
Also ich faende das mit dem Meditieren auch super. Vielleicht in der Art der
Kleriker mit ihrem Beten, wenn ihr das eine Weile nicht gemacht habt, klappt
nix mehr ;-)

Nonne, konstruktiv ;-)

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



Karate aufwerten? (Phygos, 28. Okt 1999, 12:34:05):
Holla! Da wird ja scweres Geschuetz aufgefahren, sobald jemand auch nur das
Woertchen  AUFWERTUNG in den Mund nimmt.
Besonders wenn`s nicht um die Kaempfer geht.  Hier mal ein kleiner Vorschlag
an Die, die sonst alles regeln, verbieten kontrollieren und reglementieren. 
Legt euch mal ein Script zu, das alle NPC-Kills regestriert, und eine liste
anlegt welcher Spieler aus welcher Gilde es war.  anschliessend dann eine
zusammenfassung z.Bsp so  
Gilde X  Kills gesammt in Monat  davon NPC ab stufe XXX  
dann wird man ganz scnell feststellen wer hier im MG abraeumt   
leider aber scheitn das MG ja ein reiner Privatspielplatz fuer zwei Gilden (
davon eine alles niederwalzend ) geworden zu sein.  waer mal eine interessante
Aufgabe fuer unser allgegenwaertiges MMS ( Ministerium fuer Mud Sicherheit )
gruss
phygos

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



Re^4: Attraktivitaet (Deepblue, 28. Okt 1999, 12:51:18):
~#! rn=Tarina rt=940605643 rg=gilden.karate
~#! tid=940582906
vielleicht koennte man zwei Karawanen fahren lassen und die Zeit somit
halbieren... Waere stimmungserhaltend, aber weniger nervend.

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



Re^6: Herausforderung (Slash, 28. Okt 1999, 14:46:37):
~#! rn=Anatol rt=941040965 rg=gilden.karate
~#! tid=940933770
Natuerlich ohne alles.. warum denn sonst. Der Weg ist das Ziel, das Ergebnis
ist unwichtig.

Slash, Kaffeetrinker

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



Tja... (Sky, 28. Okt 1999, 20:31:31):
~#! rn=Phygos rt=941106845 rg=gilden.karate
~#! tid=941106845
Die Kaempfer sind ja auch zum "leerfegen" verpflichtet. Dazu muss ich nur das
Wort "Ausbildung" sagen. In den oberen Raengen sind das halt 410 Pflichtkills.
Aber es hindert Dich niemand daran auch mal was anderes als Enten und Kaefer
umzuhauen, machs doch :)
Ausserdem, was wuerde denn das deiner Meinung nach aussagen, wenn man wuesste
welche Gilde wieviele Npcs im Monat killt??

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



Re: Tja... (Hight, 28. Okt 1999, 22:01:45):
~#! rn=Sky rt=941135491 rg=gilden.karate
~#! tid=941106845
Das einzige was das aussagen wuerde is was eh jeder weiss ... Zaubis vorn
gefolgt von kaempfer und dann nerja weiss kein schwein was dann kommt ... 

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



Re: Re: Tja... (Heromcfly, 28. Okt 1999, 22:18:57):
~#! rn=Hight rt=941140905 rg=gilden.karate
~#! tid=941106845
die gilde alleine machts nicht ... er hoechste spieler im mg ist kein
zauberer/kaempfer :)

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



Re^3: Tja... (Sky, 28. Okt 1999, 23:52:50):
~#! rn=Heromcfly rt=941141937 rg=gilden.karate
~#! tid=941106845
Ich hoffe doch, dass jeder seine Gilde deshalb waehlt, weil er sich mit ihr am
ehesten identifizieren kann, und nicht weil sie die ist die zur Zeit am
staerksten scheint :)

Sky, Kaempfer aus Ueberzeugung.

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



Re^4: Tja... (Silvana, 28. Okt 1999, 23:53:48):
~#! rn=Sky rt=941147570 rg=gilden.karate
~#! tid=941106845
Silvana fragt sich, welche Augenfarbe Sky hat. Blau, vermutlich... :)

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



Re^4: Tja... (Jasonrigid, 29. Okt 1999, 10:22:49):
~#! rn=Sky rt=941147570 rg=gilden.karate
~#! tid=941106845

Hiho, Leute

dann will ich auch mal meinen Senf dazugeben.

Ich bin ja eigentlich ein Gegner von "Heul doch !"-Geschichten. Aber mit der
Gildenwahl hat doch jeder das Recht, sich die Gilde zu waehlen, die er will.
Fakt ist, dass manche Gilden staerker sind als andere (wobei es auch sehr
drauf ankommt, gegen wen man kaempft). Ich habe selber einen Karate-Zweitie
und metzele in manchen Gegenden mit dem deutllich lieber, ganz einfach, weil
er nicht so viel auf die Fresse bekommt wie mein Kaempfer. Aber wenn mit die
Karate-Gilde zu schwach waere und ich nicht so viel Wert auf Gildenflair wie
auf Kampfkraft legen wuerde, koennte ich als Karateka doch auch jederzeit die
Gilde wechseln.

Was ich damit sagen will : wenn ihr das Flait der Karategilde schoen findet
... bleibt dort. Wenn ihr mehr Kampfkraft wollt : geht zu den Zauberer oder
den Kaempfern ...

Jason

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



Re^5: Tja... (Sharia, 29. Okt 1999, 12:30:37):
~#! rn=Jasonrigid rt=941185369 rg=gilden.karate
~#! tid=941106845
Kaempfer und Zauberer sind doch auch Wuerste !!!!

Klerus is stark .. aber .. mein erstie is Katzenkrieger ... dann muss das doch
die staerkste Gilde sein oder ? :)

Sharia, kann nurnoch grinsen.

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



Re: Karate aufwerten? (Grimman, 30. Okt 1999, 20:43:42):
~#! rn=Phygos rt=941106845 rg=gilden.karate
~#! tid=941106845
Hmmm ... faengt das Problem mit den beiden dominierenden Gilden nicht schon da
an, das Kaempfer und Zauberer numal aus anderen Rollenspielen bekannt sind,
zusaetzlich ist die Kaempfergilde (zum Anmelden) am einfachsten zu erreichen
(direkt in PV) ...
Wenn man dann auch noch bedenkt das man bei den Karatekas ja richtig mitdenken
muss ... (Haramuto-cho-ichi-dings-bums-bla ist was? :)))
wenn man das bekannte Problem des Weges was nu nicht diskutiert werden muss
uns das leider noch etwas duerftige Umfeld der Karategilde, was Gebiete zum
Ueben angeht ...
sooo soweit alles klar? ich glaub nicht :) die von dir angesprochene
Killstatistik ist zwar ne gute Idee, allerdings muss man dabei beachten, das
es von der Menge her nen Haufen mehr Kaempfer und Zaubis gibt ... als
Mitglieder anderer Gilden, oder?
Damit will ich sagen, das so eine Statistik zwar interessant waehre, aber in
keiner Weise bei der Loesung des Problems helfen wuerde.
Abschliessend nochmal ich habe schon Karatekas in Aktion gesehen, und das fand
ich nocht mehr schoen :) erstma scrollts ohne Ende, und es ist alles viel zu
schnell vorbei :)
diese waren dann allerdings auch schon lvl 16 oder 17 ... also bleibt dabei
und uebt brav!!!

Ich bleibe Kaempfer da muss ich zwar auch ueben wie ein Wilder aber ich weiss
wenigstens WAS ich da uebe :)

GrimMan

P.S : Flame on!!!

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



Re: Karate aufwerten? (Gnome,  1. Nov 1999, 10:33:11):
~#! rn=Phygos rt=941106845 rg=gilden.karate
~#! tid=941106845
meine herren phygos. manchmal schreibst du ja ganz schoenen muell.
jeder weiss, dass zaubis und kaempfer die kampfstaerksten gilden sind.
da brauchts keine kill-statistik.
ABER: wenn du denkst, dass vertreter dieser beiden gilden ALLES
abraeumen koennen, was es hier gibt, bist du falsch gewickelt.
es gibt gegenden und gegner, da sehen diese beiden gilden recht alt aus,
ob dus glaubst oder nicht. da ist man direkt auf andere angewiesen, stell
dir mal vor!
und was die kampfkraft angeht: wenn ich einen guten kleriker in den katas
metzeln seh, wird mir regelmaessig schlecht.

aber lassen wir das doch bitte mal die unendliche diskussion um aufwertung
und kampfkraft, das bringt doch nur dicke luft.

TNG: kampfschrei und meditation fuer karate hoert sich nicht schlecht an...
     aber bitte nicht in der mpa diskutieren ;-)

gnOme

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



Re: Re: Karate aufwerten? (Widewitt,  2. Nov 1999, 16:04:13):
~#! rn=Gnome rt=941448791 rg=gilden.karate
~#! tid=941106845
Tach Gnome 

Aeh, wo soll man den sonst diskutieren wenn nicht in der mpa !?!

Widewitt, nicht nach Aufwertung schreiend

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



Re^3: Karate aufwerten? (Boing,  2. Nov 1999, 16:10:16):
~#! rn=Widewitt rt=941555053 rg=gilden.karate
~#! tid=941106845
Konkrete Verbesserungsvorschlaege diskutiert man am besten im kleinen
Kreis mit dem Gildenmagier bzw. Gildenbalancemagier. In der MPA werden
sinnvolle Diskussionen meistens von irgendwelchen Leuten totgeschrien.
  Boing

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



Re^4: Karate aufwerten? (Yaren,  3. Nov 1999, 15:07:05):
~#! rn=Boing rt=941555416 rg=gilden.karate
~#! tid=941106845
nunja: die ganze sache hat ja eine laaaaange vorgeschichte: mysterious und ich
haben uns auf den parties mehrfach mit rochus unterhalten und dort und per
mail vorschlaege gemacht, die zwar immer mit 'gute idee' oder so gelobt wurden
aber mit dem verweis auf zeitmangel als 'momentan nicht umsetzbar' abgetan
wurden. das ist jetzt sicher 2 jahre her, also: hier diskutieren, druck
erzeugen, was bleibt sonst?

Yaren interessiert das aus historischen gruenden ;-)

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



Re^5: Karate aufwerten? (Rochus,  3. Nov 1999, 15:08:37):
~#! rn=Yaren rt=941638025 rg=gilden.karate
~#! tid=941106845
Also:
  25.11. 2. Pruefung
  14. 1. 3. Pruefung
   9. 2. 4. Pruefung
   7. 3. Abgabetermin der Diplomarbeit.
Noch Fragen?

  Rochus

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



Uebebeschraenkung (Rochus,  4. Apr 2000, 18:04:27):
Ich habe das Ueben jetzt abhaengig gemacht von der Staerke des Gegners...
Ausserdem uebt man andere Techniken als die angewendete jetzt
weniger mit.
In Kuerze folgen noch ne Menge anderer Aenderungen :-)

  Rochus

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



Kurzer Gildenaustritt (Slyfox,  5. Apr 2000, 12:41:03):
Bei den Dunkelelfen gibt es einen Schmied, bei
dem man verschiedene Ruestungen reparieren kann, und 
dadurch einen Skill erlernt. Man hat den Skill auf 100%, 
wenn man alle Ruestungen im ganzen MG gefunden und 
repariert hat.

Unter diesen Ruestungen ist leider auch ein Gi, und diesen kann
man als Karateka nicht weggeben. Da dieses Problem
nicht loesbar bist, und Padreic auch keine Lust hat, da ueberhaupt was
daran tu tun, wuerde ich kurz aus der Gilde austreten, 
damit ich den Sch*** mal da abgeben kann.

Aber ich habe keine Lust, deswegen danach alle meine Karate-Skills wieder hoch
zu ueben.
Ich wuerde mich freuen, wenn ich deswegen kurz aus der Gilde aus- und wieder
eintreten zu koennen, ohne irgendwelche schweren Verluste hinnehmen zu
muessen.

Waere ein Magier da bitte so freundlich und wuerde mir in diesem Ausnahmefall
helfen?

  Slyfox

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



Re: Kurzer Gildenaustritt (Sharia,  5. Apr 2000, 12:49:10):
~#! rn=Slyfox rt=954931263 rg=gilden.karate
~#! tid=954931263
aehm Sly ? :-) vielleicht is das ja der Gi von Funakoshi ? :-)

Nur so als kleiner Tipp ... Gruss Sharia

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



Re: Kurzer Gildenaustritt (Deepblue,  5. Apr 2000, 13:10:32):
~#! rn=Slyfox rt=954931263 rg=gilden.karate
~#! tid=954931263
Geht nicht auch der Gi der Karatezobies?

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



Re: Re: Kurzer Gildenaustritt (Boing,  5. Apr 2000, 13:11:20):
~#! rn=Deepblue rt=954933032 rg=gilden.karate
~#! tid=954931263
Der Gi vom Karate-Elementar sollte auf alle Faelle gehen ...
  Boing

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



Re^3: Kurzer Gildenaustritt (Lug,  6. Apr 2000, 02:12:01):
~#! rn=Boing rt=954933080 rg=gilden.karate
~#! tid=954931263

Was ist mit dem Gi vom Go, der den Ga am Gu hindert?

Gaga
Lug

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



Re^4: Kurzer Gildenaustritt (Nevok,  6. Apr 2000, 02:13:31):
~#! rn=Lug rt=954979921 rg=gilden.karate
~#! tid=954931263
die Ga...die Ga...die Gaga...die SPINNER!!!
oder, auch sehr beliebt:
'oeme'! 'oeme'! Das ganze Mee' is' volle' 'oeme'!

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



Re^5: Kurzer Gildenaustritt (Lug,  6. Apr 2000, 02:14:57):
~#! rn=Nevok rt=954980011 rg=gilden.karate
~#! tid=954931263

Die spinnen die Roemer...

Kurz
Lug

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



Re: Uebebeschraenkung (Swotl,  6. Apr 2000, 10:52:52):
~#! rn=Rochus rt=954864267 rg=gilden.karate
~#! tid=954864267
Hallo,

mal wieder ein Spieler, der sich nur beschwert und nicht
konstruktiv mitarbeitet.

Aber ich finde die ,,Uebebeschraenkung'' ist genau das:
Sie beschraenkt die Moeglichkeit zu ueben. Und das ziemlich
heftig, wie ich finde.

Ich finde die Idee grundsaetzlich gut, bei harten Gegnern mehr zu lernen,
aber warum lerne ich jetzt an Gegnern die ich fuer meine Stufe fuer 
angemessen halte (und wo ich um sie zu besiegen tanken gehen muss!)
quasi fast nichts bis gar nichts mehr??

Um eine Abaenderung bittend,
Swotl

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



Re: Re: Kurzer Gildenaustritt (Amaryllis,  6. Apr 2000, 12:51:50):
~#! rn=Gast2 rt=955017730 rg=gilden.karate
~#! tid=954931263
Mal unabhaengig vom Thema oder Meinung:

Wer es noetig hat, anonym als Gast zu posten, soll das lieber gleich bleiben
lassen. Die Entschuldigung "damit mich keiner vollabert" zieht da auch nicht,
wenn wenn ein Artikel sachlich ist, wird das kaum passieren - fuer (hier
leider meistens mehr oder weniger sachliche) Diskussionen gibts ja die MPA.

Meine Meinung.
Ama*

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



Re^3: Kurzer Gildenaustritt (Boing,  6. Apr 2000, 12:57:36):
~#! rn=Amaryllis rt=955018310 rg=gilden.karate
~#! tid=954931263
Deswegen habe ich den Artikel auch wieder geloescht, man kann seine
Meinung haben, aber sollte auch den Namen darunter schreiben.
  Boing

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



Re: Re: Uebebeschraenkung (Rochus,  6. Apr 2000, 13:24:47):
~#! rn=Swotl rt=955011172 rg=gilden.karate
~#! tid=954864267
Wie ich schon geschrieben habe, in naechster Zeit
wird einiges an der Gilde gemacht und die
Bedingungen werden noch etwas verfeinert werden...

  Rochus

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



Re^3: Uebebeschraenkung (Pilgrim,  6. Apr 2000, 13:29:23):
~#! rn=Rochus rt=955020287 rg=gilden.karate
~#! tid=954864267
> Bedingungen werden noch etwas verfeinert werden...
> 
>   Rochus

OhOh (TeleTubbies*)

Wenn Rochus vom 'verfeinern' spricht, wirds interessant ;-)

Pilgrim

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



Re^4: Uebebeschraenkung (Guard,  6. Apr 2000, 13:32:36):
~#! rn=Pilgrim rt=955020563 rg=gilden.karate
~#! tid=954864267
Klar wird das interessant! Schliesslich haben ihn ein Kaempfer ein
Bierschuettler und ein  fast Chaot (sorry Lurchi ;-)) dabei beraten! Damuss
einfach was gutes bei rauskommen und wenn bei dem gespraech ein a4-zettel von
aenderungen rauskommt, koennt ich euch schon mal auf ne tolle neue gilde
freuen ;-))))

Guard *sagt nix*

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



Re^3: Uebebeschraenkung (Foorgol,  6. Apr 2000, 13:45:55):
~#! rn=Rochus rt=955020287 rg=gilden.karate
~#! tid=954864267
Wenn du das erst noch verfeinern willst, frag ich mich warum schliesst
du halbfertige Aenderungen ueberhaupt an? Um das klarzustellen, ich
halte es fuer eine gute Idee die Lernrate vom Gegner abhaengig zu
machen, das wird sicher einigem reinen Uebescriptern das Leben erheblich
schwerer machen. Nur habe ich das Gefuehl, die Regelung ist erheblich
ueber das Ziel hinausgeschossen. Ausserdem sollte meiner Meinung nach
eine solche Regelung auch vorsehen, dass man gegen sehr starke Gegner
mehr lernt als bisher, mein Eindruck ist aber, dass man unter Hydra oder
Drachengott fast ueberhaupt nichts mehr lernt. Das sind aber ganz sicher
keine Uebegegner. ;)
Ansonsten wuerde ich jede Aenderung die das Feeling der Gilde hebt stark
begruessen. Behalte dabei aber bitte im Auge, nicht jeder Karateka ist
ein reines Script (wer in den Kyu Graden auf >80-90% kommt ist das dagegen
ganz sicher) und nicht jeder Karatezweitie verleiht sein Passwort.

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



Re^4: Uebebeschraenkung (Anatol,  6. Apr 2000, 13:49:27):
~#! rn=Foorgol rt=955021555 rg=gilden.karate
~#! tid=954864267
Vielleicht hat Rochus diese Aenderung rasch eingebracht, damit die
Vorteile, die fuer die Zeit der letzten krassen Uebe-Erleichterung 
und der jetzigen Anpassungen nicht allzulange Bestand haben - es
wird ohnehin genuegend Jammernde geben, die da schreien: "Oh, aber
der-und-der-und-der hatte das damals viel leichter!", ohne daran 
zu denken, dass FRUEHER etwa 35 Onlinetage fuer einen roten Guertel
kalkuliert werden mussten.

Die wirklich "alten" Karateka, von Ryne und Bloodgore einmal ab-
gesehen (die sind SO alt, da kam man in zwei Tagen auf den ersten
Dan ;)), werden Balladen davon singen koennen...

Anatol

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



Re^5: Uebebeschraenkung (Rochus,  6. Apr 2000, 13:54:10):
~#! rn=Anatol rt=955021767 rg=gilden.karate
~#! tid=954864267
Exakt.
Zuerst kommen die Abwertungen, die dann schrittweise mit
feineren Massstaeben verringert werden bis es ausgewogen ist...
Also der Zettel den ich abzuarbeiten habe ist ziemlich voll,
also rechnet mal damit dass es zwei Wochen dauert bis ich
alles erledigt habe (die Aufwertung, dass Kombinationen besser
wirken, wird noch etwas laenger dauern, am Anfang wird es erst
wenige gute Kombinationen geben)

  Rochus

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



Re^4: Uebebeschraenkung (Deepblue,  6. Apr 2000, 15:02:25):
~#! rn=Foorgol rt=955021555 rg=gilden.karate
~#! tid=954864267
>(wer in den Kyu Graden auf >80-90% kommt ist das dagegenganz sicher)
Nun verbreite mal keinen Bloedsinn.

Es war lange so, dass man bei niedrigem Level mehr lernt. (ist das noch so?)
Zumindest hat es sich herumgesprochen. So trainieren manche ihre erlernbaren
techniken erst auf 100%, eh sie erhoehen

Und lass Dir gesagt sein, es gab Zeiten, wo man viel weniger gelernt hat.

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



Re^5: Uebebeschraenkung (Golas,  6. Apr 2000, 15:08:59):
~#! rn=Deepblue rt=955026145 rg=gilden.karate
~#! tid=954864267
nu muss ich auch mal meinen senf dazugeben ...

mich hat diese sperre nach online-zeit geaergert, deswegen habe ich mich mit
rochus mal unterhalten. diese beschraenkung erwuchs aus dem hochskripten der
karate-2ties. also Rochus wollte, dass man mit seinem karateka auch spielt und
ihn nicht nur hochuebt ...
dass ein 2tie nicht so viel zeit braucht wie ein erstie bestreitet wohl
keiner. ein kompromiss war also, das ueben zu erschweren und dafuer die
zeitsperre zu aendern, evtl in rl-zeit. ausserdem soll es ein wenig
gildenfeeling geben, wozu wir uns ueberlegt haben ein paar gildenquests
einzufuehren.

also nochmals der aufruf an alle, die konstruktive ideen haben ... mailt sie
an rochus oder schreibt sie in die mpa. und btw konstruktiv ist nicht ...
"aber das ueben war doch gar nicht zu einfach"

golas ia mensman

ps: wir, das waren rochus, lurchi, guard und ich ...

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



Re^6: Uebebeschraenkung (Humni,  6. Apr 2000, 15:21:39):
~#! rn=Golas rt=955026539 rg=gilden.karate
~#! tid=954864267
Na schoen,

wenn dafuer auf Dauer die voellig idiotische Beschraenkung mit der 
Onlinezeit (die Leute, die einen Account auf einem rechner haben, 
der die ganze Zeit im Netz ist, einfach grundlos bevorzugt, da
ideln ja zu den Sachen gehoert, die nicht verboten sind),
ist das in der Tat ein Schritt nach vorne fuer die Gilde.

Ob das ueben frueher zu einfach war, weiss ich nicht,
aber auch wenns unkonstruktiv ist: Zur Zeit isses einfach
zu schwer, und man bringt bestimmt niemanden dazu, jetzt eben
NICHT mehr zu skripten, weil er wenn er selbst (ohne Skript)
spielt, keinen Erfolg mehr sieht.

Die Ideen mit den Kombinationen finde ich aber gut, und 
auch ein paar gildenquests waeren echt nicht schlecht. Auch
wenn das dazu fuehrt, dass ich vermutlich niemals Level 17
erreiche, aber was solls.

Komisch nur, dass solche Dinge dann funktionieren,
wenn die Sachen NICHT von Karatekas angesprochen
werden....sondern von Chaoten, Bierschuettlern und 
...ok...Golas hat nen Zweitie in der Gilde, und mehr
ist Swotl auch nicht.

Naja, wenn das aber alles wirklich nur ne Frage der Zeit
des verantwortlichen Magiers war, ist das auch ok. Und
wenn mir in den naechsten Tagen konstruktive Ideen kommen
mailde ich mich auch noch mal.

Fuers Erste dann doch wieder versoehnt (nur halt vorhin
ziemlich geschockt...)

Humni (Swotl)

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



Re^5: Uebebeschraenkung (Foorgol,  6. Apr 2000, 15:23:07):
~#! rn=Anatol rt=955021767 rg=gilden.karate
~#! tid=954864267
Die Jammerer wird es ganz sicher geben, nur wenn du meinen Artikel
gelesen hast wirst du hoffentlich festgestellt haben, dass ich nicht
zu diesen Jammerern zaehle. So gesehen bin ich, mit nur noch 6 der 
immerhin 96 sichbaren Skills unter 100%, ja auch einer von denen die
es noch besser hatten.
Nur dein beschwoeren von FRUEHER und "alten" Karatekas aendert nichts
an der momentanen Situation. Auch wenn fuer viele die FRUEHER schon 
"alt" waren, Spieler mit Erstlogin nach dem 10.11.95 Abschaum per
Definition sind, muss man trotzdem sagen, dass fuer Karateanfaenger
das aktuelle Lernsystem einem Genickbruch gleichkommt.
Da sich das aber, wie Rochus ja schonangekuendigt hat, in den
naechsten zwei Wochen verfeinern wird, erledigt sich das Problem damit
hoffentlich von selbst.
Sorry, wenn das jetzt sehr nach flame klingt, aber dieses ewige
Beschwoeren der 'guten alten Zeit' geht mir einfach auf den Senkel.

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



Re^7: Uebebeschraenkung (Hood,  6. Apr 2000, 15:26:09):
~#! rn=Humni rt=955027299 rg=gilden.karate
~#! tid=954864267
(1) das ueben jetzt ist viel leichter als frueher noch,
    trotz beschraenkung mit onlinezeit, frueher brauchteste trotzdem ein
    vielfaches dessen inklusive stupidem hin- und herflitzen.
    du sollst ja auch nicht rumidlen, es gibt genug andere sachen, die man
    waehrend des gildenaufstiegs ausserdem noch in angriff nehmen kann
(2) rochus hatte bisher wenig zeit, das jetzt was passiert, duerfte nichts
    damit zu tun haben, von wem die vorschlaege kamen, zumindest nicht
    ausschliesslich *grins*

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



Re^6: Uebebeschraenkung (Deepblue,  6. Apr 2000, 16:09:11):
~#! rn=Golas rt=955026539 rg=gilden.karate
~#! tid=954864267
Ich finds eigentlich richtig gut, dass die Gilde mal nen neuen schlimm
bekommt. Gildenfeeling etc fehlte vollkommen, dafuer gab es die lange warte
zeit  - gut, als Erstie kann man da questen).
Als Vereinfachungen koennte man vorschlagen, dass mana uch irgendwo anders
identifiziererollen bekommt, als nichtseher ist dafuer sonst die
Karawanenfahrt zu aufwendig...

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



Re^7: Uebebeschraenkung (Rochus,  6. Apr 2000, 16:10:07):
~#! rn=Deepblue rt=955030151 rg=gilden.karate
~#! tid=954864267
DAS ist doch mal ein brauchbarer Vorschlag :)

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



??? (Foorgol,  6. Apr 2000, 18:22:04):
Ich hoffe auch das ist keine endgueltige Loesung.

Du musst mindestens 104 Stunden Spielzeit oder 416 Stunden Realzeit
zwischen der vorherigen Pruefung und dieser lassen.
Dazu fehlen Dir noch 41 Stunden und 31 Minuten Spielzeit.
Dazu fehlen Dir noch 228 Stunden und 34 Minuten Realzeit.

Foorgol, leicht geschockt.

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



Re: ??? (Boing,  6. Apr 2000, 18:31:18):
~#! rn=Foorgol rt=955038124 rg=gilden.karate
~#! tid=955038124
Worueber bist Du geschockt? Dass Du 9 (RL)-Tage warten musst bis zum
naechsten Level? Frag Dich einfach mal bei den Kaempfern um, wie es
da aussieht (bei anderen Gilden kenn ich mich nicht aus).
  Boing

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



Re: ??? (Foorgol,  6. Apr 2000, 18:31:26):
~#! rn=Foorgol rt=955038124 rg=gilden.karate
~#! tid=955038124
Ich will ja nicht nur destriktiv erscheinen, also noch ein
konkreter Gegenvorschlag:
Streiche die Onlinezeitbeschraenkung ersatzlol, das bevorzugt
nur die Leute die einen Zugang zu einer Standleitung haben.
Realzeitbegrenzung ist OK, aber 416 Stunden sind ueber
17 Tage! Da sollte eine Woche doch auch auseichen.
Vielleicht mit zunehmender Stfe zunehmende Zeiten, aber
laenger als 10 Tage sollte das meiner Meinung nach
nicht werden.

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



Re: Re: ??? (Golas,  6. Apr 2000, 18:33:44):
~#! rn=Foorgol rt=955038686 rg=gilden.karate
~#! tid=955038124
zunehmend is gut ... aber nur 10 tage zum letzten dan ... ich entsinne mich
mit golas einen monat warten zu muessen


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



Re: Re: ??? (Rochus,  6. Apr 2000, 18:36:34):
~#! rn=Foorgol rt=955038686 rg=gilden.karate
~#! tid=955038124
Es SIND mit zunehmenden Stufen groessere Zeiten.
Und zwar 6 Stunden fuer den Anfaengergrad, 12 fuer alle
weiteren Kyus, 52 Stunden fuer den 1. Dan, 104 fuer alle weiteren...
(Als RL-Zeit habe ich 4 mal Online-Zeit genommen)

Zum Vergleich, beim RL-Karate: (Soweit ich erfahren habe)
Anfaengergrad 6 Wochen, jeder weitere Kyu 3 Monate,
1 Jahr von Braun- auf Schwarzgurt,
2 Jahre zwischen den hoeheren Dans...
(Wobei ab 6. nur noch ehrenhalber vergeben wird)

Sind also die gleichen Relationen...


  Rochus

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



Re^3: ??? (Golas,  6. Apr 2000, 18:38:24):
~#! rn=Rochus rt=955038994 rg=gilden.karate
~#! tid=955038124
hast du mal ueberlegt, wie lange es dauert in der armee general zu werden ...
das hier ist ein spiel, also nicht ueber das ziel hinaus schiessen ...

vierfache oz als rz nehmen find ich etwas zu happig ... :(

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



Re: Re: ??? (Trauma,  6. Apr 2000, 18:48:08):
~#! rn=Boing rt=955038678 rg=gilden.karate
~#! tid=955038124
Die Beschraenkung bei den Kaempfern ist lediglich Realzeit und es sind auch
nur ca. 10 Tage die durch Gildenquests, Ueben und Ausbilden meist eh schon rum
sind. 
Wenn nen Karateka dagegen 100(!) Stunden online sein muss, so ist das reine
Schikane. Fuer Leute die per Modem spielen auch eine Menge verschenktes Geld.
So jemand wird dann meist von jemand mit Standleitung ueber ein paar Naechte
eingeloggt, was die Regelung sowieso umgeht.

Schoene Gruesse,
Darkwing

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



Re^3: ??? (Rochus,  6. Apr 2000, 18:48:57):
~#! rn=Trauma rt=955039688 rg=gilden.karate
~#! tid=955038124
Genau deshalb habe ich ja die REALzeit als Alternative eingebaut.

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



Re^4: ??? (Guard,  6. Apr 2000, 18:51:33):
~#! rn=Rochus rt=955039737 rg=gilden.karate
~#! tid=955038124
wenn sich das ueben erschwert, wird doch damit quasi eine onlinezeit
garantiert! ich hoffe doch mal, das die anederungen eine stupige grenze der
zeiten ueberfluessig machen ...

Guard

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



Re^3: ??? (Hood,  6. Apr 2000, 18:51:47):
~#! rn=Rochus rt=955038994 rg=gilden.karate
~#! tid=955038124
die meisten kampfsportarten haben mindestzwangspause von einem halben jahr
zwischen den guertelpruefungen. meist wird ein stundenvolumen vorgegeben,
welches zu absolvieren ist, welches im normalfall bei 3 mal training die
woche automatisch auf ueber ein halbes jahr fuehrt.
letztendlich schaffen es nicht gerade alle, nur mit mindestzeiten
hinzukommen. nen 1. dan dauert selbst bei sehr aktiven leuten schnell
groesser 5 jahre.
das muss hier natuerlich nicht als massstab angelegt werden *grins*
in den meisten buechern braucht ein vernuenftiger zauberer 10 jahre und
mehr fuer ne brauchbare ausbildung...na prost mahlzeit :)

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



Re^5: ??? (Rochus,  6. Apr 2000, 18:52:43):
~#! rn=Guard rt=955039893 rg=gilden.karate
~#! tid=955038124
Das hoffe ich doch auch :-)

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



Re: Re: ??? (Hight,  6. Apr 2000, 21:20:47):
~#! rn=Foorgol rt=955038686 rg=gilden.karate
~#! tid=955038124
hm ich kann mich dunkel deran erinnern das ich fuer die lezten 2 stufen ca 10
-14 tage gespert war ... 

da kaempfer allerdings so aufwendich zu ueben sind faellt das nich weiter ins
gewicht ... 
ich haette schon die ganze zeit dauerueben muessen um das vor ablauf zu
schaffen

abba wenn dir die zeit zuviel ich kanst rochus ja ma fragen ob er net die
beschrenkungen was das ueben an geht weiter hochsezt ... macht er bestimmt
auch gern ... 

die diskusion ueber diese zeiten is eh muessig da rochus solche
beschraenkungen nicht aus lauter freude am spieleraergern aufstellt ... s.o.

hight senfend -> muell / schmarn

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



Re^3: ??? (Karis,  7. Apr 2000, 09:01:14):
~#! rn=Rochus rt=955038994 rg=gilden.karate
~#! tid=955038124
Ich nehm mal an, dass die Zeitbeschraenkungen sowohl RL als auch
VL dazu dienen sollen, dass man erstmal genuegend Erfahrung 
mit dem Erlernten sammeln sollte. (siehe auch der Artikel von Hood).
Dazu gibt es doch im VL eine Moeglichkeit, die es in RL nun
ueberhaupt net gibt: Erfahrungspunkte.
Wie waers also, wenn man die Zeitbeschraenkungen etwas runtersetzt,
um dafuer die Karatekas ein paar Mios EPse sammeln laesst?
Die fleissigen werden bevorzugt, bei den anderen dauert es halt 
etwas laenger. Und ja, ich weiss, dass man das auch per skripten
umgehen kann. 
Aber was n anstaendiger Skripter ist, hat der auch nen Timer, der
ihn nach 446 Stunden sagt, dass er jetzt erhoehen darf ...

Karis

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



Re^3: ??? (Boing,  7. Apr 2000, 09:31:30):
~#! rn=Trauma rt=955039688 rg=gilden.karate
~#! tid=955038124
Da ist Deine Erinnerung wohl etwas verklaert ... fuer Level 23 hat man
15 RL-Tage Wartezeit, das entspricht etwa dem Wert fuer den hoechsten Dan.
Fuer die weiteren Level (falls es die mal geben wird) steigt die Zeit
weiter an, aber das ist momentan natuerlich nicht relevant.
  Boing

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



Re: Re: ??? (Deepblue,  7. Apr 2000, 09:59:05):
~#! rn=Boing rt=955038678 rg=gilden.karate
~#! tid=955038124
9 RL-Tage machen keinen zum besseren Karateka. Vielmehr sollten hierfuer
spezifische Pruefungen zu loesen sein.

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



Re^3: ??? (Deepblue,  7. Apr 2000, 10:01:53):
~#! rn=Rochus rt=955038994 rg=gilden.karate
~#! tid=955038124
Kommt auf die Stilrichtung an. Bei manchen herrscht mittlerweile eine
Regelrechte Dan-Inflation bis zum 10.

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



Re^5: ??? (Deepblue,  7. Apr 2000, 10:03:41):
~#! rn=Guard rt=955039893 rg=gilden.karate
~#! tid=955038124
Nicht, solange man fuer den 4. Dan seher sein muss und eh man das hat bei
entsprechendem Training trotzdem 100% hat...

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



Re^6: ??? (Anatol,  7. Apr 2000, 12:25:42):
~#! rn=Deepblue rt=955094621 rg=gilden.karate
~#! tid=955038124
Die Zeitsperren sind und waren dazu da, den Karateka, ob mit Script
oder ohne, sehr deutlich nahezulegen, dass er neben der Dojokarriere
und mit den Dojofaehigkeiten auch Erfahrung sammeln soll, die nicht
zu 100% dem raschen Aufstieg dienen. Insofern finde ich den Einzug
der Realzeit als eher ungeschickt. Und seien wir mal ehrlich, wen
stoert es mehr: Den Erstie, der im Morgengrauen gaengigerweise weit
mehr tut als nur in irgendeiner Gilde hochzuscr^H^Hpielen, oder der
Zweitie, der, um moeglichst schnell sein tristes Dasein als lebende 
Geldmaschine fristen zu koennen, natuerlich tatsaechlich 100% seiner
Energie in Gildenfaehigkeiten und -aufstieg investieren will.

Gildenfeeling wird nicht ausschliesslich durch tolle Faehigkeiten
aufgebaut, sondern auch durch den Unbill des Lebens, den man, um jene
Faehigkeiten zu erhalten, einfach meistern muss.

Anatol


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



Re^7: ??? (Swotl,  7. Apr 2000, 13:14:18):
~#! rn=Anatol rt=955103142 rg=gilden.karate
~#! tid=955038124
Richtig : Gildenfeeling wird nicht ausschliesslich durch tolle 
Faehigkeiten aufgebaut.

Falsch: Dass der Unbill des Lebens allein dazu beitraegt. Gildenfelling
kommt bei den Schuettlern auch ohne frustrierende Zeitbeschraenkungen auf
(ok die lohnt es sich auch nicht zu skripten) allein durch interessante
Ideen. Was nicht heisst, dass das bei anderen Gilden (Kaempfer, Zauberer)
nicht aufkommt.

Wie Du die derzeitige Trainingssituation bei den Karatekas allerdings mit
dem Begriff ,,Gildenfeeling'' vereinbarst, ist mir ein Raetsel. Ich 
vermute einfach sowieso mal, dass diejenigen, die zur Zeit immer nur
schreiben, das gehoere ja schliesslich so, ueberhaupt nicht wissen,
was gerade in der Karategilde im Bezug auf ueben abgeht.

Ich werde die naechsten Wochen abwarten und denke, dass die Ideen 
insgesamt nicht in die falsche Richtung fuehren, aber ich denke auch,
dass so manch einer erst einmal nachdenken sollte bevor er hier 
anfaengt ueber andere Leute herzuziehen.

Swotl (Humni)

PS: Von mir aus kannst Du mich jetzt so oft Jammerer nennen wie Du 
willst.

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



Re^8: ??? (Anatol,  7. Apr 2000, 13:43:47):
~#! rn=Swotl rt=955106058 rg=gilden.karate
~#! tid=955038124
Sw> Ich vermute einfach sowieso mal, dass diejenigen, die zur Zeit immer
Sw> nur schreiben, das gehoere ja schliesslich so, ueberhaupt nicht wissen,
Sw> was gerade in der Karategilde im Bezug auf ueben abgeht.

Trifft auf mich zumindest zu. Ich kenne die Karategilde nur aus der
muehsameren Fassung. Mit weniger Lernen im Kampf. Ohne Lernen von 
verwandten Techniken. Und ohne Zweikampfkammern. Dafuer 35 Onlinetage
Uebe-Arbeit in der freien Natur. Und glaubs, mir, es war zu dieser
Zeit nicht einfach, passende NPCs zu finden... O:^)

Auch falsch ist, dass ich behauptet haben soll, dass Gildenfeeling
ausschliesslich aus Fertigkeiten und "Unbill" besteht. Klassischer
Implikationsfehler, Humni ( A->B =|=> B->A ), ein "auch" ist nicht
mit "ausschliesslich auch" gleichzusetzen.

Jammerer.
Schlimmer noch: KARATE-ZWEITIE!

Anatol


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



Aenderungen (Rochus,  7. Apr 2000, 15:33:27):
Da es einige anscheinend noch nicht begriffen haben:
Die Anforderungen sind VORLAEUFIG etwas hoeher gegriffen als
sie in der endgueltigen Fassung sein werden, damit, wenn die
neuen Zusatzanforderungen kommen (u.A. Gildenquests, aber das
dauert etwas bis die fertig sind) die Spieler gegenueber denen
die in der Zwischenzeit noch aufsteigen nicht allzu sehr benachteiligt
sind.


  Rochus

-----------------------------------------------------------------------------



Re^4: ??? (Trauma,  7. Apr 2000, 16:26:01):
~#! rn=Boing rt=955092690 rg=gilden.karate
~#! tid=955038124
naja fuer Level 23 hatte ich nen halbes Jahr Sperre wegen ausgiebigem
Struv-Metzeln :)
*grins*

-----------------------------------------------------------------------------



wogen glaetten (Oleriis,  7. Apr 2000, 17:55:18):
Hallo Ihr Karatekas!
Ich weiss, ich weiss, ich bin keiner von Euch und dennoch betroffen. Ich habe
heute ein bischen mit Rochus und Boing palavert! Und es scheint so als wuerden
die meisten von Euch eine falsche Vorstellung von dem haben, was sich durch
Rochus Veraenderungen denn letztendlich alles veraendert. Soweit ich Boing
verstanden habe wird keiner von Euch irgendetwas verlieren. Und ihr solltet
vielleicht nochmal vernuenftig und ruhig miteinander reden. Gelle Anatol!
Beleidigungen helfen nicht weiter! Und als Seher sollte man sich schon im Zaum
halten koennen. Das war es dann auch schon wieder! Und denkt dran es wird
lange nicht so heiss gegessen wie gekocht :)
Oleriis.

-----------------------------------------------------------------------------



Jammerei (Rochus,  7. Apr 2000, 18:36:22):
ALSO, da es einige immer noch nicht begriffen haben:
Die Wartezeit war NIEMALS dafuer gedacht, dumm rumzuideln.
Sondern es sollten damit Skriptern die Vorteile genommen werden - Skripter
sollten ebenson lange zum Aufstieg brauchen, wie andere, die RICHTIG
spielen und in ihrer Wartezeit forschen, Quests loesen,
VERSCHIEDENE Npcs metzeln und nicht per Skript immer den gleichen usw.
Wenn ich diese Jammerei hoere, vergeht mir schon bald jede Lust,
noch etwas an der Gilde zu machen.
Ich glaube, ich mache jetzt erstmal ne Pause und eine zeitlang
NICHTS an der Gilde, bis Ihr Euch wieder beruhigt habt.
Bedankt Euch bei den Jammerern.

  Rochus. SAUER.

-----------------------------------------------------------------------------



Re: Jammerei (Humni,  8. Apr 2000, 01:52:10):
~#! rn=Rochus rt=955125382 rg=gilden.karate
~#! tid=955125382
Hi Rochus und Rest der Welt,

tut mir echt leid, wenn da was falsch ruebergekommen ist. Ja, ich 
fand die neuen Uebemechanismen anfangs echt hart, habe mir aber
wirklich gedacht, ich warte jetzt, bis die gesamte Aenderung durch 
ist.

Ich hatte durchaus nicht vor nur rumzujammern, auch wenn dies
so ruebergekommen ist. Ich denke auch, einige meiner Artikel
spiegeln dies auch wieder.

Um konkret zu sein: Ja, ich habe mich aufgeregt, aber ich
habe mich hauptsaechlich ueber Anatols Kommentare zu meiner
letzten Aeusserung aufgeregt. Und dass die Idlezeit nicht so
gedacht war, hatte ich eigentlich schon kapiert.

Soviel dazu. Wenn ich mir den Jammerer-Schuh schon
anziehen muss, entschuldige ich mir hiermit offiziell
bei Rochus. 

Humni

-----------------------------------------------------------------------------



Ups :-) (Miraka,  8. Apr 2000, 14:26:17):

Funakoshi sagt:
``Du musst mindestens Stufe 40 und 95% der erreichbaren Abenteurerpunkte
  sowie das Stirnband des Weghiers verdientermassen haben und benoetigst
  insgesamt 3000 Erstkillpunkte, dazu fehlen Dir ca. 2525.
  ''

DAS sind Anforderungen, die ich liebe ;^)

-----------------------------------------------------------------------------



Re: wogen glaetten (Hood,  9. Apr 2000, 18:29:07):
~#! rn=Oleriis rt=955122918 rg=gilden.karate
~#! tid=955122918
au weia...wenn du wuesstest, wie ueberfluessig du bist
wo hast du denn diese sammlung vom sprechblasen ausgegraben?!
nur weil hier etwas erhitzte gemueter miteinander diskutierten, braucht
hier kein selbsternannter friedensstifter solch einen vollredundanten
schmarrn loslassen.

-----------------------------------------------------------------------------



Re: Re: wogen glaetten (Humni,  9. Apr 2000, 19:30:48):
~#! rn=Hood rt=955297747 rg=gilden.karate
~#! tid=955122918
Sorry Hood,

ich fand den artikel keineswegs redundant sondern habe mich
nicht zuletzt seinetwegen wieder ziemlich gut eingekriegt.

Abgesehn davon sollte man gerade bei Leuten die noch nicht
seit 10 Jarhen mudden und die hiesigen Gewohnheiten
noch nicht kennen nicht gleich ,ueberfluessiger Artikel'
mit ,ueberfluessiger Spieler' gleichsetzen.

Humni

-----------------------------------------------------------------------------



Re^3: wogen glaetten (Hood,  9. Apr 2000, 20:40:44):
~#! rn=Humni rt=955301448 rg=gilden.karate
~#! tid=955122918
gut, er ist nicht ueberfluessig.
ich bin schliesslich froh, dass du deinen psychotherapeuten gefunden hast.

-----------------------------------------------------------------------------



Re^3: wogen glaetten (Smiley, 10. Apr 2000, 00:05:53):
~#! rn=Humni rt=955301448 rg=gilden.karate
~#! tid=955122918
Moin,

gleich mal vorneweg: am liebsten wuerd ich hier erstmal riesige Packungen
Baldrian zur Beruhigung verteilen. Aber nun zu meinem Artikel:
irgendwie scheine ich hier ein deja vu Erlebnis zu haben. Ich erinner mich
noch gut an die erste grosse Abwertung der Karategilde, zu der Zeit wo auch
die groessen der NPCs eingefuehrt wurden. Die Taktik von Rochus erst mal
'hart' durchzugreifen und dann aber alles in ein Gleichgewicht zu bringen
kannte ich da noch nicht ... und mein damaliger Unmut schlug in massiven Fruft
um als ich fuer die Titanwalze in der SSp 180 (!) Magiepunkte verbraten musste
um die zu killen. Nun, im Nachhinein, weiss ich,  war das nur ein kurzweiliger
und ungewollter Misstand war, der mit Einfuehrung der Groessen von NPCs und
irgendwelchen anderen Skills zusammenhing. Da aber nach massiven Flames und
sonstigen unschoenen Artikeln der Frust auf Spieler- und Magierseite zu gross
war hab ich nichts in die MPA geschrieben, sondern mit Smiley eine viele
Monate dauernde Spielpause eingelegt.
Die heutige Aufregung wegen RL-Zeitsperre vermag ich nicht so recht
nachzuvollziehen,  und das verlangsamte Lernen, nun, ich glaube nicht dass es
deutlich aufwendiger wird als in anderen Gilden. Und selbst wenn .... wenn
dadurch mehr'Gildenfeeling' geschaffen wird ... soll heissen, der Spassfaktor
erhoeht wird, warum in Gottes Namen solls denn nicht so sein. Ein Erstie
braucht eh viiiel Zeit um aufzusteigen .. und dass die Zuechtung von 2tis
unter den Neuerungen leidet, nun, dagegen hab ich zumindest wenig (ich sag
hier ganz bewusst nicht 'nichts') einzuwenden.
Also, was mir damals fehlte war die Einsicht dass so manches noetig war im
Interesse der Balance .. und ich hielt den Misstand des enormen MP-Verbrauchs
fuer gewollt. So ists halt wenn Emontionen den Verstand vernebeln ... darum
mein ich heute in einer aehnlichen Situation ( einige (wenn auch nicht so viel
wie damals) wuetende frustrierte Spieler) und ein saurer Rochus): wartet
erstmal ab bis die Aenderungen nicht nur aktiv sind, sondern gebt dem Rochus
auch Zeit dann auftretende Misstaende zu beseitigen. 
So,  das war mein Senf dazu

Gruesse,

  Smiley

P.S.: und zu der Bemerkung dass Spieler mit juengeren Erstlogin sich gefrustet
fuehlen von aelteren .. dazu  sag ich: Unsinn. Fuer aletere Spieler ists halt
nur mal nett von vergangene zeiten zu schwaermen ... alle paar Monate mal
traeum ich auch mal laut von der Zeit wo es noch keine FPs gab 


-----------------------------------------------------------------------------



Re: wogen glaetten (Lug, 10. Apr 2000, 02:02:45):
~#! rn=Oleriis rt=955122918 rg=gilden.karate
~#! tid=955122918

Oleriis? Ist das ein Synonym fuer Weichspueler? Ist ja dirket ekelerregend das
Gesaeusel hier.

Genervt
Lug

-----------------------------------------------------------------------------



Re: Jammerei (Lug, 10. Apr 2000, 02:03:59):
~#! rn=Rochus rt=955125382 rg=gilden.karate
~#! tid=955125382

Hm?

Wie waere es mit Abhaengen? So reagieren durchknallende Mags doch meistens...

An dieser Stelle eine schoenen Gruss an Wargon
Lug

-----------------------------------------------------------------------------



3000 Erstkill-Stupse? (Slycat, 10. Apr 2000, 17:56:23):
Stimmt es, dass, wie ich von 2 Karates hoerte, dass man jetzt 3000 Erstkill-
Stupse fuer den 8. Dan braucht?

Das waere, wenn es so ist, wirklich etwas hochgegriffen, soviel hat ja mein
Erstie vielleicht noch nicht mal.

Das klingt eher nach einer 0 zuviel. ;)

  Slycat (Slyfox)

-----------------------------------------------------------------------------



Re: 3000 Erstkill-Stupse? (Karam, 10. Apr 2000, 23:06:20):
~#! rn=Slycat rt=955382183 rg=gilden.karate
~#! tid=955382183
Ich denke, die 3000 Erstkillstupse fallen unter die Rubrik "wird spaeter
noch auf realistische Werte gesetzt".

Die Realzeit-Limits beim Erhoehen finde ich uebrigens so in Ordnung. Zwei
Wochen oder auch einen Monat fuer die hoechsten Raenge sind IMHO nicht zu
viel.

Ich hoffe ansonsten, dass es bald andere Dinge nach dem 3. Dan zu tun
gibt als Limits abzuwarten. Ich konnte, als ich endlich Seher war,
praktisch direkt vom 3. zum 7. Dan erhoehen. :)

-- 
Karam

-----------------------------------------------------------------------------



Re: 3000 Erstkill-Stupse? (Deepblue, 11. Apr 2000, 09:28:18):
~#! rn=Slycat rt=955382183 rg=gilden.karate
~#! tid=955382183
Es stimmt, ist aber eine Uebergangsregelung und soll nach anschluss neue
Gildenquests etc gesenkt werden.

-----------------------------------------------------------------------------



Re: Re: 3000 Erstkill-Stupse? (Deepblue, 11. Apr 2000, 09:30:00):
~#! rn=Karam rt=955400780 rg=gilden.karate
~#! tid=955382183
tja, nach alter regel haette ich das sicher auch gekonnt, jetzt brauch ich
ploetzlich ein knappes k stupse fuer den 4. Dan. Ce la vie

-----------------------------------------------------------------------------



Gildenupdate (Night, 13. Apr 2000, 12:12:32):
Hallo erstmal !!

Ich finde es toll das endlich mal was am stupiden Alltag von uns
Faustkaempfer/innen getan wird. Ein bisschen Abwechslung sollte doch das
Ansehen der Gilde etwas aendern.
Aber: Ich finde eines der groessten Probleme fuer mich ist, ich mache einfach
zu wenig Schaden. Also ich habe Kaempfer gesehen, die machen wesentlich
"bunteren" Schaden (tf ;)) ...
Das wuerde ich gern mal aendern lassen.  Man hat nicht irgendwie mal ein
Erfolgserlebnis ... seit ich angefangen habe mach ich hart/sehr hart ...
gaaaaaaaaaanz selten mal ein Krachen.

     Night, gern auch mal richtig metzeln wollend

-----------------------------------------------------------------------------



Ergaenzung (Night, 13. Apr 2000, 12:13:42):
Der Vergleich mit dem Kaempfer war auf die Uebezeit ausgelegt. ;))

-----------------------------------------------------------------------------



Re: Gildenupdate (Zook, 13. Apr 2000, 12:14:46):
~#! rn=Night rt=955620752 rg=gilden.karate
~#! tid=955620752
Also, wenn es um die Farben geht, man kann bei den Kampf-Scripts
auch spannende Farben fuer "verfehlt", "kitzelt" und so einstellen...

Gruss, Zook.

-----------------------------------------------------------------------------



Ueberlegungen (Bigas, 13. Apr 2000, 14:05:25):
Die ganzen Umbauten an der Gilde dienen ja (wenn ich das richtig
verstanden hab) ja dazu, die Flut von Karate-Zweities Marke
"Ausruestung und Geld fuer den Erstie besorgen" einzudaemmen.
Aber auf mich wirkt das mehr wie ein rumdoktorn an den Symptomen
ohne die Ursachen zu suchen. Und eine der Ursachen duerfte
folgende sein:
Es gibt ja ziemlich viele (und es werden immer mehr) NPCs, die sich
praktisch nur mit speziellen Waffen/Schadensarten oder Magie treffen
lassen. Und da ist die Karate-Gilde die einzige, die da keine Chance
hat, weil man sich nicht dafuer ausruesten kann. Und sowas ist IMHO
fuer eine Gilde, die ja zum metzeln konzipiert ist, toedlich.
DA muesste also mal was gemacht werden. Wenn man als Karateka
ne Chance kriegen wuerde, z.B. den Wasserelementar in der SSP mal
zu treffen, gaebe es sicher auch mehr Ersties in der Gilde.

-----------------------------------------------------------------------------



Re: Ueberlegungen (Rochus, 13. Apr 2000, 14:07:53):
~#! rn=Bigas rt=955627525 rg=gilden.karate
~#! tid=955627525
Genau deshalb habe ich mal eine Mail an die Gildenbalance geschickt
und angefragt, ob GELEGENTLICH erhaltbare Spezialhandschuhe fuer
einige wenige andere Schadenstypen erlaubt werden...
Nur Geduld, ich glaube ich weiss was ich tue :-)

  Rochus

-----------------------------------------------------------------------------



Re: Re: Ueberlegungen (Hood, 13. Apr 2000, 15:07:16):
~#! rn=Rochus rt=955627673 rg=gilden.karate
~#! tid=955627525
gelegentlich erhaltbare spezialhandschuhe?
nennt sich wandlung, das tool gibts in der zgilde ;)

-----------------------------------------------------------------------------



Re^3: Ueberlegungen (Rochus, 13. Apr 2000, 15:12:20):
~#! rn=Hood rt=955631236 rg=gilden.karate
~#! tid=955627525
Ich habe eben erfahren, es gibt schon mehr solche Objekte als ich dachte...
und als die meisten von Euch anscheinend kennen :-)
Also, es gibt schon 4 verschiedene Schadentypen fuer Karateka
(durch Objekte, nicht Zauberer), und demnaechst wird noch jemand
etwas mit Feuer anschliessen, damit sind dann genuegend viele abgedeckt.
Na, dann sucht mal schoen... :-)
Aehm, und dass es MULTI-User heisst und es demnach zumutbar sein sollte,
wenn einige Sachen nur mit Hilfe erreichbar sind, muss ich doch wohl
nicht extra erwaehnen, oder? :-)

  Rochus

-----------------------------------------------------------------------------



Re^4: Ueberlegungen (Goofy, 13. Apr 2000, 16:14:52):
~#! rn=Rochus rt=955631540 rg=gilden.karate
~#! tid=955627525
Man sollte den Karatekas erlauben mit Adamantschuhen, brennender Hose
oder aehnlich leichten Rstungen den entsprechenden Schaden zu machen.
Das widerspricht meines Erachtens nach auch nicht der Forderung nach
groesstmoeglicher Ruestungslosigkeit weil das Zeug wirklich sehr leicht ist.

Goofy

-----------------------------------------------------------------------------



Re: Re: Ueberlegungen (Lug, 13. Apr 2000, 23:24:48):
~#! rn=Rochus rt=955627673 rg=gilden.karate
~#! tid=955627525

Also das waere ja das allerneueste. Ein Magier, der weiss was er tut. Wo kommt
das MUD bloss noch hin, wenn sowas einreisst? Schreckliche Vorstellung.
Sinnvolle Monster, sinnvolle Gilden, sinnvolle Tools. Oweiah. Nee, nee, so
geht das nicht. 

Kopfschuettelnd
Lug

P.S.: Ich hoffe das waren jetzt mehr als zwei Zeilen, sonst ist Boing wieder
sauer...

-----------------------------------------------------------------------------



Monsterschreck Funakoshi (Deepblue, 17. Apr 2000, 15:32:06):
Dies ist Funakoshi, der Karate-Lehrmeister.
Falls Du Karate lernen willst, bist Du bei ihm richtig.
Falls nicht: Es gibt keine Punkte dafuer, ihn umzunieten.
Er ist absolut fit.
Er traegt bei sich:
Ein ``Born to Kill''-Stirnband.. (2)

-----------------------------------------------------------------------------



Go (Swotl, 17. Apr 2000, 22:56:23):
Hallo Leute,

ich habe mir mal ein paar Gedanken ueber die Go-Club-Quest gemacht. Wie waere
es, wenn es einfach ausreichen wuerde, wenn man Funa* sein Stirnband zeigt??

Die Leute, die (wie ich) Yamada einmal besiegt haetten, wuerden danken (weil 
dann die arbeit nicht umsonst war und das nicht so einfach ist wie Lan Wun mal
eben nochmal machen) und Rochus haette sicherlich weniger Arbeit mit der 
Implementierung (weil Funa* sollte er doch kennen...;-) )

OK, das Argument mit dem ,,Karateka sein'' zaehlt natuerlich, aber das
Stirnband
muss (wie ich eben mit Erschrecken festgestellt habe!) alle paar Tage neu
erworben werden, so dass die Wahrscheinlichkeit, dass als Karateka gemacht zu
haben, gegeben ist. Des weiteren ist die Quest in einer anderen Gilde ja nun
wirklich dieselbe. 

Swotl
PS: Sollte die Quest mittlerweile funktionieren wuerde mich das zwar aergern 
(-> nochmal machen) aber dann betrachtet bitte diesen Artikel als 
ueberfluessig. Ich hab nur noch keine Erfolgsmeldungen mitgekriegt und gehe
daher davon aus, dass dem noch nicht so ist.

-----------------------------------------------------------------------------



Re: Go (Anatol, 18. Apr 2000, 13:35:45):
~#! rn=Swotl rt=956004983 rg=gilden.karate
~#! tid=956004983
Du wirst doch alle sieben Onlinetage mal gegen Yamada antreten koennen...

... der spielt eh so schlecht, wie man es von einem nicht-menschlichen
Gegner im Rahmen des Muds erwartet. Es sei denn, Ulo ist (invis) an-
wesend, dann sieht das natuerlich GANZ anders aus ;)

Anatol, erfahren ;)


-----------------------------------------------------------------------------



Re: Re: Go (Ulo,  3. Mai 2000, 18:12:47):
~#! rn=Anatol rt=956057745 rg=gilden.karate
~#! tid=956004983

Behuete! Sollte ich invis anwesend sein, werde ich mich hueten, meine
Zeit mit yamada zu vergeuden :) Aber nette Idee, Anatol...

btw, sollte jemand schon ein Skript fuer Yamada geschrieben haben, das mit
TF alleine auskommt (keine Go-Programm - PERL - TF - Kombination)
, dann wuerde mich das brennend interessieren :)

Ulo.

-----------------------------------------------------------------------------



Re^3: Go (Anatol,  3. Mai 2000, 18:16:12):
~#! rn=Ulo rt=957370367 rg=gilden.karate
~#! tid=956004983
Ack! Du hast mich gegen irgendein Go-Programm spielen lassen? :))

Anatol - weiss, warum er damals verlor ;)


-----------------------------------------------------------------------------



Wie gehts nun weiter? (Deepblue, 16. Jun 2000, 13:53:54):
Da Rochus nunh Arbeit hat und nicht mehr viel Zeit, wollte ich mal fragen wie
es weitergeht. Mit der hohen geforderten EK-Zahl (als Aufstiegssperre bis zum
Umbau gedacht) kanns ja nicht ewig bleiben...
Deepblue (heute mal jammernd)

-----------------------------------------------------------------------------



Re: Wie gehts nun weiter? (Anatol, 16. Jun 2000, 15:02:20):
~#! rn=Deepblue rt=961156434 rg=gilden.karate
~#! tid=961156434
Rochus hat derzeit noch keinen geregelten Netzzugang (er war aus
Berlin bisher immer nur vom Internetcafe aus eingeloggt). Uebe Dich
in Geduld. Als Karateka solltest Du die ohnehin haben, oder?

Anatol

-----------------------------------------------------------------------------



time to say goodbye (Sandilein, 19. Jun 2000, 05:50:20):
Abschliessend meine Gedanken zum Thema:

Gilden die der Mensch nicht braucht!

Es gibt viele Gruende, warum ich keine Lust mehr habe.
Aber Karate, macht keinen Spass mehr, man koennte die Gilde
auch abhaengen, jedenfalls fuer die, die noch nicht ganz oben sind.
Es ist seit nunmehr schaetzungsweise an die 3 Monate nicht mehr
moeglich irgendwie weiterzukommen.

Faellt das eigentlich niemandem auf?
Ist das so noch in Ordnung?
Vielleicht braucht es da ja mal noch eine ganz andere *Balance*?

Zuerst hiess es mal ... da kommt ja noch viel neues ...
Der damalige und aktuelle Zustand war und ist aber nicht spielbar,
also wurden die Leute sauer ... verstaendlich ... wenn sie keine Ahnung
haben was wann auf sie zukommt, und sie erst mal derartig geschockt wurden ...

Dieses Verstaendnis haben aber lange nicht alle ...

Was hab ich dann gehoert?
- Es dauert 2-3 Wochen
- Rochus haette die Stupse ja gleich wieder runtergeschraubt
  er ist aber sauer wegen der Reaktionen (na super!)

Sind wir im Kindergarten oder was?
Ach ja das ist ja alles nur ein Spiel
(das man grad nicht mehr spielen kann wie man das erwartet ...)
und je Magier desto Regeln aendern ???

25% sind schon ausgetreten angeblich?
naja +1
Ich gehe dann aber gleich ganz.
Dann war die viele Arbeit gewissermassen nicht ganz umsonst.
Ich habe mich so geaergert dass ich ernsthafte Konsequenzen ziehe.
Wem das nicht gefaellt, suche sich wen wo er sich bedanken kann...
(anstatt mich zu bitten wieder zu kommen)

Take care!
Ciao
Sandie/lein

-----------------------------------------------------------------------------



Re: time to say goodbye (Golas, 19. Jun 2000, 08:55:46):
~#! rn=Sandilein rt=961386620 rg=gilden.karate
~#! tid=961386620
Dein Rumgeheule ist nicht wirklich produktiv.
Vergiss mal nicht, dass hier alles freiwillig geproggt wird und manche auch
noch ein Leben ausserhalb des MG haben.

Ich finde die momentante Situation auch daneben und haette mich gefreut, wenn
die Gilde erst dann geaendert wird, wenn das komplette Konzept umgesetzt
worden ist. Auch ich finde die Regelung mit den Killstupsen schwachsinn, aber
damit muss man sich abfinden.

Golas hoffend, dass Sandie das noch liest.

-----------------------------------------------------------------------------



Re: Re: time to say goodbye (Deepblue, 19. Jun 2000, 09:17:39):
~#! rn=Golas rt=961397746 rg=gilden.karate
~#! tid=961386620
Sicher wird hier alles freiwillig geproggt, allerdings sollte man seine Zeit
zumindest einigermassen einschaetzen koennen. Keiner haette gross gemeckert,
wenn aus den 2-3 Wochen 5 Wochen geworden waeren, aber nun sinds bestimmt
schon bald 15 Wochen und es ist keine Ende in Sicht. Irgendwann wird man dann
halt ungeduldig. Von den angekuendigten Sachen fehlt ja eigentlich nur noch
das Eintragen der Gildenquests fuer entsprechende Grade und die eher
aufwertenden Kombinationen, die fuers Level aber weniger entscheidend sind.
Also koennte man alles andere erstmal anschalten und die Kombinationen dann
extra hinzufuegen, wenn sie fertig/durch die Balance sind. Das sind ein-zwei
Stuendchen und alles waere wieder im Lot. 

-----------------------------------------------------------------------------



Re^3: time to say goodbye (Gor, 19. Jun 2000, 09:20:15):
~#! rn=Deepblue rt=961399059 rg=gilden.karate
~#! tid=961386620
Unterschaetze die Zeit nicht, die man in sowas stecken kann bzw. muss, bis
alles funktioniert. 

Gor, der auch seit zwei Monaten fertig sein wollte.

-----------------------------------------------------------------------------



Re^3: time to say goodbye (Golas, 19. Jun 2000, 09:21:40):
~#! rn=Deepblue rt=961399059 rg=gilden.karate
~#! tid=961386620
wichtigster punkt, um ein aufsteigen wieder zu ermoeglichen ... die
killstupse. an denen beisst sich jeder die zaehne aus!

-----------------------------------------------------------------------------



Re^4: time to say goodbye (Karis, 19. Jun 2000, 09:22:33):
~#! rn=Golas rt=961399300 rg=gilden.karate
~#! tid=961386620
Endlich mal wieder ein neuer Thread.
Die Woche geht ja gut los.

Karis

-----------------------------------------------------------------------------



Re^3: time to say goodbye (Paracelsus, 19. Jun 2000, 09:25:17):
~#! rn=Deepblue rt=961399059 rg=gilden.karate
~#! tid=961386620
> halt ungeduldig. Von den angekuendigten Sachen fehlt ja eigentlich nur noch
> das Eintragen der Gildenquests fuer entsprechende Grade und die eher

Hmm, "nur noch das Eintragen" ... klar, wenn man nur Gildenquests nehmen
will, die es auch in anderen Gilden gibt, geht das schnell ... aber ich
denke, jede Gilde sollte auch Gildenquests haben, die nur fuer diese eine
Gilde gedacht sind. Aber die wollen erst einmal programmiert werden.
Und nur mit dem Eintragen ist es meist auch nicht getan, da muessen dann an
anderen Stellen zumeist auch kleine Aenderungen vorgenommen werden.

Para*

-----------------------------------------------------------------------------



Re^3: time to say goodbye (Humni, 19. Jun 2000, 09:25:19):
~#! rn=Deepblue rt=961399059 rg=gilden.karate
~#! tid=961386620
Aeh...

weiss nicht, aber auch wenn ich Dir generell zustimmen muss, 
glaube ich 1. nicht dass das ganze wirklich in 1-2 h zu loesen ist
und hab 2. tatsaechlich Verstaendnis fuer Rochus Situation.

Generell werd ich natuerlich auch ungeduldig, aber wenn er 
keinen Internetzugang hat kann er recht schlecht arbeiten (vom
Internet-Cafe aus Mag zu spielen ist nicht wirklich toll, denke 
ich.)

Gut, die Killstupse einfach ,,rausschmeissen'' ist nicht viel Arbeit,
denke ich, aber die Gildenquests duerften schon noch was dauern.

Und: Fuer mich ist der wichtigste Punkt, dass das ueben wieder
was bringt...

Humni fuer Swotl

-----------------------------------------------------------------------------



Re^4: time to say goodbye (Golas, 19. Jun 2000, 09:31:53):
~#! rn=Humni rt=961399519 rg=gilden.karate
~#! tid=961386620
die gildenquests sind schon dran und man kann sie auch spielen. sie sind nur
noch keine bedingung fuers aufsteigen. mit der zeit sollen noch mehr
hinzukommen

-----------------------------------------------------------------------------



Re^4: time to say goodbye (Deepblue, 19. Jun 2000, 09:52:30):
~#! rn=Humni rt=961399519 rg=gilden.karate
~#! tid=961386620
Das das ueben wieder etwas gebremst wurde ist ok. Da ich mittlerweile alles
voll hab, kann ich aber nicht abschaetzen, ob es zu stark gebremst wurde. 
Rausschmeissen wuerde ich die EKs auch nicht, das koennte durchaus ne
Aufstiegsbedingung sein. Aber nur mit realistischen Werten.

-----------------------------------------------------------------------------



Re^5: time to say goodbye (Humni, 19. Jun 2000, 10:00:42):
~#! rn=Deepblue rt=961401150 rg=gilden.karate
~#! tid=961386620
IMHO wurde es VIEL zu stark gebremst, da bin ich nicht der einzige,
der so denkt. Und klar, ein gesundes Mass an EKs ist ok.
Fakt ist nur, dass ich ein ganzes Haus gegen Gegner gemetzelt habe,
fuer die ich tanken muss, um sie zu besiegen, und das fast nur mit
Techniken, die nicht auf 100% sind. Ich hab keinerlei Erfolg auf
der Topliste gesehen (da bleibe ich einfach bei 78% haengen) und
die ,,noch zu uebenden Techniken'' haben sich auch nicht 
veraendert.

Ach ja: mit ,ganzem Haus' meine ich ,ersten Raum' - aber das ist
auch nicht alles, was ich seitdem getoetet habe (schliesslich
hab ich ja auch EKs gesammelt).

Handlungsbedarf besteht also.

Swotl (vertreten durch Humni)

-----------------------------------------------------------------------------



Re^5: time to say goodbye (Silvana, 19. Jun 2000, 11:54:12):
~#! rn=Karis rt=961399353 rg=gilden.karate
~#! tid=961386620
Was soll denn an dem Thread neu sein...?

  Silvana (einzeilernd)

-----------------------------------------------------------------------------



Re^6: time to say goodbye (Deepblue, 19. Jun 2000, 12:18:15):
~#! rn=Silvana rt=961408452 rg=gilden.karate
~#! tid=961386620
Nichts, ausser das sich immer noch nix geaendert hat, obwohl statt 3 Wochen
nun schon 3 Monate vergangen sind.

-----------------------------------------------------------------------------



Re^5: time to say goodbye (Foorgol, 19. Jun 2000, 16:43:33):
~#! rn=Deepblue rt=961401150 rg=gilden.karate
~#! tid=961386620
Nur zur Verdeutlichung wie stark das Ueben abgebremst wurde:
Den FP-Sammler umhauen und anschliessend noch in den Katas
einige Feuerdaemonen pruegeln hat keinen sichtbaren Effekt.
Da ich keine Lust hatte zum ueben zur Hydra oder zum Drachen-
gott zu gehen sehe ich nicht wie man seine Werte noch steigern
koennte.
Zur EK-Stups Begrenzung: Halte ich grundsaetzlich nichtmal fuer
ne schlechte Idee. Aber 3000 EK-Stupse _bevor_ man seine Gilden-
faehigkeiten gemaxt hat halte ich fuer schlichtweg unerreichbar.
Als ich (zu dem Zeitpunkt 5.Dan) zum ersten mal von Funa etwas
von EK gehoert habe dachte ich, das waere ein Prozentsatz der
maximalen EK-Stupse und in die Formel haette sich ein Faktor 10
eingeschlichen der da nicht hin soll, kann ja mal vorkommen sowas.
Als ich Rochus danach fragte meine er nur das koenne nicht sein,
das waeren feste Werte.
Mein Verdacht ist jetzt, dass Rochus die 3000 irgendwann auf 2000 
senkt und das dann fuer sehr grosszuegig haelt. Das waere aber 
genauso unerreichbar.
Ich sehe also momentan nicht, dass nochmal irgenwann irgendwer
die Chance bekommt die 8.Dan zu erreichen. Vor allem auch da sich
seit zu langer Zeit nichts getan hat. Wenn Rochus momentan nur per
iCafe ins Mud kann ist das sicherlich ein grund nicht zu proggen,
aber einen kurzen erklaerenden Artikel in die Zeitung zu setzen
sollte doch nicht zu viel verlangt sein.
  
Foorgol - einer von (angeblich) 25%

-----------------------------------------------------------------------------



Re^7: time to say goodbye (Anatol, 19. Jun 2000, 16:45:18):
~#! rn=Deepblue rt=961409895 rg=gilden.karate
~#! tid=961386620
Das ist bestimmt aergerlich, aber angesichts des Umstands, dass der
verantwortliche Gildenmagier derzeit noch keinen geregelten Netzzugang
hat, sondern nur via Internet-Cafe reinschauen kann, faellt das doch
in die Kategorie "unschoen, muss aber ertragen werden", oder?

Die Leute, die jetzt wegen - sagen wir: - vier Monaten Erhoehungssperre
herumjammern, moegen bitte an die denken, die es in dieser Gilde noch
nicht so einfach mit ihren Techniken hatten. Die fuehlten sich naemlich
gut veralbert, schiesslich geht der Aufwand fuer eine Gildenstufe in
die Bewertung der Gildenbalance mit ein. Wenn Rochus jetzt fuer eine
relativ kurze Zeit einen Bremsklotz wirft, verhindert er doch eher
groesseres Unheil - auch wenn das die, die gerade am Aufsteigen sind,
an empfindlichen Stellen trifft.

Und uebrigens. Auch Mitglieder anderer Gilden muessen sich hin und
wieder in Geduld ueben... aber bitte, wenn ihr wollt, wird es in 
Zukunft heissen: "Heul nicht so wie ein Karateka...". Mir als Zauberer
ist das natuerlich recht ;o)

Anatol - kanns verstehen, aber nicht gutheissen

-----------------------------------------------------------------------------



Re^8: time to say goodbye (Foorgol, 19. Jun 2000, 16:49:59):
~#! rn=Anatol rt=961425918 rg=gilden.karate
~#! tid=961386620
Das wuerde unter die Rubrik 'unschoen, aber zu ertragen'
fallen, WENN man es wuesste.
Dashalb hab ich ja auch geschrieben, dass ich zumindest einen
kurzen erklaerenden Artikel vom Gildenmagier verlange. Dass ich
das jetzt erst nach Wochen von anderer Seite zu erfahren habe
ist durchaus ein nachtraeglicher Entscheidungsgrund fuer den
Gildenaustritt. Ich muss dazu sagen: leider. Ich waere auch gerne
Karateka geblieben.

-----------------------------------------------------------------------------



Re^6: time to say goodbye (Deepblue, 19. Jun 2000, 16:53:53):
~#! rn=Foorgol rt=961425813 rg=gilden.karate
~#! tid=961386620
Wer redet hier vom 8. Dan? Auch niedrigere Grade sind derzeit de facto
unerreichbar, obwohl der Lernaufwand offensichtlich schon stark erhoeht wurde

-----------------------------------------------------------------------------



Re^9: time to say goodbye (Boing, 19. Jun 2000, 16:58:17):
~#! rn=Foorgol rt=961426199 rg=gilden.karate
~#! tid=961386620
Rochus hat einige Tage nach den ersten Aenderungen in dieser Rubrik
geschrieben, dass die harten Aufstiegsbedingungen nur temporaer sind.
Insofern haettest du es wissen koennen. Die von Dir erwuenschten
klaerenden Artikel waren da, man haette sie nur lesen muessen.
  Boing

-----------------------------------------------------------------------------



Re^11: time to say goodbye (Boing, 19. Jun 2000, 17:01:51):
~#! rn=Deepblue rt=961426801 rg=gilden.karate
~#! tid=961386620
Die Frage ist sicherlich berechtigt. Aber es ist keinesfalls so, dass
Rochus gesagt hat dass die Anforderungen jetzt fuer alle Zeiten so
zementiert sind. Sein Zeitplan wurde eben durch Diplom und Umzug
durcheinander geworfen. Das zeigt eigentlich nur eins: Das er sich
den Sinn fuers Wesentliche bewahrt hat.
  Boing
PS: da oben fehlt ein s, ich weiss

-----------------------------------------------------------------------------



Re^10: time to say goodbye (Deepblue, 19. Jun 2000, 17:02:11):
~#! rn=Boing rt=961426697 rg=gilden.karate
~#! tid=961386620
Er schrieb von 2-3 Wochen. Die sind vor knapp 3 Monaten vorbeigewesen. Deshalb
ist eine neue Frage, wann es nun weitergeht, IMHO berechtigt.

-----------------------------------------------------------------------------



Re^11: time to say goodbye (Boing, 19. Jun 2000, 17:03:54):
~#! rn=Deepblue rt=961426931 rg=gilden.karate
~#! tid=961386620
Die Antwort auf Deepblues Artikel wurde dank goettlicher Vorhersehung
schon direkt davor gepostet.
  Boing

-----------------------------------------------------------------------------



Re^12: time to say goodbye (Deepblue, 19. Jun 2000, 17:06:42):
~#! rn=Boing rt=961426911 rg=gilden.karate
~#! tid=961386620
Sinn fuers wesentliche ist schon richtig, nur kann man auch bei
unwesentlicherem IMHO nicht ploetzlich den Hammer fallen lassen, obwohl der
Nagel noch halb raushaengt. Ne kleine uebergangsloesung waer schon nicht
schlecht
Damit meine ich, dass bis zur endgueltigen Fassung ein Aufstieg zwar
schwierig, aber nicht quasi unmoeglich gemacht wird

-----------------------------------------------------------------------------



Re^13: time to say goodbye (Gnome, 19. Jun 2000, 21:30:26):
~#! rn=Deepblue rt=961427202 rg=gilden.karate
~#! tid=961386620
wenn man euch so hoert, schlag ich mal vor, dass ihr alle in die
zauberergilde wechseln solltet.
den jammerskill habt ihr zumindest schonmal auf max.

rochus hat letzte woche seinen telefonanschluss beantragt und je nach
lust und laune der berliner telekom dauert es noch zwischen 1 und 2 wochen,
bis er wieder voll da ist.
von seiner neuen arbeitsstelle koennte er ins mud, will er aber nicht, was
wohl verstaendlich ist.

gnOme

-----------------------------------------------------------------------------



Re^14: time to say goodbye (Rochus, 20. Jun 2000, 13:58:21):
~#! rn=Gnome rt=961443026 rg=gilden.karate
~#! tid=961386620
Also, ich KANN zwar von der Arbeitsstelle ins Mud, aber nur,
um mal kurz Mails zu lesen und einiges abzusprechen,
von hier aus richtig programmieren kann ich nicht,
muss mich halt moeglichst voll meiner Arbeit widmen.
Habt bitte Verstaendnis, sobald ich den Zugang habe komme ich
erstmal per CbC wieder und beantrage ne Flatrate.

  Rochus

-----------------------------------------------------------------------------



Re^11: time to say goodbye (Wargon, 20. Jun 2000, 16:17:27):
~#! rn=Deepblue rt=961426931 rg=gilden.karate
~#! tid=961386620
Vielleicht meinte er Mannwochen? :-P
  Wargon

-----------------------------------------------------------------------------



Re^8: time to say goodbye (Karam, 20. Jun 2000, 18:37:23):
~#! rn=Anatol rt=961425918 rg=gilden.karate
~#! tid=961386620
Ich sehe zwar auch nicht, wie man's jetzt besser machen koennte, als
es ist.  Aber nach dem Nemoku-Owaru draengt sich mir der Verdacht auf,
dass in der Karate-Gilde unfertige Sachen angeschlossen werden.  Dass
Spieler ungehalten werden, liesse sich IMHO nur durch bessere Vorsorge
loesen, also zum Beispiel erst EK-Anforderungen und Gildenquests
auszuarbeiten und dann komplett anzuhaengen.

Naechstes Mal koennte man ja als Notloesung, um bis zur richtigen Loesung
die dringendsten Probleme zu lindern (soweit ich das mitbekommen habe,
waren dies hier zu leichtes Lernen und zu leichte Gildenaufstiege), das
Lernen erschweren (ohne es gleich praktisch unmoeglich zu machen) und
Gildenlevelerhoehungen auf den 2. oder 3. Dan begrenzen.  Aber dafuer ist
es jetzt wohl zu spaet, oder?

Monatelanges Einfrieren von Gilden sollte man jedenfalls genauso vermeiden
wie taegliche Cr^H^HReboots, auch wenn dies nicht immer in der Macht der
Magier liegt.

-- 
Karam (fragt sich, wieso er ernstgemeinte Vorschlaege eigentlich in die
MPA postet)

-----------------------------------------------------------------------------



bug (Nonne, 24. Dez 2000, 11:30:12):
Hallo ihrs,

aufgrund eines Bugs in der Karategilde (oder in der Zacharias Quest) koennen
Karateka nicht mir den Orks der Quest kaempfen. Irgendwie kommt es dann dazu,
dass auch andere Gilden die Orks nicht mehr umhauen koenne, ich bitte deshalb
alle Karateka, von den Orks abstand zu nehmen.

Nein, man kann so nicht ueben, bringt also nix.

Danke herzlichst
Nonne.

-----------------------------------------------------------------------------



Re: bug (Zook, 24. Dez 2000, 12:21:23):
~#! rn=Nonne rt=977653812 rg=gilden.karate
~#! tid=977653812
Bug ist gefixt. Also weiterhin frohes Metzeln.

Zook.

-----------------------------------------------------------------------------



Bericht zur Lage der Nation (Pumuckl, 20. Apr 2001, 00:00:41):
[Karate:Pumuckl hat den 5.Kyu und hofft dass der Bug bald verbuggt wird
        <23:41:42>]
[Karate:Pumuckl] jippie <23:41:48>
[Karate:Pumuckl] Bugwegbugwegbugwegbugwegbugweg <23:42:18>
[Karate:Pumuckl] rapadappaduuuuu <23:42:30>
[Karate:Pumuckl bringt Leben in die Bude. <23:42:56>]
[Karate:Vanir] was soll das heissen ? <23:43:32>
[Karate:Pumuckl wird euch noch allen die Ohren warmkloppen. <23:43:36>]
[Karate:Vanir] dann ueb mal schoen <23:44:00>
[Karate:Pumuckl] ah - jemand ist aufgewacht ;) <23:44:00>
[Karate:Pumuckl] der Kanal ist so tot wie 10 ausgelogte Karateka's <23:44:46>
[Karate:Croft] gibt ja auch nix zu sagen ;-) <23:45:02>
[Karate:Vanir] dieser kanal spiegelt das gilden-feeling wieder <23:45:08>
[Karate:Croft] auf -bier ist auch nur mehr los weil bruno von selbst sabbelt
[Karate:Croft] ;-) <23:45:20>
[Karate:Vanir] was sollte denn funa sagen ? <23:45:34>
[Karate:Croft] nix <23:45:46>
[Karate:Pumuckl] huitschiongbong <23:46:10>
[Karate:Vanir] naja er koennt tips geben wos einfach zu holende EK'S gibt
[Karate:Vanir] <23:46:32>
[Karate:Vanir grinst <23:46:42>]
[Karate:Gabi] Die grossen sind zumeist in Rente, der Nachwuchs kommt nicht
[Karate:Gabi] weiter weil Rochus den Bug nicht behebt... wen wundert's, dass
[Karate:Gabi] es hier tot ist <23:48:02>
[Karate:Croft] hat wohl auch weniger mit rochus zu tun der bug <23:48:20>
[Karate:Pumuckl] sondern? <23:48:30>
[Karate:Croft] aber die EK geschichte sollte ja eigentlich auch nur
[Karate:Croft] mittelfristig sein <23:48:54>
[Karate:Pichu] soll ihn sonst beheben? Du Croft? <23:49:04>
[Karate:Croft] EK-System und versenkung der magieinsel <23:49:06>
[Karate:Croft] -> EMs <23:49:16>
[Karate:Foobar] Auf der Magieinsel waren so viele EKs dass jetzt keiner mehr
[Karate:Foobar] ohne die weiterkommt? <23:49:38>
[Karate:Vanir] fi foobar <23:50:02>
[Karate:Vanir] aeh richtig wollt ich sagen <23:50:15>
[Karate:Croft] da ist was mit der zaehlung durcheinandergekommen...  meine
[Karate:Croft] karateka hat laut funa 2 EKs...  laut kerbholzzaehlung ~40
[Karate:Croft] <23:50:27>
[Karate:Pichu] jepp 5 stueck <23:50:29>
[Karate:Pichu] und kein ek mehr <23:51:13>
[Karate:Gabi] Wenn Seher EKs bringen wuerden, waer die Arena stets belegt ;)
[Karate:Gabi] <23:51:31>
[Karate:Vanir] naja, das buggt ja anscheinend schon laenger <23:51:35>
[Karate:Pichu] um so schlimmer das sich keiner drum kuemmert , oder?
[Karate:Pichu] <23:52:01>
[Karate:Vanir] naja als chaot koennt ich natuerlich sagen: was kuemmerts mich
[Karate:Vanir] <23:52:27>
[Karate:Pumuckl] naja- ich bin ja nun erst nach 3 Jahren Pause wieder da -
[Karate:Pumuckl] aber der letzte Zeitungsartikel ist von Mitte letzten Jahres
[Karate:Pumuckl] ... <23:52:39>
[Karate:Vanir] was lernen wir daraus ss <23:53:09>
[Karate:Pichu] zu den chaoten gehen? <23:53:25>
[Karate:Gabi] Eher Tanjian <23:53:35>
[Karate:Pumuckl] will jetzt ja auch nicht nach nem Schuldigen suchen oder nen
[Karate:Pumuckl] Suendenbock haben - aber ich faends ja toll wenn sich jemand
[Karate:Pumuckl] finden wuerde der den Bug rausmacht <23:53:41>
[Karate:Vanir] naja schoener als karate ists hier allemal <23:53:43>
[Karate:Pumuckl] zu den Chaoten - niemals <23:53:59>
[Karate:Pichu] nein danke, chaoten sind das letzte <23:53:59>
[Karate:Croft] noe. hand-feuer-schnell-karateka werden :-) <23:54:05>
[Karate:Pumuckl chaotisiert lieber die Karate-Gilde <23:54:17>]
[Karate:Pichu] grins <23:54:29>


-----------------------------------------------------------------------------



Bug bei der Erstkillpunkteberechnung (Zook, 26. Apr 2001, 22:47:46):
Hallo, der bisher aufgetretene Bug, dass Funakoshi bei der Berechnung
der Erstkillstupse ein wenig durcheinander kam, sollte nun behoben 
sein. 

Gruss, Zook.

-----------------------------------------------------------------------------



Killstupse (Rochus,  6. Nov 2001, 20:42:35):
Da die Killpunkte andere Folgen hatten als beabsichtigt,
habe ich die Anforderungen hierfuer drastisch gesenkt,
wenn auch noch eine Stufe ueber den endgueltigen Stand - fuer
den werden aber noch mehr Gildenquests benoetigt, suche Freiwillige
Magier die welche schreiben, weil ich nicht mehr so viel
Zeit im Mud verbringen will.
Vorher:  25 50 75 100 | 250 500 750 1000 1500 2000 2500 3000
Aktuell:       10  25 |  50 100 250  500  750 1000 1500 2000
Spaeter:           10 |  25  50 100  250  500  750 1000 1500
(erst wenn mindestens 10 gildenquests da sind)

-----------------------------------------------------------------------------



Re: Killstupse (Silvana,  7. Nov 2001, 08:10:30):
~#! rn=Rochus rt=1005075755 rg=gilden.karate
~#! tid=1005075755
Verraetst Du auch Nicht-Karatekas, was diese Zahlen bedeuten?

  Silvana

-----------------------------------------------------------------------------



Re: Re: Killstupse (Deepblue,  7. Nov 2001, 09:03:55):
~#! rn=Silvana rt=1005117030 rg=gilden.karate
~#! tid=1005075755
Die Killstupsanforderungen fuer die einzelnen Gildenlevel. vor den | sind die
Schuelergrade (Kyus), danach die Meistergrade (Dans)
Die Grade, fuer die schon bisher keine Stupsanforderungen galten (also die
niedrigsten Schuelergrade bis zum 5. Kyu) fehlen halt.

-----------------------------------------------------------------------------



Re: Killstupse (Deepblue,  7. Nov 2001, 09:08:10):
~#! rn=Rochus rt=1005075755 rg=gilden.karate
~#! tid=1005075755
Wie waere es, Gildenquestpunkte und Killstupse zu "Gildenpunkten"
zusammenzufassen und eine gewisse Zahl Gildenpunkte zu fordern? Da kann man
halt etwas mehr variieren. Das fuer bestimmte Level bestimmte Aufgaben einfach
Obligatorisch sind (Weghier fuer 8.Dan) kann ja trotzdem so bleiben

-----------------------------------------------------------------------------



Renovierung der Gilde (Schleicher, 25. Jan 2002, 21:05:48):
Moinsen,
ich bin grade dabei einwenig die Karategilde zu renovieren, d.h. sie wird mal
Details bekommen und Funa wird reden lernen. Fuer die Skills ist weiterhin
Rochus zustaendig und nein, es wird auch durch mich kein teile Funakoshi mit
Heimweh oder andere Zaubersprueche fuer die Gilde geben. Aber trotzdem moechte
ich hiermit alle Karatekas bitten mir doch Ideen, Anregungen und Vorschlaege
zu mailen auch fuer Bugs und Fehler habe ich ein offenes Ohr und werde
versuchen sie zu beheben. 
In diesem Sinne auf gute Zusammenarbeit.
Schleicher

-----------------------------------------------------------------------------



Funakoshi (Schleicher, 27. Jan 2002, 16:41:46):
Hiho,
hiermit lade ich mal alle Karatekas, und meintewegen auch die anderen, ein mal
ne Runde mit Funakoshi zu plaudern. Ueber Feedback, typos und ideen wuerde ich
mich freuen flames sind wie immer auf ignore bei mir. Also, viel Spass beim
ausfragen.

Schleicher

-----------------------------------------------------------------------------



Re: NPC-Balance (Deepblue,  2. Apr 2002, 10:06:11):
~#! rn=Amaryllis rt=1017678456 rg=balance.bekanntmachungen
~#! tid=1017678456
Heisst dass, dass man jetzt garnicht mehr die Chance bekommt auf seine Stupse
zu kommen? Oder werden die Anforderungen im selben verhaeltnis gesenkt?

Deep*, einen tag zu spaet

-----------------------------------------------------------------------------



Re: Re: NPC-Balance (Grumpf,  2. Apr 2002, 10:07:48):
~#! rn=Deepblue rt=1017734771 rg=gilden.karate
~#! tid=1017678456
Nein, die Anforderungen werden nicht gesenkt, verbot der Gildenbalance. So
sorry...
Grumpf i.A.

-----------------------------------------------------------------------------



Re: Diebstaehle (Deepblue,  3. Mai 2002, 18:20:45):
~#! rn=Schleicher rt=1020414957 rg=allgemeines
~#! tid=1020414957
Abgesehen davon, das beklauen von Spielern ziemlich assozial ist:

Muss es eigentlich sein, dass es in der Gilde staendig so aussieht wie in der
gepaeckaufbewahrung aufm Bahnhof? Ich weiss, dass man das Zeugs zum ueben
besser ablegt. Aber wenn man fertig hat oder sich ausloggt kann man seinen
Kram auch wieder mitnehmen

-----------------------------------------------------------------------------



Re: Re: Diebstaehle (Karis,  3. Mai 2002, 23:31:19):
~#! rn=Deepblue rt=1020442845 rg=gilden.karate
~#! tid=1020414957
Du kannst ja mal aufraeumen.

Karis

-----------------------------------------------------------------------------



Pfff (Cicero,  5. Mai 2002, 19:05:03):
Nun ja, nach dem Crash ist das Problem zumindest fuer einige Stunden (evtl
sogar n paar Tage) aus der Welt geschafft und die Gilde is wieder ordentlich

Cicero aka ShadoW

-----------------------------------------------------------------------------



Re: Pfff (Schleicher,  5. Mai 2002, 19:06:09):
~#! rn=Cicero rt=1020618303 rg=gilden.karate
~#! tid=1020618303
Zu spaet.
Schleicher

-----------------------------------------------------------------------------



Re: Re: Pfff (Cicero,  5. Mai 2002, 19:07:03):
~#! rn=Schleicher rt=1020618369 rg=gilden.karate
~#! tid=1020618303
Ach muesst ihr immer so schnell Unordnung machen??? *g*

-----------------------------------------------------------------------------



Re^3: Pfff (Willow,  5. Mai 2002, 19:07:37):
~#! rn=Cicero rt=1020618423 rg=gilden.karate
~#! tid=1020618303
soll ich mal aufraeumen??? ;)

-----------------------------------------------------------------------------



Re^4: Pfff (Key,  6. Mai 2002, 01:25:39):
~#! rn=Willow rt=1020618457 rg=gilden.karate
~#! tid=1020618303
Es wuerd reichen Etwas ein bisserl umzulenken *g*

Das war noch spassig als man von Etwas im aus besucht wurde *gg*


-----------------------------------------------------------------------------



Funakoshi (Zook, 10. Mai 2002, 11:41:02):
Da ich nicht genau weiss, welche Kreise bestimmte Geruechte gezogen haben,
eine kleine Klarstellung:

Ich habe an Funakoshi nichts geaendert. [1] Ich habe auch nicht vor, an 
ihm irgendwelche Aenderungen vorzunehmen. 

Wem das nichts sagt, kann den Artikel gleich geistig ad acta legen.

Gruss, Zook.

 [1] Vor allem, ich wusste gar nicht, dass Funakoshi nicht mehr 
     angreifbar/killbar ist bis ich am Mittwoch mal in den Code 
     geschaut habe.

-----------------------------------------------------------------------------



Re: Funakoshi (Cicero, 10. Mai 2002, 11:42:50):
~#! rn=Zook rt=1021023662 rg=gilden.karate
~#! tid=1021023662
Hoffentlich beenden die bald ihr Belagerung Funas...

-----------------------------------------------------------------------------



Re: Re: Funakoshi (Sky, 10. Mai 2002, 11:47:07):
~#! rn=Cicero rt=1021023770 rg=gilden.karate
~#! tid=1021023662
ich dachte funa wird nur von "ich hab wieder mps, also <uebe xy>"-scripten
belagert...

-----------------------------------------------------------------------------



Re: Funakoshi (Gor, 11. Mai 2002, 11:36:26):
~#! rn=Zook rt=1021023662 rg=gilden.karate
~#! tid=1021023662
Das mit dem Angreifen wurde wohl vor ca. 1-2 Jahren geaendert, weil paar
Zaub^H^H^HKaratekas rumgejammert haben, da sie nicht mit den boesen Kaempfern
fertiggeworden sind, die Funa immer gekillt haben.
Nochmal ne Runde Mitleid fuer die Amren Bussy-Karatekas.

-----------------------------------------------------------------------------



Re: Re: Funakoshi (Croft, 11. Mai 2002, 11:45:12):
~#! rn=Gor rt=1021109786 rg=gilden.karate
~#! tid=1021023662
Falls mich nicht alles taeuscht wurde das erst Anfang diesen Jahres
geaendert...

-----------------------------------------------------------------------------



Re^3: Funakoshi (Cuchullin, 11. Mai 2002, 12:11:42):
~#! rn=Croft rt=1021110312 rg=gilden.karate
~#! tid=1021023662
Ist ja auch gemein, einfach Funakoshi weghauen. Da produzieren die
Scripts doch alle Fehlermeldungen...

Cuch bedauert

-----------------------------------------------------------------------------



Re^3: Funakoshi (Mupfel, 11. Mai 2002, 14:53:58):
~#! rn=Croft rt=1021110312 rg=gilden.karate
~#! tid=1021023662
Richtig. Schleicher hat das aendern lassen (und dabei noch ein paar Infos
beigesteuert, Funakoshi ist jetzt nicht mehr so einsilbig wie frueher, der
kennt jetzt sogar Pichu ;)

-mupfel-

-----------------------------------------------------------------------------



Re^4: Funakoshi (Cuchullin, 11. Mai 2002, 15:27:56):
~#! rn=Mupfel rt=1021121638 rg=gilden.karate
~#! tid=1021023662
Schleichers Reaktion auf meine Ausfragerei (die alten Luecken gibt es
noch, viel kann er nicht gemacht haben) zeigt deutlich, dass er es mir
noch immer krumm nimmt, dass ich ihn fuer einen erbaermlichen Idioten
halte... :) 

Cuch :)

-----------------------------------------------------------------------------



Re^5: Funakoshi (Amaryllis, 11. Mai 2002, 17:50:05):
~#! rn=Cuchullin rt=1021123676 rg=gilden.karate
~#! tid=1021023662
frag funakoshi nach cuchullin
Funakoshi schaut Dich fragend an.

Meintest Du vielleicht diese Reaktion? :)

Ama*

-----------------------------------------------------------------------------



Re^6: Funakoshi (Mupfel, 11. Mai 2002, 18:46:39):
~#! rn=Amaryllis rt=1021132205 rg=gilden.karate
~#! tid=1021023662
Nein, eher so:

frage funakoshi nach cuchullin
Funakoshi zwinkert Dir zu.

-mupfel- (grinst)

-----------------------------------------------------------------------------



Manchmal.... (Humni, 21. Okt 2004, 10:53:02):
muss man sich an seinen Aufgaben ein wenig uebernehmen...;-)

Also, ich habe beschlossen (und mit Rochus abgesprochen), dass ich mich mal
ein wenig um die Karatekas kuemmern werde. Neuentwickeln werde ich wohl
weniger, weil ich die Zeit nicht habe, aber wenn was kokretes an Ideen ist,
das nicht viel Umsetzungsarbeit kostet, koennt ihr mir das Mailen. Auch die
Anforderungen und die Lernrate im Kampf werde ich mir genauer angucken und
ggf. ein wenig modifizieren.

Humni

-----------------------------------------------------------------------------



Level 17 und 18(?) (Humni, 12. Aug 2005, 14:42:16):
Huhu,

ich habe in letzter Zeit mehrere Klagen ueber die Karatekas zu hoeren
bekommen. Und ich kann das auch nachvollziehen.

Es gibt viele alte Karatekas, die den derzeit hoechsten Level (17) relativ
simpel bekommen haben, ein wenig ueben und das wars. Neue Karatekas haben sehr
hohe Anforderungen (EKstupse), die meiner Meinung nach auch nur ueber
"Betteleien" bekommen werden koennen. Andererseits hat Rochus die Auflage
gegeben, dass nicht jeder Spieler einen Max-Karateka-Zweitie zur Hand haben
sollte. Das ist ein Dilemma.

Also, was tun? Irgendwie muss man dem Ganzen ja Herr werden koennen. Ich habe
einige gute Ideen bekommen. Diese beinhalten eine Umwertung (das beinhaltet
eine Abwertung, aber auch eine Aufwertung ;-) ) von Level 17 und einen
zusaetzlichen Level 18.

Ich wuerde gerne Kriterien sammeln, die dazu dienen koennten, den hoechsten
Level zu erreichen. Nach Moeglichkeit Dinge, die man nicht mal eben so per
Skript erreicht.

Jedenfalls stoert mich gewaltig, dass ernstzunehmende Karateka wie Miraka den
hoechsten Level nicht kriegen und andere ihre Zweities rumliegen haben. Daran
wuerde ich gerne drehen. Ja, die EK-Stupszahl sollte runtergehen, keine Frage
- aber dafuer haette ich gerne andere Anforderungen. Ideen hierher oder per
Mail an mich.

Humni

-----------------------------------------------------------------------------



Re: Level 17 und 18(?) (Bambi, 12. Aug 2005, 18:27:33):
~#! rn=Humni rt=1123850536 rg=gilden.karate
~#! tid=1123850536
Ob ich gesteinigt werde, wenn ich FDO als Gildenquest vorschlage?

-----------------------------------------------------------------------------



Re: Re: Level 17 und 18(?) (Krimariol, 12. Aug 2005, 18:37:07):
~#! rn=Bambi rt=1123864053 rg=gilden.karate
~#! tid=1123850536
Wie waers mit einer Mindestanzahl an Runen auf dem Runenstab ... ?
MfG
Krimariol

-----------------------------------------------------------------------------



Re^3: Level 17 und 18(?) (Croft, 12. Aug 2005, 18:42:52):
~#! rn=Krimariol rt=1123864627 rg=gilden.karate
~#! tid=1123850536
Scheint mir eher eine Kombination aus Level und EK-Stupsen interessanter
zu sein.  Letztere sind zwar schon in ersterem enthalten, aber sollten
hoeher gewichtet sein.

Croft

-----------------------------------------------------------------------------



Re^4: Level 17 und 18(?) (Darklor, 12. Aug 2005, 23:36:11):
~#! rn=Croft rt=1123864972 rg=gilden.karate
~#! tid=1123850536
Eine (neue) Karateka Gildenquest?

Darklor

-----------------------------------------------------------------------------



Re^5: Level 17 und 18(?) (Croft, 12. Aug 2005, 23:50:51):
~#! rn=Darklor rt=1123882571 rg=gilden.karate
~#! tid=1123850536
Schreib mal das Konzept.

Croft

-----------------------------------------------------------------------------



Re^6: Level 17 und 18(?) (Chagall, 12. Aug 2005, 23:53:49):
~#! rn=Croft rt=1123883451 rg=gilden.karate
~#! tid=1123850536
Geht fix:

Karateka muss Monster X umhauen, wobei Monster X von Arathorns
Schamanen ausgewaehlt wird. 

MC

-----------------------------------------------------------------------------



Re^6: Level 17 und 18(?) (Gloinson, 12. Aug 2005, 23:53:59):
~#! rn=Croft rt=1123883451 rg=gilden.karate
~#! tid=1123850536
Katas.

Der Vorschlag ist wenig aelter als die KaraGilde: Die Spieler muessen Katas
laufen. Dabei wird einfach auf die Skills zurueckgegriffen. Wird die Kata gut
gelaufen, gibt es Stilkekse ...


-----------------------------------------------------------------------------



Re^7: Level 17 und 18(?) (Ark, 13. Aug 2005, 00:00:11):
~#! rn=Gloinson rt=1123883639 rg=gilden.karate
~#! tid=1123850536
Solange sich eine neue Gilden"quest" auf das Umhauen von Monstern beschraenkt,
braucht man sie nicht, dann kann das Kriterium weiter Killstupse bleiben. Dann
kann man getrost weiter Betteln gehen, um Elementardrachen, Drachengott,
Vesray und andere Kills zu bekommen. Nix dagegen, aber den Aufwand kann man
sich wirklich schenken, das aendert nicht viel.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^8: Level 17 und 18(?) (Darklor, 13. Aug 2005, 00:02:27):
~#! rn=Ark rt=1123884011 rg=gilden.karate
~#! tid=1123850536
Finde die richtige Katakombination um den/einen Karatemeister zu besiegen...

Darklor

-----------------------------------------------------------------------------



Re^8: Level 17 und 18(?) (Brotnael, 13. Aug 2005, 00:02:59):
~#! rn=Ark rt=1123884011 rg=gilden.karate
~#! tid=1123850536
Vielleicht sollte dem Gildenlevel 18 nur Ersties zur Verfuegung stehen. Und
die Idee mit den Forscherpunkten find ich auch klasse :o) quests haben in der
regel den nachteil der kl's oder der mithilfe anderer zum schnell mitmetzeln.

Brot, nie Karateka gewesen ;)

-----------------------------------------------------------------------------



Re^9: Level 17 und 18(?) (Darklor, 13. Aug 2005, 00:04:23):
~#! rn=Brotnael rt=1123884179 rg=gilden.karate
~#! tid=1123850536
Nur fuer Ersties wuerde Miraka aber nich weiterhelfen...

Darklor

-----------------------------------------------------------------------------



Re^9: Level 17 und 18(?) (Gloinson, 13. Aug 2005, 00:04:33):
~#! rn=Darklor rt=1123884147 rg=gilden.karate
~#! tid=1123850536
Katas sind nicht fuer den Kampf. (Die Idee ist natuerlich nur wenig juenger.)
Der Gedanke war, neben dem Metzeln noch ein wenig mehr vom Geist von Karate in
die Gilde zu packen. Letztlich erfordert so eine Idee aber einen aktiven GM
... ansonsten tut es tatsaechlich einfach eine Kriterienumbewertung ...


-----------------------------------------------------------------------------



Re^10: Level 17 und 18(?) (Brotnael, 13. Aug 2005, 00:05:01):
~#! rn=Darklor rt=1123884263 rg=gilden.karate
~#! tid=1123850536
Sagte ich was davon das ich Miraka helfen will? ;o))

-----------------------------------------------------------------------------



Re^11: Level 17 und 18(?) (Brotnael, 13. Aug 2005, 00:08:51):
~#! rn=Brotnael rt=1123884301 rg=gilden.karate
~#! tid=1123850536
Um die beschraenkung zu lockern koennte man auch das Gildenlvl 18 fuer nur
eine bestimmet Anzahl von Karatekan zur Verfuegung stellen, wo spielerlevel,
faehigkeiten und erstiesein zu buche schlaegt, aehnlich wie die oberen Posten
der Kleriker. Da faellt das "gildenrating" mit der zeit, so dass auch andere
eine chance auf den platz haben. und diejenigen die lange nicht da sind,
koennen besonders schnell verdraengt werden.

-----------------------------------------------------------------------------



Re^12: Level 17 und 18(?) (Gloinson, 13. Aug 2005, 00:11:45):
~#! rn=Brotnael rt=1123884531 rg=gilden.karate
~#! tid=1123850536
Und den nennt man dann "Hohen Sensei"? Nee, ich find die Beschraenkung der
Plaetze der hohen Gildenlevel bei den Karateka zur Gilde nicht passend.


-----------------------------------------------------------------------------



Re^13: Level 17 und 18(?) (Brotnael, 13. Aug 2005, 00:13:47):
~#! rn=Gloinson rt=1123884705 rg=gilden.karate
~#! tid=1123850536
Also ich find das sogar sehr passend. wenn der "hohe sensei" lange nicht aktiv
war und damit lang nichts "neues" gelernt hat, ist die nachfolgene generation
ihm ein schritt vorraus und hat ja mehr "recht" auf den titel hoher sensei.
und es muss ja nicht nur einen geben sondern eine art hoher senseirat ;)

-----------------------------------------------------------------------------



Re^14: Level 17 und 18(?) (Gloinson, 13. Aug 2005, 00:18:50):
~#! rn=Brotnael rt=1123884827 rg=gilden.karate
~#! tid=1123850536
Ich find es deshalb nicht passend, weil es da Funakoshi als Chef gibt und alle
anderen Raenge, Spielerlevel verdient wurden und keine Position
repraesentieren, wie bei den Kleris. Den Guertel wieder abzuerkennen passt
halt nicht.


-----------------------------------------------------------------------------



Re^15: Level 17 und 18(?) (Muadib, 13. Aug 2005, 00:30:31):
~#! rn=Gloinson rt=1123885130 rg=gilden.karate
~#! tid=1123850536
wer hat gesagt, dass stufe 18 ein dan sein muss?

-----------------------------------------------------------------------------



Re^16: Level 17 und 18(?) (Gloinson, 13. Aug 2005, 00:32:51):
~#! rn=Muadib rt=1123885831 rg=gilden.karate
~#! tid=1123850536
Also noch ein Ezmeisterkampf des Ch^WKarate, damit man etwas limitieren kann
um ... welche Vorteile gibt das dann fuer den Innehaber? Sorry, ich kann mir
Poestchen mit Verguenstigungen bei Karateka nicht vorstellen, ich passe und
lese gespannt mit ...


-----------------------------------------------------------------------------



Re^17: Level 17 und 18(?) (Muadib, 13. Aug 2005, 00:39:55):
~#! rn=Gloinson rt=1123885971 rg=gilden.karate
~#! tid=1123850536
wieso erzmeisterkampf?

-----------------------------------------------------------------------------



Re^18: Level 17 und 18(?) (Bambi, 13. Aug 2005, 00:40:57):
~#! rn=Muadib rt=1123886395 rg=gilden.karate
~#! tid=1123850536
Hat's denn ueberhaupt einen GM fuer Karate oder blieben Umsetzungen an Humni
haengen. Und nein: ich werde mich eher loeschen als Karate-GM zu werden.

-----------------------------------------------------------------------------



Re^9: Level 17 und 18(?) (Ogo, 13. Aug 2005, 04:36:18):
~#! rn=Brotnael rt=1123884179 rg=gilden.karate
~#! tid=1123850536
Es gab meines Wissens mal eine Aussage bei der Einfuehrung der
Zweitspielermarkierungen, dass man die Zweitspieler markieren moege, ein
Zweitspieler aber durch die Markierung keinerlei Nachteile erfaehrt. Ich finde
diesen Punkt ausgesprochen wichtig, weil alles andere unmarkierte Zweities
foerdert! Ich habe gehoert, dass Zweities bei der Klerikergilde einen Malus in
Sachen Erleuchtetnrating erfahren und finde es bedauerlich, dass der Grundsatz
hier ueber Bord geworfen wurde. (Sollte dem nicht so sein, bitte ich es hier
richtig zu stellen und ich entschuldige mich!)
Trade-in ist: Das MG gesteht mir, ich darf Zweitspieler haben; Ich kann keine
zwei eigenen Spieler in ein Team stecken, aber ich muss sie markieren.
Dass einzelne Gildenmagier an diesem Deal herumschrauben, sollte keine
erwollte Politik sein!

Ogo, sich wiederholend

P.S. Mir ist klar, dass es nur ein Deal in Anfuehrungsstrichen ist, weil ich
mich an die Regeln zu halten habe. Ich bin dennoch zuversichtlich, dass DU
verstehst, wie es gemeint ist.

-----------------------------------------------------------------------------



Re^10: Level 17 und 18(?) (Vector, 13. Aug 2005, 11:31:01):
~#! rn=Ogo rt=1123900578 rg=gilden.karate
~#! tid=1123850536
danke ogo, quasi dasselbe wollte ich auf artikel 11 antorten,
du sparst mir die arbeit :)
bedingung der zweitspieler war immer das sie NIE NIE NIE NIE
einen nachteil gegenueber erstspieler haben duerfen, da
das zu unmarkierten zweitis fuehrt. warum das so in der kleri-
gilde gehandhabt wird (und gehandhabt werden darf) versteh 
ich bis heute nicht.

-----------------------------------------------------------------------------



Re^11: Level 17 und 18(?) (Bambi, 13. Aug 2005, 11:37:03):
~#! rn=Vector rt=1123925461 rg=gilden.karate
~#! tid=1123850536
Koennte btw. nochmal jemand umschreiben, welche Art von Anforderungen bestehen
sollen? Waere FDO z.B. zu metzellastig (also zu nahe am alten System) oder
koennte das eine brauchbare GQ sein?

-----------------------------------------------------------------------------



Re^11: Level 17 und 18(?) (Croft, 13. Aug 2005, 11:37:04):
~#! rn=Vector rt=1123925461 rg=gilden.karate
~#! tid=1123850536
Vermutlich wurde das eingefuehrt als die vielen Heilsklaven den armen
Ersties die Erleuchtetenraenge nur noch schwer zugaenglich gemacht haben.

Croft

-----------------------------------------------------------------------------



Re^12: Level 17 und 18(?) (Zook, 13. Aug 2005, 11:41:02):
~#! rn=Croft rt=1123925824 rg=gilden.karate
~#! tid=1123850536
> zuecke heiltrank
Zook.

-----------------------------------------------------------------------------



Re^9: Level 17 und 18(?) (Taranis, 13. Aug 2005, 14:48:16):
~#! rn=Brotnael rt=1123884179 rg=gilden.karate
~#! tid=1123850536
Also, eine Beschraenkung von Level 18 auf Ersties finde ich nicht so sinnvoll.
Denn ob jemand den hoechsten Level "verdient" oder nicht, haengt ja nicht
davon ab, ob er als Karateka angefangen hat oder nicht, sondern davon, ob er
den Karateka aktiv spielt. Wenn jemand einen Char richtig spielt und nicht nur
gelegentlich und nebenbei, sollte ihm auch der hoechste Level der Gilde zur
Verfuegung stehen, finde ich.

Taranis

-----------------------------------------------------------------------------



Re^12: Level 17 und 18(?) (Ogo, 13. Aug 2005, 17:02:18):
~#! rn=Croft rt=1123925824 rg=gilden.karate
~#! tid=1123850536
Oh, da muessen wir gleich losgehen, und die Magisterratings anders gewichten,
sonst machen die ganzen Schutzzonen-Abwehrmagister-Zweities den Ersties das
erlangen eben dieser schwer zugaenglich.

Wer Sarkasmus findet, darf ihn behalten :-)
Ogo

-----------------------------------------------------------------------------



Re^13: Level 17 und 18(?) (Humni, 13. Aug 2005, 19:56:25):
~#! rn=Ogo rt=1123945338 rg=gilden.karate
~#! tid=1123850536
1. Ich habe nicht vor, die Gildenraenge auf Ersties zu beschraenken. Das halte
ich (auch aus genannten Gruenden) nicht fuer tauglich.
2. Ich bin kein Freund des Klerik-Zweitie-Systems. Ich erkenne die Gruende an,
die es leider gibt (und vielleicht sollten einfach mal diejenigen mit den
Schutzhand-Zweities erkennen, dass genau SIE der Grund dafuer sind). Des
weiteren blockiert das System (wirklich als solche gespielte) Magierzweities.
Gehoert aber in eine andere Rubrik.
3. Ich WILL, dass ein Karateka-Level-Max-Spieler wirklich GESPIELT wird, als
Karateka, nicht als reiner "ich geh mit-Schlagfaenger". Das ist praktisch
nicht komplett zu loesen (auch Ersties nicht - wer nicht Magier ist nimmt dann
den Karateka als Erstie - was hilft das denn, wenn der eigentliche Erstie
Kaempfer ist? Das ist doch eher ein doofes Flag, und ich hindere damit Magier
am erfolgreichen Spielen, und ich finde wichtig, dass Magier spielen, da sie
sonst keinen Einblick mehr haben, darum zwing ich mich auch ab und an dazu,
eine Runde mit den Zweities einzulegen und schrei auch laut auf, wenn mich was
nervt - sogar dann, wenn es theoretisch in meiner Macht liegen wuerde, es zu
aendern, ich aber nicht alle Baustellen gleichzeitig beackern kann).
4. Ich finde toll (persoenliche Meinung): Das Kaempfer-Azubisystem und den
Kaempferbericht. Den Kaempferbericht kann man eben nicht skripten und er muss
einem einfach mal was wert sein. Die anderen Spieler koennen drueber
abstimmen, ob das ganze taugt. Kein Allheilmittel, aber gut.

Vielleicht hilft das, vielleicht giesst das Oel ins Feuer. Mal meine Meinung
dazu.

Humni

-----------------------------------------------------------------------------



Re^12: Level 17 und 18(?) (Deepblue, 14. Aug 2005, 20:05:00):
~#! rn=Croft rt=1123925824 rg=gilden.karate
~#! tid=1123850536
Vielleicht liegt das bei den Kleris auch daran, dass man die mit recht wenig
Aufwand bis in den entsprechenden Bereich scripten kann, waehrend in anderen
Gilden (Zaubis etc.) die Raenge schon durch den dafuer notwendigen Aufwand
limitiert werden.
Deep*, Zweitie

-----------------------------------------------------------------------------



Re^15: Level 17 und 18(?) (Householder, 16. Aug 2005, 09:46:04):
~#! rn=Gloinson rt=1123885130 rg=gilden.karate
~#! tid=1123850536
es gibt bei kampfkuensten keine herabstufungen des ranges wegen nachlassen der
faehigkeiten, erst recht nicht weil andere die besser sind nachruecken, hat
man einmal den x-ten dan erreicht behaelt man ihn selbst wenn man z.b.
unfallbedingt querschnittsgelaehmt und geistig behindert wird.

-----------------------------------------------------------------------------



Re^16: Level 17 und 18(?) (Karis, 16. Aug 2005, 14:15:10):
~#! rn=Householder rt=1124178364 rg=gilden.karate
~#! tid=1123850536
Ein Level zeigt an, was man so erreicht hat.
Man muss dazu geforscht haben, Quests gemacht haben,
gemetzelt haben. Alles das sind sicher Dinge, die
zu einem neuen Level auch dazugehoeren sollten.

Dann kann man ein bisschen bei anderen Gilden abgucken:
Das Ausbildungssystem der Kaempfer ist einfach eine der besten Ideen hier.
Sie foerdert das Miteinander und macht letztlich einfach Spass.
Ausserdem lernt man wirklich mal neue Gebiete kennen
wenn man tatsaechlich neu anfaengt :)

Auch der Bericht ist etwas, was Sinn mcht. Man sammelt KnowHow und
stellt es oeffentlich zur Diskussion und auch zur Verfuegung.

Wer Anhaenger von einer begrenzten Anzahl von Max-Level-Plaetzen ist,
kann auch die Bewerber gegeneinander antreten lassen. Muss j nicht 
immer alles bis zum Tode fuehren, Funakoshi kann den Kampf ja
durchaus mal vorher abbrechen. Auch hier waere das 'gewusst wie'
wichtig.

Ansonsten halte ich Katas laufen fuer eine prima Idee - aber nicht ganz
einfach mit der Umsetzung. Und der Bewertung. Aber es waere schon schoen, zum
Beispiel
anstelle des Berichts, enn man die Kampfkunst etwas weiter bringt und eine
neue Kata erfinden muesste. Dazu muss man sich mit der Sache an sich
doch erheblich auseinander setzen.

Just 2c,
Karis

-----------------------------------------------------------------------------



Re^17: Level 17 und 18(?) (Karis, 16. Aug 2005, 14:21:46):
~#! rn=Karis rt=1124194510 rg=gilden.karate
~#! tid=1123850536
Achja, was mir gerade noch so einfaellt:
Eine Belohnung  muesste es ja auch noch geben fuer den
naechsten Level.
Vielleicht ist es ja moeglich, die neue Kata, die man dafuer erfunden hat, 
sozusagen als persoenliche Kampftechnik mit einzubringen,
die man dann fuer ein paar KPs als einziger anwenden kann.

Kleiner Nachtrag,
Karis

-----------------------------------------------------------------------------



Re^17: Level 17 und 18(?) (Nicolai, 16. Aug 2005, 15:11:22):
~#! rn=Karis rt=1124194510 rg=gilden.karate
~#! tid=1123850536


>Das Ausbildungssystem der Kaempfer ist einfach eine der besten Ideen hier.

oh oh, grosse worte. zunaechst mal geb ich dir recht, es war schoen
gedacht, wurde auch stimmungsvoll umgesetzt, so weit so gut. nun
kommt das grosse "aber": der pferdefuss.

das system baut darauf das es fortwaehrend genuegend nachwuchs nicht nur 
an muddern gibt sondern auch an trves, und ob das heute noch so gegeben
ist wage ich einfach mal in frage zu stellen. es gibt mittlerweile viele
weitere gilden, die es in bezug auf spass, stimmung und staerke mit den
trves aufnehmen koennen, sprich: der sowieso nicht mehr ganz so reichlich
vorhandene nachwuchs teilt sich nicht mehr nur auf trves/zaubi auf, man 
muss spieler an weitere gilden abgeben. (was erstmal gut ist).

das grosse problem zeigt sich jetzt: es fehlt unten an azubis und oben
an ausbildern. frag doch mal nen trves (so du einen nicht-idler findest)
was ihm noch zum aufstieg fehlt.
bis gra'takal wird haenderingend nach einem azubi gesucht, und ist mal
einer gefunden, muss erstmal der ausbilder dem azubi ein paar zts zu-
schieben damit die ausbildung nicht bei lars endet. oder natuerlich es
wird der eigene zweitie oder ein befreundeter x-tie ausgebildet. ob
das so gedacht war?

ab takal'mor kommt noch die suche nach einem ausbilder hinzu. welche
generaele sind derzeit aktiv? welche sind ueberhaupt noch im mud? und
welche davon sind dann bereit auszubilden? zwei vielleicht drei? wieder
als tip: hingehen und die trves von level 19 bis 22 fragen wie lange sie
schon auf diesem level sind und wie lange sie nen ausbilder suchen.

gildenrestriktionen ok. befoerderungssperren ok. aber das es von anderen
spielern abhaengig ist was aus dem eigenen charakter wird ist zumindest 
mit einem augenbrauen-hochziehen zu bedenken. von daher ist der term
"eine der besten ideen hier" mehr als unangebracht. zu den besten ideen
gehoeren doch eher sowas wie teamkampf, abwertung der tanjian (hehe) oder
waffenskills fuer abenteurer.

--Vector--


-----------------------------------------------------------------------------



Re^18: Level 17 und 18(?) (Karis, 16. Aug 2005, 18:23:28):
~#! rn=Nicolai rt=1124197882 rg=gilden.karate
~#! tid=1123850536
Du missverstehst mich. 
CIh sprach von der Idee und damit dem, was dahintersteckt. Dem 
sogenannten oder auch Potential.
Das es Probleme gibt, ist mir klar. War ja selbst lange genug dabei.
Und kener sagt, dass man das genauso nochmal umsetzen muss.

Die Idee an sich finde ich trotzdem hervorragend.

Aberwertung der Tanjian halte ich uebrigens fuer keine Idee. Das war wohl eher
eine Notwendigkeit.

Ich bleibe deshalb (nein, nicht wegen der Tanjian) bei meinem Terminus.

Ich finde ihn auch nicht unangebracht. Moeglicherweise eine Frage der
Sichtweise? ;)

Ciao,
Karis

-----------------------------------------------------------------------------



Re^17: Level 17 und 18(?) (Ogo, 17. Aug 2005, 17:21:47):
~#! rn=Karis rt=1124194510 rg=gilden.karate
~#! tid=1123850536
Das Ausbildungssystem ist aber auch das einzige, was verhindert, dass man
einen Kaempfer mit Minimalaufwand per Skript auf Glvl22 bringt. Ich habe keine
andere Gilde gesehen, die so stumpf (im Sinne von leicht realisierbar) zu
scripten ging. (Um das mal vorwegzunehmen, ja ich habe absolut keine Ahnung
von Kaempfern und trotzdem einen General -> selbst schuld, pfui, spuck,
boese!)

Es soll auch Leute geben, die Freunde um Ausbildungszweities fragen, die dann
(damals per Autofolge) hinter einem herrennen.

Ich mag weder das Trvesuebesystem noch das Ausbildungssystem.

Ogo

-----------------------------------------------------------------------------



Re^18: Level 17 und 18(?) (Humni, 17. Aug 2005, 17:23:53):
~#! rn=Ogo rt=1124292107 rg=gilden.karate
~#! tid=1123850536
Ich finde beides hervorragend. Weil man eben nicht stumpf ueben muss sondern
wenn man den Kaempfer richtig spielt - ja, Ogo, diese Spieler gibt es! - die
Skills nebenher lernt. Und eben nicht 100 Uebemonster suchen muss - oder
Geheimtips braucht, um "den Spell zu maxen".

Das ist allerdings meine persoenliche Meinung, nicht die als Gildenbalance.

Humni

-----------------------------------------------------------------------------



Re^19: Level 17 und 18(?) (Nicolai, 17. Aug 2005, 17:53:46):
~#! rn=Humni rt=1124292233 rg=gilden.karate
~#! tid=1123850536
das problem beim ausbildungssystem ist nach wie vor das es im
prinzip mit eines der aeltesten schneeballsysteme ist. soll 
heissen: damit ein trves-ausbilder eine level aufsteigt braucht
er viele azubis die dann zusammen 5 bis 10 mal aufsteigen
(je nach gildenlevel-unterschied) und diese neuen azubis werden
denn selbst zu ausbildern die wieder um die 5 azubis brauchen 
um ihre ausbildungsschuld zu tilgen.
man koennte sich doch ueberlegen ob man nicht von einem
ranghoeheren ausgebildet werden muss sondern ob es reichen
koennte, das die gildenlevel hoeher ist, sprich ein kaempfer
mit gildenlevel 22 soll nen kaempfer mit gildenlevel 20 
ausbilden koennen. die ausbildung der 22er muss natuerlich
ein general uebernehmen, die noetigen azubi-kills werden
verdoppelt.
so bleibt unterm strich dass das schneeballsystem etwas
entschaerft wird (das dies noetig ist wurde ja schon erkannt,
und auch sehr grosse kaempfer duerfen nun die kleinen ausbilden),
die verdoppelung der azubikills von 22 auf 23 wuerde dafuer
sorgen das general-werden immer noch was besonders ist
und die generaele nicht aus der pflicht genommen werden auch
mal auszubilden (auch wenn sich viele generaele druecken:) )

und klar gibts vollscripts die level-23 sind und alles gemaxt
haben, so what? die bunten farben machen noch kein bild,
der spieler muss was mit den skills anzufangen wissen, ich
bin versucht ein altes teile mit von eben so einem scripte-
general zu posten als er fragte was "finte" bewirkt.

das man als kaempfer keinen lerncache hat und auch
an bekannten schnell-uebe-monstern noch weiter mit
erfolg lernt, kann man so oder so sehen. eventuell
waers denkbar bei den waffenskills was zu machen in
punkto auf lernen, arnold wuerde sich sicher freuen :)

--Vector--

-----------------------------------------------------------------------------



Re^21: Level 17 und 18(?) (Humni, 17. Aug 2005, 20:10:50):
~#! rn=Gast1 rt=1124300744 rg=gilden.karate
~#! tid=1123850536
OK.

1. Diese Rubrik heisst gilden.karate - nicht gilden.kaempfer. Die Vorschlaege
diesbezueglich gerne an Maarg, wenn er Zeit hat ;-)

2. Ich habe nicht alle Zeit der Welt, um die Karateka komplett umzustricken.
Ein paar Aenderungen kann ich bauen, aber da sind so Woelfe, die fuer mich
persoenlich doch Vorrang haben. Wenn es eine wirkliche Umstellung des
Kampfsystems der Karategilde sein soll bin ich definitiv der falsche.

Nur mal so, bevor das hier zu sehr abdriftet ;-)

Humni

-----------------------------------------------------------------------------



Re^22: Level 17 und 18(?) (Chagall, 17. Aug 2005, 20:51:47):
~#! rn=Humni rt=1124302250 rg=gilden.karate
~#! tid=1123850536
Mandragon hat sich doch schon mit seinem Artikel bereiterklaert,
die Karateka zu uebernehmen. :)

MC

-----------------------------------------------------------------------------



Re^16: Level 17 und 18(?) (Kellybundy, 19. Aug 2005, 14:05:46):
~#! rn=Householder rt=1124178364 rg=gilden.karate
~#! tid=1123850536
Meinste Karateka? kann sein ja. Kann ich nicht beurteilen.

Meinste Kaempfer? Da gibt es ein Verlernen der Skills bei entsprechender
Nichtbenutzung, egal ob man stirbt oder nicht.

-----------------------------------------------------------------------------



Re^17: Level 17 und 18(?) (Croft, 19. Aug 2005, 14:08:29):
~#! rn=Kellybundy rt=1124453146 rg=gilden.karate
~#! tid=1123850536
Er meint RL-Kampfkuenste.  Ein Schwarzgurttraeger bleibt Schwarzgurttraeger.

Croft

-----------------------------------------------------------------------------



Re^18: Level 17 und 18(?) (Mupfel, 24. Aug 2005, 21:50:47):
~#! rn=Croft rt=1124453309 rg=gilden.karate
~#! tid=1123850536
Wenn denn der 18er aktiv gespielt werden soll, macht doch einen dynamischen
Level, sprich einen, den man wieder verliert, wenn man nicht spielt. Der
koennte dann an einer gewissen relativen FP- und/oder EK-Zahl haengen, an
einer Forderung "ALLE Questen geloest" usw., also an sich (langsam aber
stetig) aendernden Anforderungen.

-mupfel-

-----------------------------------------------------------------------------



Re^19: Level 17 und 18(?) (Ark, 24. Aug 2005, 23:27:05):
~#! rn=Mupfel rt=1124913047 rg=gilden.karate
~#! tid=1123850536
Also irgendwie finde ich die Erziehung zum Suchti nicht so doll :-) Es gibt
viele Kaempfer mit Maximallevel, obwohl man in der Gilde die Generaele auch
haette begrenzen koennen (und es gluecklicherweise nicht getan hat). Wer
laenger nicht mehr spielt, hat "Nachteile" durch mangelnde Koordination
aufgrund laengerer Abwesenheit und diesbedingte Demenz. Das reicht.
Wenn man denn unbedingt einen Bezug zur Realitaet herstellen wollte, sollte
man auch sehen, dass keinem ein Guertel wieder aberkannt wird. Im Endeffekt
fuehrt das staendige Ringen um Titel, die mit beschraenkten Sonderfaehigkeiten
verbunden sind, nur zu unerwuenschten Nebeneffekten im Sinne des Spiels.
Meinshalben sind die Chaoten davon ausgenommen :-)
Ein bisschen Abwechslung im Kampf taete den Karateka allemal mehr gut. Tasten
betaetigen waehrend dem Kampf ... hachja. Und damit ist keine Artillerie
gemeint :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Dunkelelfen (Humni, 23. Okt 2005, 23:03:17):
... koennen ab sofort keine Karateka mehr werden. Ja, ich schraenke deren
Moeglichkeiten bewusst ein. ;-)

Sollte jemand einen Dunkelelfen haben, der Karateka ist, melden oder
anschwaerzen, wenn ihr ihn seht. Ich glaube aber auch nicht, dass jemand auf
Dauer ohne Schutz einen Delfen spielen will.

Humni

-----------------------------------------------------------------------------



Re: Dunkelelfen (Darklor, 24. Okt 2005, 16:31:16):
~#! rn=Humni rt=1130101397 rg=gilden.karate
~#! tid=1130101397
Oh Mist, ausgerechnet diese Gilde hatte ich nich getestet... ;) 

Aber Schutz gibts ja trotzdem von Nenais (zwar nur immer fuer ne 1/4h aber
immerhin...)

Darklor

-----------------------------------------------------------------------------



Re: Re: Dunkelelfen (Ogo, 24. Okt 2005, 19:23:12):
~#! rn=Darklor rt=1130164276 rg=gilden.karate
~#! tid=1130101397
Sagt bloss der Sonnenschirm aus der Daemonenburg hilft Dunkelelfen nicht...

-----------------------------------------------------------------------------



Ueben... (Humni, 11. Nov 2005, 22:25:06):
Huhu,

ich habe die Einschaetzungen von Funakoshi, wieviel man fuer den naechsten
Level noch ueben muss, praezisiert.

Ich nehme mal an, dass das von Rochus sogar so aehnlich intendiert war, wie es
nun ist. Sicher bin ich da aber nicht.

Bugs und Beschwerden an mich.

Humni

-----------------------------------------------------------------------------



Gedaempfte Angriffe (Humni, 11. Feb 2006, 14:36:26):
Du hast jetzt 200 Lebenspunkte und 200 Konzentrationspunkte.
Du greifst den Kristallscherbenbeisser mit einem sehr gelungenen Choku-Zuki
an.
Du zerschmetterst den Kristallscherbenbeisser in kleine Stueckchen.
Du hast jetzt 200 Lebenspunkte und 190 Konzentrationspunkte.

(jaja, gefaket).

Nun ja, wer moechte da nicht lieber ein wenig weniger stark zuschlagen? Und
dafuer weniger KPs verbraten?

ALL DAS IST NUN MOEGLICH! Und sogar die Gildenbalance hat nix dagegen, so ein
Zufall...

Man frage den alten Lehrmeister nach Daempfung.

Viel Spass.

Humni

-----------------------------------------------------------------------------



Re: Gedaempfte Angriffe (Gloinson, 11. Feb 2006, 20:29:24):
~#! rn=Humni rt=1139664986 rg=gilden.karate
~#! tid=1139664986
Und wann kann man den Kiai kontrolliert einsetzen? :-P


-----------------------------------------------------------------------------



Noch so eine Idee... (Humni, 25. Feb 2006, 09:35:31):
Huhu,

ich habe schon seit laengerem folgende Idee und wollte mal nachfragen, was ihr
dazu meint:

Karatekas sind mit reinem Schlagschaden sehr eingeschraenkt. Es gibt ein paar
Items, die magische Schadensarten erlauben, aber ich denke, es gibt ein paar
Ansaetze, auch mechanische Schaeden ein wenig vielfaeltiger zu gestalten:

* Die Shuto-Uchis koennten, nach einer Vorbereitung (Haende aneinander reiben)
Schnittschaden machen. Jaja, es ist immer noch eine Flaeche die trifft, schon
klar, aber dafuer muss man ja erstmal die Haende aneinander reiben. Warum
heissen die Angriffe sonst auch Schwerthandangriff.... ;-)
* Eine auch in Katas sehr haeufig anzutreffende Technik fehlt seltsamerweise,
der Nukite. Den koennte man hinzufuegen, und der koennte (ebenfalls eine
gewisse Konzentrationsuebung vorausgesetzt) Stichschaden machen.

Meinungen erbeten. Aus Balancesicht sehe ich nicht, dass das MG aus den Angeln
gehoben wuerde, wenn diese Moeglichkeiten fuer Karatekas dazukaemen.

Humni

-----------------------------------------------------------------------------



Re: Noch so eine Idee... (Ark, 25. Feb 2006, 10:41:04):
~#! rn=Humni rt=1140856531 rg=gilden.karate
~#! tid=1140856531
Klingt gut. Vorbereitung dann vor dem Kampf, nehme ich an. Wie lang sollte der
halten? Je nach Kosten schon mal 10s+ denke ich ... laenger ist man bei vielen
Gegnern auch nicht drin :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Noch so eine Idee... (Deepblue, 25. Feb 2006, 12:17:33):
~#! rn=Humni rt=1140856531 rg=gilden.karate
~#! tid=1140856531
klingt interessant. Beachte aber bitte, das Funakoshi dann auch was ueber die
Sachen wissen sollte. 
Ich hab zugegebenermassen lange nicht mit ihm geredet, aber frueherwar er sehr
wortkarg, und man hatte vor allem keine Ansatzpunkte (Stichworte), wie man
bestimmte Informationen bekommt. Vieles hatte ich nur uebers MPA-Archiv
herausgefunden...

-----------------------------------------------------------------------------



Re: Re: Noch so eine Idee... (Humni, 25. Feb 2006, 12:26:51):
~#! rn=Deepblue rt=1140866253 rg=gilden.karate
~#! tid=1140856531
Klar wird der was wissen. Ein wenig (!) mehr weiss er auch schon als frueher,
zugegeben ist das noch nicht der Riesenhit, was er weiss. Ist aber in
staendiger Erweiterung ;-)

Humni

-----------------------------------------------------------------------------



Funakoshi... (Humni, 10. Mar 2006, 22:31:39):
... wird Euch ab sofort ein paar Weisheiten um die Ohren hauen.

Wenn ihr meint, das macht er zu oft: Melden. Ebenso, wenn ihr neue Ideen fuer
Sprueche habt. Sollten aber dazu passen, die bisherigen sind von seinem
RL-Vorbild ;-)

Humni

-----------------------------------------------------------------------------



Re: Funakoshi... (Gloinson, 11. Mar 2006, 21:40:22):
~#! rn=Humni rt=1142026299 rg=gilden.karate
~#! tid=1142026299
Koennte er die Weisheiten vielleicht nur in seinem Dojo von sich geben 
anstatt sie ueber den OOC-Kanal zu trompeten?

So spaetestens nach einem Monat ist der Neuheitswert von quatschenden NPC 
mit festgelegten Sprueche erschoepft.
Ich stelle die Sinnfrage: "Wieso auf dem Kanal?" einfach mal schon jetzt.


-----------------------------------------------------------------------------



Re: Re: Funakoshi... (Croft, 11. Mar 2006, 21:43:14):
~#! rn=Gloinson rt=1142109622 rg=gilden.karate
~#! tid=1142026299
Wieso stellst du gerade jetzt diese Frage hier in dieser Rubrik?  Wieso
nicht unter Gilden.Bierschuettler vor Unzeiten?

Croft

-----------------------------------------------------------------------------



Re: Funakoshi... (Pichu, 11. Mar 2006, 22:19:51):
~#! rn=Humni rt=1142026299 rg=gilden.karate
~#! tid=1142026299
Sorry Humni, aber ich finde es wenig originell und tendenziell eher arg
nervig.
Pichu

-----------------------------------------------------------------------------



Re^3: Funakoshi... (Gloinson, 11. Mar 2006, 23:48:18):
~#! rn=Croft rt=1142109794 rg=gilden.karate
~#! tid=1142026299
Sorry, ich war damals irgendwie nicht so aktiv. Ich halte Bruno auch
fuer eine Nervensaege, die aber etabliert ist. Mit dem Erschaffer des
Features das jetzt noch auszudiskutieren ist schwierig.

Dass es Bruno, Xetolosch und Lotta gibt, die in regelmaessigen Abstaenden
plappern ist aber keine gute Begruendung dafuer noch einen NPC auf einer
Ebene reden zu lassen. Fuer mich sind Ebenen prinzipiell OOC und ein
quatschender NPC passt da nicht hin. Lotta und Brieseltrim sind mit ihrem
Spielertratsch und den nuetzlichen IC-Vereidigungseinladungen Gratwanderer.

Aber vielleicht laesst sich ja Humni hier und jetzt erweichen, Funakoshis
dazugewonnene Interaktivitaet auf den Spielraum zu beschraenken. Auch wenn
damals bei den Bierschuettlern keiner die Frage gestellt haben mag (worauf
ich nicht wetten wuerde).


-----------------------------------------------------------------------------



Re^4: Funakoshi... (Knurps, 12. Mar 2006, 03:11:28):
~#! rn=Gloinson rt=1142117298 rg=gilden.karate
~#! tid=1142026299
Oh, Channel sind OOC? Da reden doch sogar teilweise nicht mal bestimmte NPCs
mit Namen, sondern "Ein Mann des Waldes" und so Spaesse. Ob nun ein Ork, ein
Dachs, ein Mann des Waldes oder ein Feld-, Wald- und WiesenNPC auf einer Ebene
redet (siehe -moerder) oder nur namentliche NPCs ala Bruno, Brieseltrim und
Xetolosch, finde ich schon einen nicht unerheblichen Unterschied. 

-----------------------------------------------------------------------------



Re^4: Funakoshi... (Humni, 12. Mar 2006, 14:11:28):
~#! rn=Gloinson rt=1142117298 rg=gilden.karate
~#! tid=1142026299
So. Das ist also das Ergebnis, wenn man mal bei Spielern nachfragt. Danke
schoen, Gloinson.

Ich verstehe Magier, die sagen "die Spieler frag ich gar nicht erst" immer
besser. Auch wenns in dem Fall ein Magier war, der kindisch reagiert hat.

Und wenn ich nun die Anzahl der Meldungen bei Funakoshi erstmal einfach
runterdrehe sei hiermit kindischerweise verkuendet: Das geschieht NICHT wegen
Gloinson.

Humni

-----------------------------------------------------------------------------



Re^4: Funakoshi... (Humni, 12. Mar 2006, 19:30:09):
~#! rn=Gloinson rt=1142117298 rg=gilden.karate
~#! tid=1142026299
Vielleicht um die Dikussion nach einiger Ueberlegung (und auch geistigem
Runterkommen meinerseits, was aber noch nicht ganz passiert ist - liegt aber
nicht alleine am Mud) zu strukturieren:

Ich sehe drei Moeglichkeiten:

1. NPCs reden GAR NICHT auf Ebenen.
2. Bestimmte NPCs reden auf bestimmten, klar abgegrenzten und klar definierten
Ebenen.
3. Jeder NPC darf reden, wann und wo der entsprechende Magier das will.

Ich denke, dass zwischen diesen Extremen nur Nr. 2 in Frage kommt, denn ich
will weiterhin Questmeldungen, Todesmeldungen und Moerdermeldungen - oder
besteht darueber kein Konsens?

Des Weiteren sehe ich Miniquestmeldungen (der "Mann des Waldes" ist ja
durchaus wer, Knurps, auch wenn Du den vielleicht nicht kennst ;-) ) als
ebenbuertig an.

Soweit sollte eigentlich auch kein Diskussionsbedarf bestehen. Wenn doch, gut,
sollten wir darueber reden.

Nun hat sich eingebuergert, dass einige Gilden auch Meldungen ausgeben. Sei es
zu Levelanstiegen (Xelonir, Brieseltrim...), zu aussergewoehnlichen
Ereignissen (Vereidigung o.ae.) - oder eben einfach so zwischendurch, um die
Gilde wach zu halten (Bruno und nun eben auch Funakoshi).

Wenn nun das "Zwischendurchgelabere" als problematisch empfunden wird, weil es
zu sehr scrollt: Einverstanden. Die Haeufigkeit kann ja auch runtergesetzt
werden. Andererseits gehoeren Brunos Kommentare fuer mich zum MG, seitdem ich
die Bierschuettler kenne, und will sie eigentlich nicht missen, auch wenn sie
uralt und abgelutscht erscheinen moegen, sie gehoeren fuer mich einfach zur
Gilde dazu (von mir aus auch die Antwort "Klappe Bruno" von einigen Leuten).

Mir ist nur aufgefallen, dass die Karategilde (die ja einen sehr schoenen und
nicht rein sportlich-kaempferischen Hintergrund hat) recht wenig von diesem ..
ich nenns mal in Ermangelung eines anderen Wortes ... spirituellen Flair
wiederspiegelt. Darum wollte ich Funakoshi halt einiges sagen lassen. Nicht
ueberall, nur dort wo es meiner Meinung nach hinpasst - auf der Karateebene
halt. Die Zitate sind uebrigens vom "echten" Funakoshi (Gichin Funakoshi) -
und gut, einige Leute koennen wohl wenig damit anfangen. Als jemand, der nun
mal selbst ein wenig Karate betrieben hat hab ich mir halt die Arroganz
angemasst, diese Zitate gut zu finden und einzubauen. Dazu haette ich aber
gerne noch mehr Meinungen. 

Und am Rande: Dass Funakoshi Gildenaufgaben schon seit laengerem verkuendet
hat niemanden gestoert.

So. Von Gilden-NPCs entkoppelt nun mal zu anderen NPCs. Lotta, Xetolosch und
seit einiger Zeit auch einer von mir (Zukling) verkuenden ab und an ganz gerne
Bloedsinn auf der Ebene. Oder auf bestimmten Ebenen. Frage: Ist das ein
Problem? Wo ist die Grenze?

Und die andere Frage: Muss es eine Grenze geben, oder geben wir sie der
Willkuer preis? Bisher sind wir so ganz gut gefahren. Wenn das Konzept jemand
bewusst gegen die Wand fahren will, muessen wir das eventuell aendern. Die
Frage ist: Ist das wirklich noetig?

Humni


-----------------------------------------------------------------------------



Re^5: Funakoshi... (Muadib, 12. Mar 2006, 19:34:15):
~#! rn=Humni rt=1142188209 rg=gilden.karate
~#! tid=1142026299
imho sollten npcs auf den ebenen lediglich darauf achten nicht zu spammen
wann der spam anfaengt kann ich nicht entscheiden
im zweifelsfalle kann man npcs auf ebenen ignorieren

-----------------------------------------------------------------------------



Re^5: Funakoshi... (Pichu, 12. Mar 2006, 20:38:51):
~#! rn=Humni rt=1142188209 rg=gilden.karate
~#! tid=1142026299
Also ICH finde das Gildennpcs gildenrelevante Themen auf den Ebenen von sich
geben sollten, das interessiert mich persoenlich als Gildenangehoerige. Soll
da noch mehr kommen wie irgendwelche "Weisheiten" dann lass die doch das
Karateorakel sprechen, dass kann ich prima ignorieren ohne den EINZIGEN
Gildennpc ignorieren zu muessen. Ja, mich nerven diese Meldungen und mich
nervt auch rumgereime, so jetzt steinigt mich. Rumgereime von Spielern und
aehnlichem kann ich prima abschalten aber, wie gesagt, ich hab keine Lust
gezwungen zu sein den einzigen Gildennpc zu ignorieren nur weil jemand meint
Sprueche bringen "Gildenfeeling" das sollte von woanders kommen.
Pichu

-----------------------------------------------------------------------------



Re^5: Funakoshi... (Gloinson, 12. Mar 2006, 20:52:54):
~#! rn=Humni rt=1142188209 rg=gilden.karate
~#! tid=1142026299
> Gilden auch Meldungen ausgeben ... Levelanstiegen ... Ereignissen

Als Reaktion auf Spieler und um Spieler untereinander zu verbinden - prima
geeignet.

> um die Gilde wach zu halten

wie soll das klappen? Siehe Bierschuettler. 95% der Ebenenhistorie werden von
Bruno gefuellt, aber trotzdem wird die Gilde geringer bespielt als andere,
ruhigere. Bruno produziert Scroll, der irgendwie inzwischen dazugehoert, von
Anfang an von einigen nur gelitten wurde aber kaum die Gilde "wach" haelt.

> Darum wollte ich Funakoshi halt einiges sagen lassen. ...
> ... auf der Karateebene ...

Und wieso nicht in seinem Raum? Ebenen sind zum Verteilen allgemeiner
Mitteilungen da:
- wird immer das gleiche erzaehlt (und die Gefahr besteht einfach bei
  statischen NPCs), wird es oede, sehr schnell
  -> gegen einen Funarian Silbereisen
- es werden Nachrichten aktiv und ungefragt an viele verteilt
  -> irgendwie passen Funakoshi und Funakoshi als Radiomoderator, der
     jeden Tag seine Weisheiten an alle rausblaest nicht zusammen


-----------------------------------------------------------------------------



Re^6: Funakoshi... (Maharet, 12. Mar 2006, 21:07:25):
~#! rn=Gloinson rt=1142193174 rg=gilden.karate
~#! tid=1142026299
Also ich mag Bruno, Xetolosch, Lotta - und auch Funakoshi wird mich nicht
stoeren.  Warum die Bierschuettler-/Karateebene einschalten, wenn man sie
nicht lesen will und 95% eh nur NPC-Gescrolle ist? ;)

Mal davon abgesehen: genau dafuer gibt es doch jetzt die Moeglichkeit, den NPC
auf der Ebene zu ignorieren.  Und sonst benutzen doch wohl die allermeisten
hier einen Client, mit dem sich das gaggen laesst.

Ich faend es schade, wenn die jetzt von den Ebenen gescheucht wuerden.

Maharet

-----------------------------------------------------------------------------



Re^7: Funakoshi... (Pichu, 12. Mar 2006, 21:18:41):
~#! rn=Maharet rt=1142194045 rg=gilden.karate
~#! tid=1142026299
Aehm, ich soll meinen Gildennpc ignorieren? Tolle Wurst, nur weil der auf
einmal dummes Zeug babbelt soll ich alles Gildenrelevante auch gleich
ausschalten?
Pichu

-----------------------------------------------------------------------------



Re^8: Funakoshi... (Vector, 12. Mar 2006, 22:24:09):
~#! rn=Pichu rt=1142194721 rg=gilden.karate
~#! tid=1142026299
jemand der wegen seinem spotte-trigger ("PAH!") eh bei den meisten
auf ignore laeuft sollte nicht der erste sein, der jetzt mitm 
finger zeigt.....

-----------------------------------------------------------------------------



Re^9: Funakoshi... (Pichu, 12. Mar 2006, 22:27:23):
~#! rn=Vector rt=1142198649 rg=gilden.karate
~#! tid=1142026299
Oh ich hab einen Spottetrigger? Danke das Du mir das erklaerst, ich dachte
bisher das dass ein Ali sei... Aber was regst Du dich auf, ignorier mich doch
gleich auch noch in der MPA dann ist das auch durch?! Und ist immer einfach
sich ueber irgendetwas zu mokieren wenn man selber nicht betroffen ist, wie
waers denn wenn Llystrathe auf -Zaub rumsabbeln wuerde, waer das klasse - doch
bestimmt?
Pichu

-----------------------------------------------------------------------------



Re^10: Funakoshi... (Vector, 12. Mar 2006, 22:29:37):
~#! rn=Pichu rt=1142198843 rg=gilden.karate
~#! tid=1142026299
ob das klasse waer sag ich dir wenn es so weit ist. es geht hier nicht
um das "ob" sondern um das "wie". naemlich wie bei einer aenderung 
miteinander umgegangen wird. humni hatte eine neue idee, hat die 
(meiner meinung nach) nett umgesetzt und wollte euer feedback haben.
nun geht es darum, wenn man die neuerung nicht gut findet, das dem
magier in nem NORMALEN ton zu sagen, und nicht wie du hier in aller
unterstem niveau auf humni einzupruegeln wie scheisse und kacke das 
doch ist. schonmal von angemessenem tonfall gehoert?
sieht nicht so danach aus.

-----------------------------------------------------------------------------



Re^11: Funakoshi... (Pichu, 12. Mar 2006, 22:33:56):
~#! rn=Vector rt=1142198977 rg=gilden.karate
~#! tid=1142026299
Aehm, es war um ein Feedback gebeten und wenn Du mir in Artikel 10 dieser
Rubrik "unterste Schublade" zeigst bin ich gerne bereit darueber zu
diskutieren. Ansonsten rege ich mich halt darueber auf das ich, um Sachen zu
umgehen, die nicht zur Gilde gehoeren das Gildenoberhaut ignorieren soll, nein
ich meine nicht Humni sondern Funa.
Pichu

-----------------------------------------------------------------------------



Re^6: Funakoshi... (Muadib, 13. Mar 2006, 09:04:37):
~#! rn=Pichu rt=1142192331 rg=gilden.karate
~#! tid=1142026299
warum sollte man dich steinigen?
schaetzt du deine meinung so gering?

-----------------------------------------------------------------------------



Re^7: Funakoshi... (Taranis, 13. Mar 2006, 10:38:07):
~#! rn=Muadib rt=1142237077 rg=gilden.karate
~#! tid=1142026299
Ich antworte mal auf den letzten Artikel.
Also, mich stoeren die Meldungen von Funakoshi nicht und auch die von von
Bruno nicht. Meldungen von Llystrathe faende ich je nach Umsetzung auch gar
nicht schlecht. Die "Karate-Weisheiten" finde ich auf der Gildenebene der
Karateka auch nicht unbedingt unpassend und sehe nicht, warum die nicht "zur
Gilde" gehoeren sollten. Ich war auch der Meinung, dass eine Meldung pro Reset
von Funakoshi zuviel ist, aber das hat Humni ja auch schon reduziert.
Taranis

-----------------------------------------------------------------------------



Re^8: Funakoshi... (Muadib, 13. Mar 2006, 13:17:15):
~#! rn=Taranis rt=1142242687 rg=gilden.karate
~#! tid=1142026299
moment
die diskussion wird gefuehrt bei meldungen die seltener sind als ein reset?
wie haeufig kommen die denn?

-----------------------------------------------------------------------------



Re^9: Funakoshi... (Zook, 13. Mar 2006, 13:49:07):
~#! rn=Muadib rt=1142252235 rg=gilden.karate
~#! tid=1142026299
-karate* ...

[Karate:Funakoshi] Wahres Karate ist wie heisses Wasser, das abkuehlt, wenn du
[Karate:Funakoshi] es nicht staendig waermst. <Son, 14:13:52>
[Karate:Funakoshi] Wahres Karate ist wie heisses Wasser, das abkuehlt, wenn du
[Karate:Funakoshi] es nicht staendig waermst. <Son, 22:25:45>
[Karate:Funakoshi] Die Kunst des Geistes kommt vor der Kunst der Technik.
[Karate:Funakoshi] <Son, 22:26:27>
[Karate:Funakoshi] Uebe die Kata korrekt, im echten Kampf ist das eine andere
[Karate:Funakoshi] Angelegenheit. <Mon, 02:36:39>


Zook.

-----------------------------------------------------------------------------



Re^10: Funakoshi... (Muadib, 13. Mar 2006, 16:57:52):
~#! rn=Zook rt=1142254147 rg=gilden.karate
~#! tid=1142026299
seltsame abstaende
aber mir wurde etwas von 4 stunden gesagt
und deshalb nochmal die frage: wir machen hier das foermchenwerfen ernsthaft
wegen einer karatebezogenen meldung auf der ebene karate durch den geistigen
fuehrer der karatekas, die etwa alle 4 stunden einmal kommt?
ist das nicht ein wenig arg kindergarten?

-----------------------------------------------------------------------------



Re^11: Funakoshi... (Gloinson, 13. Mar 2006, 16:58:52):
~#! rn=Muadib rt=1142265472 rg=gilden.karate
~#! tid=1142026299
Angefangen hat das Ganze mit reset-Scroll. Foermchendings, klar, aber auch
Foermchenpullern regt auf und ist wichtig. Prinzipienfoermchen halt vor allem.


-----------------------------------------------------------------------------



Re^12: Funakoshi... (Muadib, 13. Mar 2006, 17:00:22):
~#! rn=Gloinson rt=1142265532 rg=gilden.karate
~#! tid=1142026299
ja
alle reset, klar
aber alle 4 stunden? das kann doch nun nicht ernsthaft als
hintergrundbelaestigung angesehen werden
oder?

-----------------------------------------------------------------------------



Re^13: Funakoshi... (Humni, 13. Mar 2006, 17:02:42):
~#! rn=Muadib rt=1142265622 rg=gilden.karate
~#! tid=1142026299
Bei dem seltsamen Abstand da gegen 22 Uhr vermute ich, dass irgendwas mit
neuladen/haendisch ausgeloestem Reset passiert ist. Ich wuerde derzeit
vermuten, dass wir jetzt bei ca. 2-4 Meldungen am Tag anlangen. Koennen mal 5
sein, dafuer sagt er dann auch mal nen Tag lang gar nix, tippe ich.

Humni

-----------------------------------------------------------------------------



Re^13: Funakoshi... (Gloinson, 13. Mar 2006, 17:05:58):
~#! rn=Muadib rt=1142265622 rg=gilden.karate
~#! tid=1142026299
Doch, schon. Ich finds aus dem Prinzip her laestig, dass ich nicht verstehe
welchen Gewinn an Stimmung das der Gilde bringt, wenn der Gildenchef ohne
Spielerinteraktion jede Woche die selben Wahrheiten von sich gibt und die
Kanalhistorie mit Rauschen fuellt. Fuer zB Maharet sieht das eben anders aus.


-----------------------------------------------------------------------------



Re^14: Funakoshi... (Muadib, 13. Mar 2006, 18:01:47):
~#! rn=Gloinson rt=1142265958 rg=gilden.karate
~#! tid=1142026299
laestig?
wegen maximal 5 meldungen am tag?
ohne spielerinteraktion?
darf ein gildenchef, ein geistiger fuehrer der karatekaschaft, denn diese
nicht mal von sich aus erquicken?

-----------------------------------------------------------------------------



Re^15: Funakoshi... (Knurps, 13. Mar 2006, 18:03:03):
~#! rn=Muadib rt=1142269307 rg=gilden.karate
~#! tid=1142026299
Erlaubt ist, was gefaellt. In diesem Fall: Nein. ;-)

-----------------------------------------------------------------------------



Re^16: Funakoshi... (Sharia, 13. Mar 2006, 18:05:14):
~#! rn=Knurps rt=1142269383 rg=gilden.karate
~#! tid=1142026299
Ach quark :) wems nicht gefaellt schaltet die Ebene ab oder gaggt genau die
Sprueche von Funa raus... 

Ende

-----------------------------------------------------------------------------



Re^17: Funakoshi... (Croft, 13. Mar 2006, 18:06:12):
~#! rn=Sharia rt=1142269514 rg=gilden.karate
~#! tid=1142026299
Oder ignoriert Funakoshi auf der Ebene.

Croft

-----------------------------------------------------------------------------



Re^16: Funakoshi... (Jimdigriz, 13. Mar 2006, 18:08:46):
~#! rn=Knurps rt=1142269383 rg=gilden.karate
~#! tid=1142026299
Also ich bin echt ziemlich erstaunt ueber diese
Diskussion und die Einstellung mancher dazu.
Sich ueber Gildenrelevante Beschreibungen aufzuregen,
"weil diese Scrollen" finde ich persoenlich sogar 
unverschaemt. Ob auf der Ebene oder im Dojo oder sonstwo
ist scheissegal. Die Ebenen gehoeren im MG dazu und sind
weder speziell reserviert oder sonstwas.
Wer unbedingt Mr./Mrs. Supereffizient-Spieler sein will
der nur moeglichst schnell aufsteigen will ohne sonst
irgendwas vom Spiel und den Beschreibungen etc. mitkriegen
will, der kann das ja alles eh weggaggen mit diversen tools.

Ich bin auch Karateka und ich find das gut. Ich faende auch
1x pro Reset nicht mehr nervig als vieles andere was hier 
"scrollt".
Ruecksicht und Feedback von Spielern bei Aenderungen
ist durchaus angebracht, aber irgendwo sollte auch
die Grenze sein es jedem Querulanten recht machen zu wollen.

My 0.02 CHF,
 JdG

-----------------------------------------------------------------------------



Re^17: Funakoshi... (Muadib, 13. Mar 2006, 18:11:02):
~#! rn=Jimdigriz rt=1142269726 rg=gilden.karate
~#! tid=1142026299
toller artikel

-----------------------------------------------------------------------------



Re^18: Funakoshi... (Miril, 13. Mar 2006, 18:11:20):
~#! rn=Muadib rt=1142269862 rg=gilden.karate
~#! tid=1142026299
hab ich ihm auch gerade per tm gesagt.

Miril

-----------------------------------------------------------------------------



Re^17: Funakoshi... (Knurps, 13. Mar 2006, 18:18:58):
~#! rn=Jimdigriz rt=1142269726 rg=gilden.karate
~#! tid=1142026299
Immer schoen langsam. Humni schrieb "Wenn ihr meint, das macht er zu oft:
Melden." Dieser Aufforderung wurde in einigen Faellen gefolgt. 
> Ich bin auch Karateka und ich find das gut.
Schoen, gibt's auch Pro-Feedback. Muss aber nicht jeder gut finden, das hat
nichts mit Querulanten oder Unverschaemtheit zu tun.

Unverschaemt finde ich deine Unterstellungen; "Mr. Suppereffizient-Spieler"
ist auf einer derartig unsachlichen Ebene. Nur weil jemand nicht von solchen
Meldungen beglueckt werden will, ist er natuerlich jemand, "der nur moeglichst
schnell aufsteigen will". Suhlst du dich gerade in etwaigen
Clichevorstellungen oder machen dir Zuschreibungen einfach nur Spass?

Knurps, etwas verwundert

-----------------------------------------------------------------------------



Re^18: Funakoshi... (Jimdigriz, 13. Mar 2006, 18:41:53):
~#! rn=Knurps rt=1142270338 rg=gilden.karate
~#! tid=1142026299
Ja.

-----------------------------------------------------------------------------



Re^11: Funakoshi... (Ark, 13. Mar 2006, 19:20:44):
~#! rn=Muadib rt=1142265472 rg=gilden.karate
~#! tid=1142026299
Och, ich fuehre in regelmaessigen Abstaenden kleine Diskussionen um
Questshouts ... bei gleichzeitigem Daueridlen von denen, die sich daran
stoeren. Also stell Dich nicht so an :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^12: Funakoshi... (Vector, 13. Mar 2006, 19:33:40):
~#! rn=Ark rt=1142274044 rg=gilden.karate
~#! tid=1142026299
einfach funakoshi wieder angreifbar machen dann haetten
alle was davon :) ein toter funakoshi haelt auch die klappe,
und mittlerweile sollte babyblue doch mit max-scripten
fertig sein, so dass es keinen grund mehr gibt den
auf no_attac zu lassen?!

-----------------------------------------------------------------------------



Re^13: Funakoshi... (Humni, 13. Mar 2006, 19:35:50):
~#! rn=Vector rt=1142274820 rg=gilden.karate
~#! tid=1142026299
ich wollte gerade sagen, dass technisch gar nicht Funa.. hat sich aber
erledigt. Da er immer nur im Reset redet - und zwar im Reset der Karategilde -
ratet mal, was also folglich gar nichts nuetzt? ;-)

Humni

-----------------------------------------------------------------------------



Re^13: Funakoshi... (Ark, 13. Mar 2006, 19:42:51):
~#! rn=Vector rt=1142274820 rg=gilden.karate
~#! tid=1142026299
Niemand hat ein Recht darauf, angreifbar zu sein :-) Ich lass mich doch jetzt
nicht in die Diskussion reinziehen, noeeee.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^14: Funakoshi... (Kellybundy, 13. Mar 2006, 20:33:35):
~#! rn=Humni rt=1142274950 rg=gilden.karate
~#! tid=1142026299
Wie waere es mit einem $gildenobermotz_labermodus ein/aus ? Ist das
realisierbar? dann waere dieses Foermchenvollpinkeln und
Matschkuchenzerpatschen obsolet. Mich stoerte halt nur, dass Lotta
ausgerechnet auf -Allgemein rumtrompetete, aber da sie nu ignorierbar ist...
ansonsten bin ich da absolut neutral.

Kelly, Friedensmatschkuchenfoermchen voll mit Pipi rumreichend

-----------------------------------------------------------------------------



Re^17: Funakoshi... (Gloinson, 13. Mar 2006, 21:16:11):
~#! rn=Jimdigriz rt=1142269726 rg=gilden.karate
~#! tid=1142026299
> Ob auf der Ebene oder im Dojo oder sonstwo ist scheissegal.
> Die Ebenen gehoeren im MG dazu und sind weder speziell
> reserviert oder sonstwas.

Sehr gut argumentiert. Gildenrelevante Beschreibungen im weitesten Sinne
sollten also ueberall das MUD bereichern duerfen, egal ob sie gerade damit das
Gildenfeeling zu einem verwaesserten Rauschen gestalten. Es waere also eine
Ueberlegung wert, ab morgen diese 20 Sprueche auch in Rotation in die Zeitung
zu setzen und per Mail an die Karateka zu verschicken. Denn es ist ja
"scheissegal", wo das Gildenfeeling "verbreitet" wird?


-----------------------------------------------------------------------------



Re^18: Funakoshi... (Maharet, 13. Mar 2006, 21:18:31):
~#! rn=Gloinson rt=1142280971 rg=gilden.karate
~#! tid=1142026299
Naja, also die -karate-Ebene gehoert nunmal zur Karate-Gilde.  Wer nicht
Karateka ist und sich nicht fuer Karateka-Kram interessiert, soll doch einfach
runter von der Ebene.  Dass man alle Ebenen einschalten _kann_, heisst nicht,
dass alle Ebenen fuer alle Spieler und Magier interessantes Zeug liefern. 
Insofern sollte tatsaechlich nur der Widerspruch von Karateka relevant sein.

Maha

-----------------------------------------------------------------------------



Re^19: Funakoshi... (Gloinson, 13. Mar 2006, 21:30:28):
~#! rn=Maharet rt=1142281111 rg=gilden.karate
~#! tid=1142026299
> Naja, also die -karate-Ebene gehoert nunmal zur Karate-Gilde. 

Richtig. Zur Gilde. Nicht zur Funakoshi-Propagandaausruestung.

Wer zur Karate-Gilde was zu sagen oder zu fragen hat - das sind zumeist
Spieler - sollte nicht mit dem zufaellig zum Laberkopf degenerierten
Gildenoberhaupt auf der Ebene konfrontiert werden.
Gerade wenn die Gilde nicht mehr wirklich aktiv ist, ist es doch sehr nett
wenn Mitkarateka einem Fragen noch eine Woche spaeter (per Mail) beantworten
koennen, weil die Frage beim Lesen noch nicht rausgerauscht wurde, wenn nicht
mit einem textenden NPC eine Aktivitaet vorgetaeuscht wird.

Ich stell doch einfach mal die Gegenfrage: Wieso erzaehlt Funakoshi seinen
Schuelern diese zu Karate gut passenden Weisheiten nicht vor Ort, in seinem
Dojo, bei der Ausbildung?


-----------------------------------------------------------------------------



Re^20: Funakoshi... (Kessa, 13. Mar 2006, 21:34:56):
~#! rn=Gloinson rt=1142281828 rg=gilden.karate
~#! tid=1142026299
"...mit dem zufaellig zum Laberkopf degenerierten
Gildenoberhaupt..."


Das war jetzt keine Polemik? :) Ich sehe aber auch, wenn ich das ins Sachliche
uebersetze, nicht, wo es bei der jetzigen Frequenz noch zutreffen sollte.

-----------------------------------------------------------------------------



Re^12: Funakoshi... (Muadib, 14. Mar 2006, 00:17:03):
~#! rn=Ark rt=1142274044 rg=gilden.karate
~#! tid=1142026299
moi?

-----------------------------------------------------------------------------



Re^20: Funakoshi... (Muadib, 14. Mar 2006, 00:28:40):
~#! rn=Gloinson rt=1142281828 rg=gilden.karate
~#! tid=1142026299
also um da ein rausscrollen zu bekommen muss man sich doch schon einiges an
zeit nehmen
der rest ist polemik, aber da du drum bettelst: laberkopfdegenerationen sind
nicht npc vorbehalten

-----------------------------------------------------------------------------



Re^21: Funakoshi... (Gloinson, 14. Mar 2006, 00:57:53):
~#! rn=Muadib rt=1142292520 rg=gilden.karate
~#! tid=1142026299
> laberkopfdegenerationen sind nicht npc vorbehalten

Aye. Aber ich zweifle irgendwie daran, dass du auf die
dreihundertvierunfuenfzigste Wiederholung eines Satzes durch einen NPC hin
auch noch deine Wortgewalt auspielen wuerdest. Und das ist der Unterschied.


-----------------------------------------------------------------------------



Re^21: Funakoshi... (Gloinson, 14. Mar 2006, 01:21:26):
~#! rn=Muadib rt=1142292520 rg=gilden.karate
~#! tid=1142026299
Polemik. Und dein einfaches Abtun der fuer mich zentralen Frage "was bringen
generische Meldungen von NPCs auf Kanaelen der Stimmung und dem MUD" ist
sachlich, ja?

Entschuldigung, dass ich die Frage nicht bei Bruno gestellt habe - der faellt
mittlerweile unter etabliertes Grundrauschen. Entschuldigung, dass ich sie
nicht bei Xetolosch gestellt habe - er war eine Woche spieleraehnlich, in der
zweiten suspekt, in der dritten enttarnt und langweilig. Und bei Lotta, die
faellt eben nicht ganz in diese "Weisheiten"-Kategorie, da sie
Spielerinteraktion vermittelt.

Wieso aergert mich das Berauschen durch NPCs auf Kanaelen? Kanaele sind IMHO
fuer Spieler da. Wenn NPCs auf Kanaelen oder durch Rufen Ereignisse mitteilen,
die mit Spieleraktionen zu tun haben, foerdert dass das Zusammenspiel. Wenn
sie nur noch "Weisheiten" von sich geben, foerdert das ... die redundante
Textmenge an einer Stelle, die dafuer IMHO nicht gedacht war (auf einem
Kanal). Rauschen - ich hab das Wort nicht umsonst so verwendet.
Selbst ein Grats-Ali von einem Spieler, ein hundertstes Mal getippt ist mir
auf dem Kanal mehr wert: weil der Spieler eine Person ist, die auf mich
reagiert, auf die ich reagieren kann.


-----------------------------------------------------------------------------



Re^22: Funakoshi... (Vector, 14. Mar 2006, 01:48:49):
~#! rn=Gloinson rt=1142295686 rg=gilden.karate
~#! tid=1142026299
ok ausser dass mir das metzeln von funakoshi durchaus wieder
spass machen wuerde, folgende idee:
wer sich gestoert fuehlt schreibt ne mail an humni und 
bekommt eine liste alle weisheiten, so dass er gezielt
diese rausgaggen kann.
wer noch spass an ner grundsatzdebatte hat, darf in
diskussion wechseln.

--Vector--, heute mal Topics beendend.

-----------------------------------------------------------------------------



Re^23: Funakoshi... (Jimdigriz, 14. Mar 2006, 09:23:03):
~#! rn=Vector rt=1142297329 rg=gilden.karate
~#! tid=1142026299

> ...fuer mich zentralen Frage "was bringen generische Meldungen von NPCs
> auf Kanaelen der Stimmung und dem MUD" 


Auf diese Frage kann es nur subjektive Antworten geben, dem einen
gefaellts und sie bringen was, den anderen aergerts.

2 Moeglichkeiten damit umzugehen:
a) Der der die Macht hat (also der Gildenmagier) entscheidet nach
   seinem ermessen.
b) Wir machen eine schoene demokratische Abstimmung.

Ich wage zu behaupten, in keinem Fall wuerde die Abschaffung solcher
Meldungen das Ergebnis sein (gut Option a) ist ja im Prinzip schon
durchgefuehrt worden).

> Wieso aergert mich das Berauschen durch NPCs auf Kanaelen? Kanaele sind IMHO
> fuer Spieler da. [...] foerdert das ... die redundante Textmenge an einer 
> Stelle, die dafuer IMHO nicht gedacht war [...].

Du sagst ja eh schon 'IMHO', offensichtlich sehen das andere
Leute anders und es wurden Entscheidungen getroffen. Es ist nicht
erforderlich alle zu ueberzeugen. Auch mit fortwaehrendem insistieren
auf Deinem Standpunkt wird sich diese Situation nicht aendern.

Das war uebrigens der Hauptgrund meines letztens Kapitels,
dieses elendige, sinnlose drauf rumgereite....

-----------------------------------------------------------------------------



Re^22: Funakoshi... (Muadib, 14. Mar 2006, 09:38:22):
~#! rn=Gloinson rt=1142294273 rg=gilden.karate
~#! tid=1142026299
oh humni wird sicher dankbar weitere anregungen fuer sprueche entgegennehmen
ist die anzahl der sprueche das einzige was dich noch quaelt?

-----------------------------------------------------------------------------



Re^22: Funakoshi... (Muadib, 14. Mar 2006, 09:47:12):
~#! rn=Gloinson rt=1142295686 rg=gilden.karate
~#! tid=1142026299
es ist ein gildenkanal
zum nutzen der gilde
funakoshi ist chef der gilde
er kann sie also benutzen
das ist meine bereits geaeusserte meinung und damit ist ein abtun durchaus
nicht gegeben

eine ausgabe in vier stunden als rauschen zu bezeichnen ist imho eine masslose
uebertreibung
die kommunikation unter spielern wird dadurch wohl kaum eingeschraenkt
ich traue dir auch durchaus zu funakoshi von spielern unterscheiden zu koennen
und somit die information geistig auszufiltern
kannst du das nicht, so kann auch der npc ignoriert werden
deine persoenliche wahrnehmung des kanals ist also weiterhin valide

polemik sehe ich in der bezeichnung der aeusserungen als gildenfeeling
verwaessernde belaestigung eines laberdegenerierten npcs
ein prima motivationsschub fuer humni, der die gilde in letzter zeit mit viel
muehe aufzupolieren versucht (schadensstypen, keine volle konzentration, und
was weiss ich nicht alles) und eine sehr angenehme art der kritik
danke

mich wundert, dass humni den kram nicht hinschmeisst
verstehen wuerd ich es

-----------------------------------------------------------------------------



Re^23: Funakoshi... (Boing, 14. Mar 2006, 10:06:29):
~#! rn=Muadib rt=1142326032 rg=gilden.karate
~#! tid=1142026299
Wenn man wegen so Lappalien alles hinwerfen wuerde, haette man es nicht
zum EM gebracht ... :)
  Boing

-----------------------------------------------------------------------------



Re^23: Funakoshi... (Gloinson, 14. Mar 2006, 10:07:13):
~#! rn=Muadib rt=1142325502 rg=gilden.karate
~#! tid=1142026299
Ich hoffe doch, dass Humni zwischen polemikinspirierter Polemik und dem Kern
der Kritik zu unterscheiden vermag. Filtern war ja eines der Subthemen um das
es hier ging.


-----------------------------------------------------------------------------



Re^24: Funakoshi... (Muadib, 14. Mar 2006, 10:34:09):
~#! rn=Boing rt=1142327189 rg=gilden.karate
~#! tid=1142026299
nein da hast du recht, aber man wuerde sich als em vielleicht durch derlei
lappalien motiviert fuehlen sich ausschliesslich auf die taetigkeit als em zu
beschraenken

-----------------------------------------------------------------------------



Re^13: Funakoshi... (Ark, 14. Mar 2006, 20:35:51):
~#! rn=Muadib rt=1142291823 rg=gilden.karate
~#! tid=1142026299
Oui. 8-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^23: Funakoshi... (Thetis, 15. Mar 2006, 04:06:19):
~#! rn=Muadib rt=1142326032 rg=gilden.karate
~#! tid=1142026299
> polemik sehe ich in der bezeichnung der aeusserungen als
> gildenfeeling verwaessernde belaestigung eines
> laberdegenerierten npcs ein prima motivationsschub
> fuer humni, der die gilde in letzter zeit mit viel
> muehe aufzupolieren versucht

Hae?

-----------------------------------------------------------------------------



Re: Re: Noch so eine Idee... (Karolus,  3. Apr 2006, 16:54:19):
~#! rn=Ark rt=1140860464 rg=gilden.karate
~#! tid=1140856531
achja was mir grad auffaellt....


unser Gildenoberhaupt (Funakoshi) ist immernoch saudoof...:) er weiss z.b. nix
ueber Stufen oder Gilden ... ausserdem steht z.b. nix ueber "daempfung" in der
Hilfeseite... ich will gar nicht wissen was ich noch alles nicht weiss was es
alles gibt bei den Karateka mittlerweile :)


-----------------------------------------------------------------------------



Re^3: Noch so eine Idee... (Humni,  3. Apr 2006, 16:58:51):
~#! rn=Karolus rt=1144076059 rg=gilden.karate
~#! tid=1140856531
???

hilfe daempfung 

bei mir geht das


???

Humni

-----------------------------------------------------------------------------



Re^4: Noch so eine Idee... (Humni,  3. Apr 2006, 17:38:25):
~#! rn=Humni rt=1144076331 rg=gilden.karate
~#! tid=1140856531
Ich wurde gerade drauf hingewiesen. Auf hilfe karate gibt es nun auch einen
Hinweis auf hilfe daempfung. Danke fuer den Hinweis.

Humni
PS: Fuer weitere Aenderungen, die mir gerade per tm angetragen wurden, muss
ich leider erstmal wieder den Vertroeste-Modus einschalten.

-----------------------------------------------------------------------------



Re^5: Noch so eine Idee... (Muadib,  3. Apr 2006, 19:11:50):
~#! rn=Humni rt=1144078705 rg=gilden.karate
~#! tid=1140856531
und wie kommt man auf daempfung?

-----------------------------------------------------------------------------



Re^3: Noch so eine Idee... (Karolus,  5. Apr 2006, 17:13:26):
~#! rn=Karolus rt=1144076059 rg=gilden.karate
~#! tid=1140856531
*g*

schoen, danke jetzt steht zumindest etwas mehr in der "Hilfe". Dies aendert
jedoch nichts an der Tatsache, dass ich der Meinung bin, dass unser
Gildenoberhaupt mal ein kleines "Update" erfahren koennte :)

Waere wirklich schoen ... vielleicht gibt es ja ein logfile aller Fragen die
FUna so gestellt bekommt...


LG Sharia aehm Karolus


-----------------------------------------------------------------------------



Re^4: Noch so eine Idee... (Humni,  5. Apr 2006, 17:23:03):
~#! rn=Karolus rt=1144250006 rg=gilden.karate
~#! tid=1140856531
Er weiss schon mehr als frueher! Wirklich!

Humni

-----------------------------------------------------------------------------



Re^5: Noch so eine Idee... (Humni,  5. Apr 2006, 18:05:59):
~#! rn=Humni rt=1144250583 rg=gilden.karate
~#! tid=1140856531
So. Funakoshi loggt jetzt Eure Infos mit, die er nicht kennt. Ich vertroeste
dann mal darauf, dass ich eventuell irgendwann mal sinnvolle solche einbauen
tun koennte, wenn ich das nicht gerade wieder verschleppe.

Humni

-----------------------------------------------------------------------------



Re^24: Funakoshi... (Anatol,  1. Jun 2006, 21:48:37):
~#! rn=Thetis rt=1142391979 rg=gilden.karate
~#! tid=1142026299
Wo genau ist eigentlich jetzt das Problem? Bei der offensichtlichen
Lernresistenz einiger Karateka der vergangenen Monde hat der arme
Funakoshi doch gar keine Wahl als wiederholen, wiederholen, wieder-
holen... vielleicht klappt es mit der Fuehrung des Geistes dann ja
doch.

scnr ;) - ich verleg's ja schon
Anatol

-----------------------------------------------------------------------------



schaetzen... (Humni, 16. Aug 2006, 21:15:01):
Huhu,

das Einschaetzen von Gegnern erlernt man nun erst wirklich mit dem 1. Kyu, wie
auch in der Hilfe angegeben. Was da schief gelaufen ist weiss ich nicht. Da
ich faul bin duerfen alle, die das schon gelernt haben, nun auch behalten,
seht das als "Altspielerbonus". Da koennt ihr noch in 5 Jahren den Neuspielern
von erzaehlen, frueher war alles besser und so...
Humni

-----------------------------------------------------------------------------



Verbesserungsvorschlaege (Zamomin, 12. Dez 2012, 17:18:39):
Moin Moin! Es ist doch sehr still um die armen Karateka,aber ich habe eine
eigendlich gute Idee sie etwas aufzuwerten (nicht in ihrer Kampfkraft). Ich
habe mir Folgendes gedacht: Und zwar fand ich es als Karateka manchmal sehr
befremdlich warum ich bei manchen Gegner gut bin, und bei anderen nicht... ihr
wisst es wahrscheinlich: Es geht um die Groesse relativ zum Charakter. Ich
faende es sehr cool, wenn eine Faehigkeit eingefuehrt wuerde, mit der man die
Groesse des Gegners abschaetzen koennte (entweder genau in cm oder relativ
(gleich gro, etwas kleiner, kleiner, deutlich kleiner...) das reicht ja
schonmal fuer den Anfang um ungefaehr zu wissen wo man hinschlagen kann und wo
nicht... mit besserem Schuelergrad kann das ja noch ergaenzt werden mit (immer
genaueren) Angaben in welche Bereiche geschlagen werden kann und mit welchen
Techniken (die man kann). Nooooch spaeter kann das ja dann auch dazu fuehren,
das man abschaetzen kann in welchen Bereichen der Gegner die schlechteste
Ruestung hat... Noch eine Kleinigkeit: Es waere schoen wenn es eine
Tafel/Liste/hilfe fuer die sachen, die man Funakoshi fragen kann, gaebe.. ist
doch nicht ganz trivial das rauszufinden... Jo mehr faellt mir gerade nicht
ein

-----------------------------------------------------------------------------



Re: Verbesserungsvorschlaege (Humni, 12. Dez 2012, 22:09:17):
~#! rn=Zamomin rt=1355329119 rg=gilden.karate
~#! tid=1355329119
Hi Zamomin,

richtige und wichtige Punkte sowie gute Ideen, die Du da hast. Danke schoen!
Ich hoffe, ich kann demnaechst mal was davon umsetzen. (Ich staune aber
gerade, dass Du nicht mehr Kampfkraft willst. Sowas ;-) )

Ich verspreche uebrigens nicht, alles umzusetzen (da muss ich auch ueber ein
paar Dinge nochmal nachdenken), aber die Ideen sind notiert.

Gruesse
Humni

-----------------------------------------------------------------------------



Re: Verbesserungsvorschlaege (Khidar, 15. Dez 2012, 02:17:42):
~#! rn=Zamomin rt=1355329119 rg=gilden.karate
~#! tid=1355329119
Gibts, zumindest fuer hoehere Karateka:

schaetz waechter
Der Gardewaechter ist ungefaehr 208 cm gross.
usw.

Khidar.

-----------------------------------------------------------------------------



Re: Re: Verbesserungsvorschlaege (Croft, 15. Dez 2012, 08:42:53):
~#! rn=Khidar rt=1355534262 rg=gilden.karate
~#! tid=1355329119
Ab dem 1. Kyu.  Die Hilfeseite dazu ist wohl etwas schlecht verlinkt.

Croft

-----------------------------------------------------------------------------



Re: Re: Verbesserungsvorschlaege (Zamomin, 15. Dez 2012, 10:42:24):
~#! rn=Khidar rt=1355534262 rg=gilden.karate
~#! tid=1355329119
Hmm das ist mir noch nieeeee untergekommen! Und irgendwie witzlos, wenn man
schon lange dabei ist (und das nehme ich bei hoeheren Gildenstufen, vor allem
bei Karate, einfach mal an), hat man das Gespuer schon fuer die meissten
gegner, die faehigkeit ist wichtig am anfang, und nun wirklich keine krasse
Aufwertung der kampfkraft
 
Ja ich hab hier das gefuehl gejammer ueber: "Meine Gilde ist ja so schwach"
wird hier nicht so gerne gesehen, kann ja zu den Trives wechseln sollte ich
mal Macht haben wollen :D.
 
Generell ist Karate ja eine der aeltesten Gilden ueberhaupt (nach der
Abenteuergilde), und enstprechend eingerostet ist alles. Ein paar sachen
wurden die Gilde doch deutlich aufwerten, ohne sie staerker zu machen :D
Eventuelle rechtschreibfehler und fehlende Woerter sollte man sich nun
denken.. da ich den Texteditor immer noch am verstehen bin
 
 
 
Zamomin

-----------------------------------------------------------------------------



Re^3: Verbesserungsvorschlaege (Humni, 15. Dez 2012, 10:52:21):
~#! rn=Zamomin rt=1355564544 rg=gilden.karate
~#! tid=1355329119
Och, als Balance kann ich nur sagen: Wenn die Karate an ein oder zwei Stellen
ein paar Punkte mehr bekommt, bringt das das MG nicht aus dem Gefuege. Wobei
ich das am liebsten ueber neue, interessante Ruestungen mit anderen
Schadensarten mache ;-)

Ich denk aber auch ueber ein Runtersetzen der Einschaetzung nach.

Humni

-----------------------------------------------------------------------------



Oefter mal was Neues... (Humni,  1. Apr 2014, 21:06:15):
Sayonara,

nach einiger Ueberlegung habe ich festgestellt, dass wir ein neues Feature
brauchen koennen. Die Karategilde ist an einigen Stellen doch ein wenig
beschraenkt. Nachdem ich seit Jahren ueberlege, wie man Katas sinnvoll
einsetzen kann, mir aber keine wirklich gute Idee kommt (ausser Kombinationen,
die den Katas entlehnt sind), habe ich mich ein wenig von Jackie Chan
inspirieren lassen.

Sprich: Ab sofort gibt es das "Drunken Master"-Feature.

Ja, ich weiss, das ist eigentlich Kung-Fu. Aber ab sofort koennt ihr den
betrunkenen Kampf erlernen. Ihr muesst nur Funakoshi nach "drunken master"
fragen, dann lernt ihr den Skill automatisch (je nach Gilden/Spielerlevel).
Ihr bekommt auch genau so die Info, wie gut Euer Skill gerade ist.

Da ihr ja schon recht lange gespielt habt, vor allem auf hoeheren Leveln, wird
dieses Feature evtl. schon hoch anfangen (das kann ueber 50% sein - sollte
aber die 60% nicht ueberschreiten, meldet Euch bitte sonst, das ist ein Bug).

Viel Spass beim betrunkenen Kaempfen.

Humni

-----------------------------------------------------------------------------



Daempfung und Workaround (Humni, 10. Aug 2016, 20:20:01):
Hallo Karatekas,

ich bin einem mysterioesen Fehler im Raum-Zeit-Karate-Gefuege auf der Spur.
Ich habe ihn noch nicht lokalisiert. Aber, wer keine Daempfung mehr kann, kann
sie nun neu lernen.

Das Zauberwort heisst erneut "daempfungslernen". In der Gilde.

Humni

-----------------------------------------------------------------------------



Re: Daempfung und Workaround (Humni, 10. Aug 2016, 20:25:22):
~#! rn=Humni rt=1470853201 rg=gilden.karate
~#! tid=1470853201
Der Bug scheint gefunden. Danke an Zesstra.

Das aendert aber nichts daran, dass ihr evtl. noch einmal "daempfungslernen"
eingeben muesst.

Sollte das danach dann irgendwann nicht mehr gehen, bitte ich um Meldung.

Danke,
Humni

-----------------------------------------------------------------------------



Fernwestwanderung? (Humni,  9. Apr 2019, 22:25:13):
Hallo ihr,

die Karategilde ist so ziemlich die Abgelegenste im ganzen Spiel. Fuer Seher
ist das kein Problem, aber kleine Bierschuettler haben z.B. einen
fliesse-Spell. Mir kam die Idee, den Karatekas auch sowas zu spendieren. Nun
meine Fragen, an die Juenger des wahren Karate-Do ...

1. Was haltet ihr davon? Gehoert fuer euch der entfernte Standort zum Flair
der Gilde, oder sagt ihr, das ist nur nervig?
2. Habt ihr eine stimmungsvolle Idee fuer die Umsetzung? Kann mir auch selbst
was einfallen lassen, aber vielleicht habt ihr ja bessere Ideen als ich.
3. Anstelle eines beliebigen Herumspringens waere auch eine Zeitverzoegerung
denkbar ("geht nur alle Viertelstunde zweimal", damit man einmal hin und
zurueck kann und seine Faehigkeiten abfragen oder so). Waere das was, oder
wuerdet ihr denken, nee, das ist Unfug?

Humni

-----------------------------------------------------------------------------



Re: Fernwestwanderung? (Amaryllis, 10. Apr 2019, 02:55:11):
~#! rn=Humni rt=1554841513 rg=gilden.karate
~#! tid=1554841513
Reicht P18 nicht? ;)

Ama*

-----------------------------------------------------------------------------



. (Elkantar, 10. Apr 2019, 10:56:27):
Hallo! Du fragtest, ob P 18 nicht reicht. Da sind wir bei dem, was Humni
meinte. Fuer Seher, kein ding. aber fuer kleinere wohl nicht nutzbar.
Viele gruesse
Elkantar.

-----------------------------------------------------------------------------



Re: . (Chagall, 10. Apr 2019, 11:22:23):
~#! rn=Elkantar rt=1554886587 rg=gilden.karate
~#! tid=1554886587
Sollen die doch einfach den Fussweg nach Fernwest nehmen, aber bitte nicht
dabei falsch abbiegen, sonst landet man komischerweise tief im Dschungel.

MC

-----------------------------------------------------------------------------



Re: Fernwestwanderung? (Ark, 10. Apr 2019, 11:29:30):
~#! rn=Humni rt=1554841513 rg=gilden.karate
~#! tid=1554841513
Also mich hat der entweder nicht groesser gestoert, oder ich war halt eh
dauernd in Fernwest ueben. Kann sein, dass heutige Generationen als stoerend
empfinden, weil es nicht in 100s vorwaerts geht. Allerdings ist Besinnung und
Ruhe ("in sich selbst"?) Teil der Lehren ... mehr muss man zum Widerspruch des
Vorhabens vs. "Realitaet" nicht sagen :-)
Da ich aber momentan eh nicht spiele und als Oberkopferter mehr zum
Theoretiker gehoere, halte ich mich da raus. Und als Seher braucht man sowas
dann eh nicht mehr.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Re: Fernwestwanderung? (Mundron, 10. Apr 2019, 14:16:55):
~#! rn=Ark rt=1554888570 rg=gilden.karate
~#! tid=1554841513
Ich habe zwar kein Karateka, aber ich begruesse die Idee. Wenn ich an
Werwoelfe und Bierschuettler denke, dann haben diese ja Spells um zu ihrere
Gilde zu gelangen. Selbstverstaendlich muessen diese natuerlich auch geuebt
werden, so dass man anfangs auch nicht immer schnell ans Ziel kommt. Aber
gerade Neuspieler, wovon viele laenger bis zum Sehertum brauchen als ein X-tie
von Spieler die seit Jahren dabei sind, waere das ein Punkt, der die Gilde
attraktiver macht. 
Zur genaueren Umsetzung habe ich allerdings keine Vorschlaege, ausser dass es
wegen der Entfernung sicher angemessen ist, wenn der Spell vielleicht 10
Sekunden braucht, bis der Karateka von Wald nach Fernwest rennt. Und so ein
Sprint staerkt den Koerper :)

-----------------------------------------------------------------------------



Re^3: Fernwestwanderung? (Croft, 10. Apr 2019, 18:24:03):
~#! rn=Mundron rt=1554898615 rg=gilden.karate
~#! tid=1554841513
Der Fussweg durch Fernwest war mir mit meiner kleinen Karateka ausreichend.
In die eine Richtung hat es keine Blocker und in die andere Richtung muss
man sich nur mit den Blockern zu helfen wissen und etwas kontraintuitiv
mit einer Waffe kaempfen.  Evtl hier ein weiteres stimmiges Hilfsmittel
anschliessen?

Croft

-----------------------------------------------------------------------------



Re^4: Fernwestwanderung? (Gloinson, 10. Apr 2019, 18:34:55):
~#! rn=Croft rt=1554913443 rg=gilden.karate
~#! tid=1554841513
Hmja. Level, Erfahrung. Fuer mich hat der Fussweg gereicht, einfach zu finden
ist der aber nicht fuer absolute Anfaenger.


-----------------------------------------------------------------------------



Re^5: Fernwestwanderung? (Saray, 10. Apr 2019, 19:52:18):
~#! rn=Gloinson rt=1554914095 rg=gilden.karate
~#! tid=1554841513
Den Fussweg sehe ich auch nicht als sonderlich tolle Alternative fuer
Kleinstspieler.
Vielleicht koennte die Karawane ja eine magisch beschleunigte Schnellreise
vollziehen,
die natuerlich nur von Karateka nutzbar ist?
Vonwegen, man treibt den Ochsen mit leichten Karatetrittchen an oder so was.
Das koennte man dann auch als Spell verpacken :).

Saray

-----------------------------------------------------------------------------



Re^3: Fernwestwanderung? (Ark, 10. Apr 2019, 22:16:49):
~#! rn=Mundron rt=1554898615 rg=gilden.karate
~#! tid=1554841513
In der Ruhe liegt die Kraft. Karateka sind doch keine Langstreckenlaeufer, wo
bleibt die Spiritualitaet? :-)
Eigentlich passt das geruhsame Reisen mit der Karawane, Eile hin oder her
*Meinung*


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^4: Fernwestwanderung? (Gloinson, 10. Apr 2019, 23:59:48):
~#! rn=Ark rt=1554927409 rg=gilden.karate
~#! tid=1554841513
Ich erinner mich vage, dass die Kosten und der ab und an auftauchende Bakemono
ab einem bestimmten Punkt recht nervig waren.


-----------------------------------------------------------------------------



Re^5: Fernwestwanderung? (Ark, 11. Apr 2019, 00:04:51):
~#! rn=Gloinson rt=1554933588 rg=gilden.karate
~#! tid=1554841513
Ja, hat was mit der Deutschen Bahn gemein :-D


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^4: Fernwestwanderung? (Zesstra, 11. Apr 2019, 09:28:11):
~#! rn=Ark rt=1554927409 rg=gilden.karate
~#! tid=1554841513
Die Karawane muesste man IMHO dann viel schneller machen und dann fuehlt die
sich nicht mehr als Karawane an, find ich. Vielleicht koennte man ja die
Karawanenzeit einfach "sinnvoll" als Karateka nutzen... ;-) Also, so eine
Karawane ist ja - eigentlich - tagelang unterwegs. In der Zeit kann so ein
Student der Kuenste ja viel ueben und meditieren und so. Vielleicht koennte
man die Karawane als so eine Art mobilen Uebungsraum betrachten, wo man (in
nem gewissen Umfang) seine Faehigkeit schneller verbessert als anderswo.
Kombiniert mit stimmungsvollen Reisesequenzen fuer Karateka, die das nutzen...

Zesstra

-----------------------------------------------------------------------------



Re^5: Fernwestwanderung? (Laiuati, 11. Apr 2019, 12:13:50):
~#! rn=Zesstra rt=1554967691 rg=gilden.karate
~#! tid=1554841513
Hallo zusammen,
irgendwie gefaellt mir die Idee von Zesstra.
Natuerlich duerften bei einem Ueberfall die kleinen Spieler nicht angegriffen
werden,
koennte ja sein, dass diese Kerle doch einen rest von Ehre haben oder so.
Und so ein schaukelnder Ochsenkarren gibt ja auch genuegend Gelegenheit,
das Gleichgewicht und die Konzentration auf das Wesentliche zu schulen.
Laiuati

-----------------------------------------------------------------------------



Re^6: Fernwestwanderung? (Mundron, 11. Apr 2019, 13:25:54):
~#! rn=Laiuati rt=1554977630 rg=gilden.karate
~#! tid=1554841513
ja, Zesstras Vorschlag finde ich auch gut, da man die Zeit so effektiv nutzen
kann.

-----------------------------------------------------------------------------



Re^5: Fernwestwanderung? (Ark, 11. Apr 2019, 15:54:31):
~#! rn=Zesstra rt=1554967691 rg=gilden.karate
~#! tid=1554841513
Hm, wenn man waehrend der Reise Geschicklichkeitsuebungen unter Anweisung
eines erfahrenen Mitpassagiers absolvieren kann, koennte man dadurch auch
einen zeitlich begrenzten Geschicklichkeitsbonus erhalten, was weiss ich,
einen halben Tag oder so, und auch nur einer pro Spieler pro Tag (-> Balance).


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^6: Fernwestwanderung? (Ark, 11. Apr 2019, 15:57:03):
~#! rn=Ark rt=1554990871 rg=gilden.karate
~#! tid=1554841513
Bsp. pro Haltestation: Einbeinig im wackelnden Wagen stehen (links, links,
rechts, links, rechts ausbalancieren), Ei auf dem Kopf balancieren, Handstand,
was weiss ich :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^7: Fernwestwanderung? (Regonna, 11. Apr 2019, 17:28:43):
~#! rn=Ark rt=1554991023 rg=gilden.karate
~#! tid=1554841513
Das klingt im Prinzip vernuenftig, aber nur ein Spieler pro Tag ist ein
bisschen unfair, weil dann alle versuchen, um 0:00 Uhr diesen Bonus
abzugreifen, weil sie sonst keine Chance mehr haben. Vielleicht jeder Spieler
unabhaengig von den anderen alle 3 oder 4 Tage fuer eine komplette Reiseroute.
Und dann auch nur, wenn kein anderer auf dem Wagen hockt.
Da gibt es sicher viele Varianten.

-----------------------------------------------------------------------------



Re^8: Fernwestwanderung? (Ark, 11. Apr 2019, 17:33:15):
~#! rn=Regonna rt=1554996523 rg=gilden.karate
~#! tid=1554841513
Das sind nur spontane Werte, es geht ja um das Grundsaetzliche, Werte sind
dann schnell abgeaendert.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



